@overmap-ai/core 1.0.80 → 1.0.81-fix-model-reducers.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/overmap-core.js +1195 -1195
- package/dist/overmap-core.umd.cjs +3 -3
- package/package.json +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
(function(i,L){typeof exports=="object"&&typeof module<"u"?L(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("react"),require("fast-tree-builder"),require("ts-tree-lib"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("buffer"),require("@overmap-ai/forms"),require("idb"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","react","fast-tree-builder","ts-tree-lib","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","buffer","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],L):(i=typeof globalThis<"u"?globalThis:i||self,L(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.react,i.buildTree,i.tsTreeLib,i.reduxOffline,i.offlineConfig,i.localforage,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,L,l,It,ut,Tb,Ob,Ac,Pb,Ic,Fb,zR,DR,bb,_b,gb){"use strict";var BR=Object.defineProperty;var VR=(i,L,l)=>L in i?BR(i,L,{enumerable:!0,configurable:!0,writable:!0,value:l}):i[L]=l;var h=(i,L,l)=>VR(i,typeof L!="symbol"?L+"":L,l);var Ab;const Tc=Object.freeze([]),Oc=Object.freeze({}),Pc=6e4,Fc=["created_at","updated_at","index","revision"];var bc=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(bc||{}),o=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(o||{}),_c=(t=>(t[t.PLANNED=0]="PLANNED",t[t.ACTIVE=1]="ACTIVE",t[t.MAINTENANCE=2]="MAINTENANCE",t[t.INACTIVE=3]="INACTIVE",t[t.RETIRED=4]="RETIRED",t[t.DISPOSED=5]="DISPOSED",t))(_c||{}),$=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))($||{}),gc=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.PLANNED=1]="PLANNED",t[t.IN_PROGRESS=2]="IN_PROGRESS",t[t.COMPLETED=3]="COMPLETED",t[t.CANCELLED=4]="CANCELLED",t))(gc||{}),Mc=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))(Mc||{}),Rc=(t=>(t[t.ADD_ASSIGNEE=0]="ADD_ASSIGNEE",t[t.REMOVE_ASSIGNEE=2]="REMOVE_ASSIGNEE",t[t.ADD_REVIEWER=4]="ADD_REVIEWER",t[t.REMOVE_REVIEWER=6]="REMOVE_REVIEWER",t))(Rc||{}),wc=(t=>(t[t.APPROVED=0]="APPROVED",t[t.REJECTED=2]="REJECTED",t[t.CHANGES_REQUESTED=4]="CHANGES_REQUESTED",t))(wc||{});function P(t){return{addOne:(m,f)=>{const I=t(f.payload);m.instances[I]=f.payload},addMany:(m,f)=>{for(const I of f.payload){const _=t(I);m.instances[_]=I}},setOne:(m,f)=>{const I=t(f.payload);m.instances[I]=f.payload},setMany:(m,f)=>{for(const I of f.payload){const _=t(I);m.instances[_]=I}},updateOne:(m,f)=>{const I=t(f.payload);m.instances[I]=f.payload},updateMany:(m,f)=>{for(const I of f.payload){const _=t(I);m.instances[_]=I}},deleteOne:(m,f)=>{delete m.instances[f.payload]},deleteMany:(m,f)=>{for(const I of f.payload)delete m.instances[I]},initialize:(m,f)=>{m.instances={};const I=new Set;for(const _ of f.payload){const b=t(_);I.add(b),m.instances[b]=_}I.size!==f.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function Mb(t){return{initializeSelection:(d,p)=>{d[t]=Array.from(new Set(p.payload))},selectOne:(d,p)=>{console.debug(d,d[t]),!new Set(d[t]).has(p.payload)&&d[t].push(p.payload)},selectMany:(d,p)=>{const m=new Set(d[t]);for(const f of p.payload)m.has(f)||m.add(f);d[t]=Array.from(m)},unselectOne:(d,p)=>{const m=new Set(d[t]);m.has(p.payload)&&(m.delete(p.payload),d[t]=Array.from(m))},unselectMany:(d,p)=>{const m=new Set(d[t]);for(const f of p.payload)m.has(f)&&m.delete(f);d[t]=Array.from(m)},toggleOne:(d,p)=>{const m=new Set(d[t]);m.has(p.payload)?m.delete(p.payload):m.add(p.payload),d[t]=Array.from(m)},toggleMany:(d,p)=>{const m=new Set(d[t]);for(const f of p.payload)m.has(f)?m.delete(f):m.add(f);d[t]=Array.from(m)}}}const T=l.createAction("RESET"),V=l.createAction("RESET_PROJECT_STATE"),F=l.createAction("RESET_ORGANIZATION_STATE");function Rb(t,s){return Tb.useMemo(t,s)}Ab=Symbol.toStringTag;class os{constructor(){h(this,Ab,"Promise");h(this,"_promise");h(this,"_resolve");h(this,"_reject");h(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((s,e)=>{this._resolve=s,this._reject=e})}get state(){return this._state}then(s,e){return this._promise.then(s,e)}catch(s){return this._promise.catch(s)}resolve(s){if(!this._resolve)throw new Error("No resolve callback");this._resolve(s),this._state="fulfilled"}reject(s){if(!this._reject)throw s;this._reject(s),this._state="rejected"}finally(s){throw new Error("`finally` not implemented")}}let hs=!1;["true","1"].includes("".toLowerCase())&&(hs=!0);function wb(t,s){if(t===s)return!0;if(typeof t!=typeof s)return!1;const e=Object.keys(t),n=Object.keys(s),c=e.length;if(c!==n.length)return!1;for(let r=0;r<c;r++){const a=e[r];if(!Object.prototype.hasOwnProperty.call(s,a)||t[a]!==s[a])return!1}return!0}function ms(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(hs&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(hs&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function vb(t,s){if(t.length!==s.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==s[e])return!1;return!0}const S=t=>t.length===0?Tc:t,ps=t=>Object.keys(t).length===0?Oc:t,vc=ms(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===ys.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),Eb=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),Bb=1e3*86400,ys=new Date,Vb=t=>new Date(t).toDateString()===ys.toDateString(),zb=ms((t,s,e)=>{const n=Math.round((new Date(t).getTime()-ys.getTime())/Bb);return n<s||n>e?vc(t):Eb.format(n,"days")});function Db(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}function Ct(t){return new Promise((s,e)=>{const n=new FileReader;n.onload=()=>{const c=n.result;if(!c){e(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",c).then(r=>{const a=Db(r);s(a)})},n.readAsArrayBuffer(t)})}const jb=(t,s)=>`${t}${s?`.${s}`:""}`;function qb(t,s){return new File([t],s,{type:t.type})}function Ec(t){const s=t.name;return s.includes(".")?s.split(".").pop():""}const Bc=async t=>(await fetch(t)).blob(),Vc=async(t,s)=>{const e=await Bc(t);return new File([e],s,{type:e.type})};function zc(t){return typeof t=="string"&&t.startsWith("blob:")}function Dc(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function jc(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function qc(t){if(Dc(t)){const e=new URLSearchParams(t).get("Expires");if(!e)return null;const n=parseInt(e,10);return new Date(n*1e3)}if(jc(t)){const s=new URLSearchParams(t),e=s.get("X-Amz-Date"),n=s.get("X-Amz-Expires");if(!e||!n)return null;const c=new Date(e.replace(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/,"$1-$2-$3T$4:$5:$6Z")),r=parseInt(n);return new Date(c.getTime()+r*1e3)}return null}function Cc(t,s=30){const e=qc(t);if(!e)return!1;const n=Date.now(),c=e.getTime(),r=s*1e3;return n+r>=c}function Cb(t){return t.type.startsWith("image/")}const $c={};function $b(t,s,e,...n){const c=$c[t];let r=!1;c?c[s]||(c[s]=!0,r=!0):($c[t]={[s]:!0},r=!0),r&&console[e](...n)}function O(t){return{...t,uuid:ut.v4()}}function Ub(t){const s={};for(const e of t)s[e.uuid]=e;return s}function w(t){return t.map(({uuid:s})=>s)}function $t(t,s){return t.localeCompare(s)}function fs(t,s){return $t(t.uuid,s.uuid)}function Lb(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const r=t.split(".");r.length>1&&(s=r[r.length-1])}s&&!s.startsWith(".")&&(s="."+s);const c=s?s.length:0;return n.length+c>e&&(n=n.slice(0,e-c)+(s||"")),n}function kb(t){return t.toLowerCase().replace(" ","-")}function Nb(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function Gb(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const Hb=/^.+@.+\..+$/,Uc=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Lc=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,kc=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Nc=t=>Ob(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),Wb=t=>{const{roots:s}=Nc(t);return s.map(e=>new Ac.Tree(e))},Gc=(t,s)=>{const{nodes:e}=Nc(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new Ac.Tree(n)},Tt=(t,s)=>t.submitted_at===s.submitted_at?0:t.submitted_at<s.submitted_at?-1:1;class Kb{constructor(s){h(this,"operations",[]);h(this,"getData");this.getData=s}performOperations(s){let e=s;for(const n of this.operations)e=n(e);return e}filter(s,e){return this.operations.push(n=>n.filter(c=>c[s]===e)),this}exclude(s,e){return this.operations.push(n=>n.filter(c=>c[s]!==e)),this}orderBy(s){return this.operations.push(e=>e.toSorted((n,c)=>n[s]<=c[s]?1:-1)),this}reverse(){return this.operations.push(s=>s.toReversed()),this}all(){return this.operations.push(s=>s),this}get(s,e){return l.createSelector([this.getData],n=>this.performOperations(n).find(c=>c[s]===e))}count(){return l.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return l.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return l.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return l.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return l.createSelector([this.getData],s=>S(this.performOperations(s)))}}const y=t=>(...s)=>e=>t(e,...s),H=P(t=>t.uuid),Hc={instances:{}},Ss=l.createSlice({name:"agents",initialState:Hc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Hc)),reducers:{initializeConversations:H.initialize,addConversation:H.addOne,addConversations:H.addMany,setConversation:H.setOne,setConversations:H.setMany,updateConversation:H.updateOne,updateConversations:H.updateMany,deleteConversation:H.deleteOne,deleteConversations:H.deleteMany}}),{initializeConversations:Wc,addConversation:Kc,addConversations:Yb,setConversation:Yc,setConversations:Zb,updateConversation:Zc,updateConversations:Jb,deleteConversation:Xb,deleteConversations:Qb}=Ss.actions,As=t=>t.agentsReducer.instances,xb=l.createSelector([As],t=>Object.values(t)),e_=y(l.createSelector([As,(t,s)=>s],(t,s)=>t[s])),Jc=Ss.reducer,W=P(t=>t.uuid),Xc={instances:{}},Is=l.createSlice({name:"assetAttachments",initialState:Xc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Xc)),reducers:{initializeAssetAttachments:W.initialize,addAssetAttachment:W.addOne,addAssetAttachments:W.addMany,setAssetAttachment:W.setOne,setAssetAttachments:W.setMany,updateAssetAttachment:W.updateOne,updateAssetAttachments:W.updateMany,deleteAssetAttachment:W.deleteOne,deleteAssetAttachments:W.deleteMany}}),{initializeAssetAttachments:Qc,addAssetAttachment:xc,addAssetAttachments:Ts,setAssetAttachment:ea,setAssetAttachments:ta,updateAssetAttachment:sa,updateAssetAttachments:ia,deleteAssetAttachment:na,deleteAssetAttachments:Os}=Is.actions,ca=t=>t.assetAttachmentReducer.instances,Ps=l.createSelector([ca],t=>Object.values(t)),aa=t=>s=>s.assetAttachmentReducer.instances[t],ra=y(l.createSelector([Ps,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),da=y(l.createSelector([Ps,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>s===e)))),ua=Is.reducer,K=P(t=>t.uuid),la={instances:{}},Fs=l.createSlice({name:"assetComments",initialState:la,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,la)),reducers:{initializeAssetComments:K.initialize,addAssetComment:K.addOne,addAssetComments:K.addMany,setAssetComment:K.setOne,setAssetComments:K.setMany,updateAssetComment:K.updateOne,updateAssetComments:K.updateMany,deleteAssetComment:K.deleteOne,deleteAssetComments:K.deleteMany}}),{initializeAssetComments:oa,addAssetComment:ha,addAssetComments:Ut,setAssetComment:ma,setAssetComments:pa,updateAssetComment:ya,updateAssetComments:fa,deleteAssetComment:Sa,deleteAssetComments:Lt}=Fs.actions,Aa=t=>t.assetCommentReducer.instances,kt=l.createSelector([Aa],t=>S(Object.values(t).toSorted(Tt))),Ia=t=>s=>s.assetCommentReducer.instances[t],Ta=y(l.createSelector([kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Oa=y(l.createSelector([kt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),Pa=y(l.createSelector([kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.asset)))})),Fa=Fs.reducer,Y=P(t=>t.uuid),ba={instances:{}},bs=l.createSlice({name:"assets",initialState:ba,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ba)),reducers:{initializeAssets:Y.initialize,addAsset:Y.addOne,addAssets:Y.addMany,setAsset:Y.setOne,setAssets:Y.setMany,updateAsset:Y.updateOne,updateAssets:Y.updateMany,deleteAsset:Y.deleteOne,deleteAssets:Y.deleteMany}}),{initializeAssets:_a,addAsset:ga,addAssets:_s,updateAsset:Ma,updateAssets:Ra,deleteAsset:wa,deleteAssets:gs,setAsset:va,setAssets:Ea}=bs.actions,Ba=t=>t.assetReducer.instances,Nt=l.createSelector([Ba],t=>S(Object.values(t))),t_=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>e===s)))),Va=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),za=t=>s=>s.assetReducer.instances[t],Da=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ja=bs.reducer,Z=P(t=>t.uuid),qa={instances:{}},Ms=l.createSlice({name:"assetTypeAttachments",initialState:qa,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,qa)),reducers:{initializeAssetTypeAttachments:Z.initialize,addAssetTypeAttachment:Z.addOne,addAssetTypeAttachments:Z.addMany,setAssetTypeAttachment:Z.setOne,setAssetTypeAttachments:Z.setMany,updateAssetTypeAttachment:Z.updateOne,updateAssetTypeAttachments:Z.updateMany,deleteAssetTypeAttachment:Z.deleteOne,deleteAssetTypeAttachments:Z.deleteMany}}),{initializeAssetTypeAttachments:Ca,addAssetTypeAttachment:$a,addAssetTypeAttachments:Rs,setAssetTypeAttachment:Ua,setAssetTypeAttachments:La,updateAssetTypeAttachment:ka,updateAssetTypeAttachments:Na,deleteAssetTypeAttachment:Ga,deleteAssetTypeAttachments:ws}=Ms.actions,Ha=t=>t.assetTypeAttachmentReducer.instances,vs=l.createSelector([Ha],t=>Object.values(t)),Wa=t=>s=>s.assetTypeAttachmentReducer.instances[t],Ka=y(l.createSelector([vs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ya=y(l.createSelector([vs,(t,s)=>s],(t,s)=>S(t.filter(({asset_type:e})=>s===e)))),Za=Ms.reducer,J=P(t=>t.uuid),Ja={instances:{}},Es=l.createSlice({name:"assetTypeFieldsAttachments",initialState:Ja,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Ja)),reducers:{initializeAssetTypeFieldsAttachments:J.initialize,addAssetTypeFieldsAttachment:J.addOne,addAssetTypeFieldsAttachments:J.addMany,setAssetTypeFieldsAttachment:J.setOne,setAssetTypeFieldsAttachments:J.setMany,updateAssetTypeFieldsAttachment:J.updateOne,updateAssetTypeFieldsAttachments:J.updateMany,deleteAssetTypeFieldsAttachment:J.deleteOne,deleteAssetTypeFieldsAttachments:J.deleteMany}}),{initializeAssetTypeFieldsAttachments:Xa,addAssetTypeFieldsAttachment:Qa,addAssetTypeFieldsAttachments:xa,setAssetTypeFieldsAttachment:er,setAssetTypeFieldsAttachments:tr,updateAssetTypeFieldsAttachment:sr,updateAssetTypeFieldsAttachments:ir,deleteAssetTypeFieldsAttachment:nr,deleteAssetTypeFieldsAttachments:cr}=Es.actions,ar=t=>t.assetTypeFieldsAttachmentReducer.instances,Bs=l.createSelector([ar],t=>Object.values(t)),s_=y(l.createSelector([Bs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),rr=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],dr=y(l.createSelector([Bs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ur=Es.reducer,X=P(t=>t.uuid),lr={instances:{}},Vs=l.createSlice({name:"assetTypeFields",initialState:lr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,lr)),reducers:{initializeAssetTypeFields:X.initialize,addAssetTypeFields:X.addOne,addAssetTypeFieldsMany:X.addMany,setAssetTypeFields:X.setOne,setAssetTypeFieldsMany:X.setMany,updateAssetTypeFields:X.updateOne,updateAssetTypeFieldsMany:X.updateMany,deleteAssetTypeFields:X.deleteOne,deleteAssetTypeFieldsMany:X.deleteMany}}),{initializeAssetTypeFields:or,addAssetTypeFields:hr,addAssetTypeFieldsMany:mr,setAssetTypeFields:pr,setAssetTypeFieldsMany:yr,updateAssetTypeFields:fr,updateAssetTypeFieldsMany:Sr,deleteAssetTypeFields:Ar,deleteAssetTypeFieldsMany:Ir}=Vs.actions,Tr=t=>t.assetTypeFieldsReducer.instances,vt=l.createSelector([Tr],t=>Object.values(t)),i_=y(l.createSelector([vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),n_=y(l.createSelector([vt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).toSorted(Tt).pop())),Or=t=>s=>s.assetTypeFieldsReducer.instances[t],Pr=y(l.createSelector([vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Fr=Vs.reducer,Q=P(t=>t.uuid),br={instances:{}},zs=l.createSlice({name:"assetTypeFieldValuesAttachments",initialState:br,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,br)),reducers:{initializeAssetTypeFieldValuesAttachments:Q.initialize,addAssetTypeFieldValuesAttachment:Q.addOne,addAssetTypeFieldValuesAttachments:Q.addMany,setAssetTypeFieldValuesAttachment:Q.setOne,setAssetTypeFieldValuesAttachments:Q.setMany,updateAssetTypeFieldValuesAttachment:Q.updateOne,updateAssetTypeFieldValuesAttachments:Q.updateMany,deleteAssetTypeFieldValuesAttachment:Q.deleteOne,deleteAssetTypeFieldValuesAttachments:Q.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:_r,addAssetTypeFieldValuesAttachment:gr,addAssetTypeFieldValuesAttachments:Ds,setAssetTypeFieldValuesAttachment:Mr,setAssetTypeFieldValuesAttachments:Rr,updateAssetTypeFieldValuesAttachment:wr,updateAssetTypeFieldValuesAttachments:vr,deleteAssetTypeFieldValuesAttachment:Er,deleteAssetTypeFieldValuesAttachments:js}=zs.actions,Br=t=>t.assetTypeFieldValuesAttachmentReducer.instances,qs=l.createSelector([Br],t=>Object.values(t)),Vr=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],zr=y(l.createSelector([qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Dr=y(l.createSelector([qs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),jr=zs.reducer,x=P(t=>t.uuid),qr={instances:{}},Cs=l.createSlice({name:"assetTypeFieldValues",initialState:qr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,qr)),reducers:{initializeAssetTypeFieldValues:x.initialize,addAssetTypeFieldValues:x.addOne,addAssetTypeFieldValuesMany:x.addMany,setAssetTypeFieldValues:x.setOne,setAssetTypeFieldValuesMany:x.setMany,updateAssetTypeFieldValues:x.updateOne,updateAssetTypeFieldValuesMany:x.updateMany,deleteAssetTypeFieldValues:x.deleteOne,deleteAssetTypeFieldValuesMany:x.deleteMany}}),{initializeAssetTypeFieldValues:Cr,addAssetTypeFieldValues:$r,addAssetTypeFieldValuesMany:Ur,setAssetTypeFieldValues:Lr,setAssetTypeFieldValuesMany:kr,updateAssetTypeFieldValues:Nr,updateAssetTypeFieldValuesMany:Gr,deleteAssetTypeFieldValues:Hr,deleteAssetTypeFieldValuesMany:Wr}=Cs.actions,Kr=t=>t.assetTypeFieldValuesReducer.instances,Gt=l.createSelector([Kr],t=>Object.values(t)),c_=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),a_=y(l.createSelector([vt,Gt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(c=>c.asset_type===e).map(c=>c.uuid));return S(s.filter(c=>n.has(c.fields_revision)))})),Yr=t=>s=>s.assetTypeFieldValuesReducer.instances[t],Zr=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Jr=Cs.reducer,ee=P(t=>t.uuid),Xr={instances:{}},$s=l.createSlice({name:"assetTypeIdentifiers",initialState:Xr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Xr)),reducers:{initializeAssetTypeIdentifiers:ee.initialize,addAssetTypeIdentifier:ee.addOne,addAssetTypeIdentifiers:ee.addMany,setAssetTypeIdentifier:ee.setOne,setAssetTypeIdentifiers:ee.setMany,updateAssetTypeIdentifier:ee.updateOne,updateAssetTypeIdentifiers:ee.updateMany,deleteAssetTypeIdentifier:ee.deleteOne,deleteAssetTypeIdentifiers:ee.deleteMany}}),{initializeAssetTypeIdentifiers:Qr,addAssetTypeIdentifier:xr,addAssetTypeIdentifiers:ed,setAssetTypeIdentifier:td,setAssetTypeIdentifiers:sd,updateAssetTypeIdentifier:id,updateAssetTypeIdentifiers:nd,deleteAssetTypeIdentifier:cd,deleteAssetTypeIdentifiers:ad}=$s.actions,rd=t=>t.assetTypeIdentifierReducer.instances,Us=l.createSelector([rd],t=>Object.values(t)),dd=t=>s=>s.assetTypeIdentifierReducer.instances[t],ud=y(l.createSelector([Us,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),r_=y(l.createSelector([Us,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),ld=$s.reducer,te=P(t=>t.uuid),od={instances:{}},Ls=l.createSlice({name:"assetTypeIdentifierValues",initialState:od,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,od)),reducers:{initializeAssetTypeIdentifierValues:te.initialize,addAssetTypeIdentifierValue:te.addOne,addAssetTypeIdentifierValues:te.addMany,setAssetTypeIdentifierValue:te.setOne,setAssetTypeIdentifierValues:te.setMany,updateAssetTypeIdentifierValue:te.updateOne,updateAssetTypeIdentifierValues:te.updateMany,deleteAssetTypeIdentifierValue:te.deleteOne,deleteAssetTypeIdentifierValues:te.deleteMany}}),{initializeAssetTypeIdentifierValues:hd,addAssetTypeIdentifierValue:md,addAssetTypeIdentifierValues:pd,setAssetTypeIdentifierValue:yd,setAssetTypeIdentifierValues:fd,updateAssetTypeIdentifierValue:Sd,updateAssetTypeIdentifierValues:Ad,deleteAssetTypeIdentifierValue:Id,deleteAssetTypeIdentifierValues:Td}=Ls.actions,Od=t=>t.assetTypeIdentifierValueReducer.instances,Ht=l.createSelector([Od],t=>Object.values(t)),Pd=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],Fd=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),d_=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),u_=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type_identifier===s)))),bd=Ls.reducer,se=P(t=>t.uuid),_d={instances:{}},ks=l.createSlice({name:"assetTypes",initialState:_d,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,_d)),reducers:{initializeAssetTypes:se.initialize,setAssetType:se.setOne,setAssetTypes:se.setMany,addAssetType:se.addOne,addAssetTypes:se.addMany,updateAssetType:se.updateOne,updateAssetTypes:se.updateMany,deleteAssetType:se.deleteOne,deleteAssetTypes:se.deleteMany}}),{initializeAssetTypes:gd,setAssetType:Md,setAssetTypes:Rd,addAssetType:wd,addAssetTypes:vd,updateAssetType:Ed,updateAssetTypes:Bd,deleteAssetType:Vd,deleteAssetTypes:zd}=ks.actions,Dd=t=>t.assetTypeReducer.instances,Ns=l.createSelector([Dd],t=>Object.values(t)),jd=t=>s=>s.assetTypeReducer.instances[t],qd=y(l.createSelector([Ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),l_=y(l.createSelector([Ns,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Cd=ks.reducer,ie=P(t=>t.uuid),$d={instances:{}},Gs=l.createSlice({name:"assetTypeStatuses",initialState:$d,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,$d)),reducers:{initializeAssetTypeStatuses:ie.initialize,addAssetTypeStatus:ie.addOne,addAssetTypeStatuses:ie.addMany,setAssetTypeStatus:ie.setOne,setAssetTypeStatuses:ie.setMany,updateAssetTypeStatus:ie.updateOne,updateAssetTypeStatuses:ie.updateMany,deleteAssetTypeStatus:ie.deleteOne,deleteAssetTypeStatuses:ie.deleteMany}}),{initializeAssetTypeStatuses:Ud,addAssetTypeStatus:Ld,addAssetTypeStatuses:kd,setAssetTypeStatus:Nd,setAssetTypeStatuses:Gd,updateAssetTypeStatus:Hd,updateAssetTypeStatuses:Wd,deleteAssetTypeStatus:Kd,deleteAssetTypeStatuses:Yd}=Gs.actions,Zd=t=>t.assetTypeStatusReducer.instances,Hs=l.createSelector([Zd],t=>S(Object.values(t).toSorted(Uc))),Jd=t=>s=>s.assetTypeStatusReducer.instances[t],Xd=y(l.createSelector([Hs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),o_=y(l.createSelector([Hs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Qd=Gs.reducer,xd={accessToken:"",refreshToken:"",isLoggedIn:!1},Wt=l.createSlice({name:"auth",initialState:xd,extraReducers:t=>t.addCase(T,s=>Object.assign(s,xd)),reducers:{setTokens:(t,s)=>{t.accessToken=s.payload.accessToken,t.refreshToken=s.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,s)=>{s.payload||Wt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:h_,clearTokens:m_,setLoggedIn:eu}=Wt.actions,p_=t=>t.authReducer.accessToken,y_=t=>t.authReducer.isLoggedIn,tu=Wt.reducer,ne=P(t=>t.uuid),su={instances:{}},Ws=l.createSlice({name:"documentAttachments",initialState:su,extraReducers:t=>t.addCase(T,s=>Object.assign(s,su)),reducers:{initializeDocumentAttachments:ne.initialize,addDocumentAttachment:ne.addOne,addDocumentAttachments:ne.addMany,setDocumentAttachment:ne.setOne,setDocumentAttachments:ne.setMany,updateDocumentAttachment:ne.updateOne,updateDocumentAttachments:ne.updateMany,deleteDocumentAttachment:ne.deleteOne,deleteDocumentAttachments:ne.deleteMany}}),{initializeDocumentAttachments:iu,addDocumentAttachment:nu,addDocumentAttachments:cu,setDocumentAttachment:au,setDocumentAttachments:ru,updateDocumentAttachment:du,updateDocumentAttachments:uu,deleteDocumentAttachment:lu,deleteDocumentAttachments:ou}=Ws.actions,hu=t=>t.documentAttachmentReducer.instances,Ks=l.createSelector([hu],t=>Object.values(t)),mu=t=>s=>s.documentAttachmentReducer.instances[t],pu=y(l.createSelector([Ks,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),f_=y(l.createSelector([Ks,(t,s)=>s],(t,s)=>S(t.filter(({document:e})=>s===e)))),yu=Ws.reducer,ce=P(({uuid:t})=>t),fu={instances:{}},Ys=l.createSlice({name:"documents",initialState:fu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>{Object.assign(s,fu)}),reducers:{initializeDocuments:ce.initialize,addDocument:ce.addOne,addDocuments:ce.addMany,setDocument:ce.setOne,setDocuments:ce.setMany,updateDocument:ce.updateOne,updateDocuments:ce.updateMany,deleteDocument:ce.deleteOne,deleteDocuments:ce.deleteMany}}),{initializeDocuments:Su,addDocument:Au,addDocuments:Iu,setDocument:Tu,setDocuments:Ou,updateDocument:Pu,updateDocuments:Fu,deleteDocument:bu,deleteDocuments:_u}=Ys.actions,gu=Ys.reducer,Zs=t=>t.documentsReducer.instances,Kt=l.createSelector([Zs],t=>Object.values(t)),Mu=t=>s=>s.documentsReducer.instances[t],Ru=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),S_=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),A_=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),wu=y(l.createSelector([Zs,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const c=Gc(s,Object.values(t)).all().map(({model:r})=>r);return S(c)})),ae=P(t=>t.uuid),vu={instances:{}},Js=l.createSlice({name:"emailDomains",initialState:vu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,vu)),reducers:{initializeEmailDomains:ae.initialize,addEmailDomain:ae.addOne,addEmailDomains:ae.addMany,setEmailDomain:ae.setOne,setEmailDomains:ae.setMany,updateEmailDomain:ae.updateOne,updateEmailDomains:ae.updateMany,deleteEmailDomain:ae.deleteOne,deleteEmailDomains:ae.deleteMany}}),{initializeEmailDomains:Eu,addEmailDomain:Bu,addEmailDomains:Vu,setEmailDomain:zu,setEmailDomains:Du,updateEmailDomain:ju,updateEmailDomains:qu,deleteEmailDomain:Cu,deleteEmailDomains:$u}=Js.actions,Uu=t=>t.emailDomainsReducer.instances,Xs=l.createSelector([Uu],t=>Object.values(t)),Lu=t=>s=>s.emailDomainsReducer.instances[t],ku=y(l.createSelector([Xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),I_=y(l.createSelector([Xs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Nu=Js.reducer,re=P(t=>t.uuid),Gu={instances:{}},Qs=l.createSlice({name:"formIdentifiers",initialState:Gu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Gu)),reducers:{initializeFormIdentifiers:re.initialize,addFormIdentifier:re.addOne,addFormIdentifiers:re.addMany,setFormIdentifier:re.setOne,setFormIdentifiers:re.setMany,updateFormIdentifier:re.updateOne,updateFormIdentifiers:re.updateMany,deleteFormIdentifier:re.deleteOne,deleteFormIdentifiers:re.deleteMany}}),{initializeFormIdentifiers:Hu,addFormIdentifier:Wu,addFormIdentifiers:Ku,setFormIdentifier:Yu,setFormIdentifiers:Zu,updateFormIdentifier:Ju,updateFormIdentifiers:Xu,deleteFormIdentifier:Qu,deleteFormIdentifiers:xu}=Qs.actions,el=t=>t.formIdentifierReducer.instances,xs=l.createSelector([el],t=>Object.values(t)),tl=t=>s=>s.formIdentifierReducer.instances[t],sl=y(l.createSelector([xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),T_=y(l.createSelector([xs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),il=Qs.reducer,de=P(t=>t.uuid),nl={instances:{}},ei=l.createSlice({name:"formIdentifierValues",initialState:nl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,nl)),reducers:{initializeFormIdentifierValues:de.initialize,addFormIdentifierValue:de.addOne,addFormIdentifierValues:de.addMany,setFormIdentifierValue:de.setOne,setFormIdentifierValues:de.setMany,updateFormIdentifierValue:de.updateOne,updateFormIdentifierValues:de.updateMany,deleteFormIdentifierValue:de.deleteOne,deleteFormIdentifierValues:de.deleteMany}}),{initializeFormIdentifierValues:cl,addFormIdentifierValue:al,addFormIdentifierValues:rl,setFormIdentifierValue:dl,setFormIdentifierValues:ul,updateFormIdentifierValue:ll,updateFormIdentifierValues:ol,deleteFormIdentifierValue:hl,deleteFormIdentifierValues:ml}=ei.actions,pl=t=>t.formIdentifierValueReducer.instances,Yt=l.createSelector([pl],t=>Object.values(t)),yl=t=>s=>s.formIdentifierValueReducer.instances[t],fl=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),O_=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),P_=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_identifier===s)))),Sl=ei.reducer,ue=P(t=>t.uuid),Al={instances:{}},ti=l.createSlice({name:"formRevisionAttachments",initialState:Al,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Al)),reducers:{initializeFormRevisionAttachments:ue.initialize,addFormRevisionAttachment:ue.addOne,addFormRevisionAttachments:ue.addMany,setFormRevisionAttachment:ue.setOne,setFormRevisionAttachments:ue.setMany,updateFormRevisionAttachment:ue.updateOne,updateFormRevisionAttachments:ue.updateMany,deleteFormRevisionAttachment:ue.deleteOne,deleteFormRevisionAttachments:ue.deleteMany}}),{initializeFormRevisionAttachments:Il,addFormRevisionAttachment:Tl,addFormRevisionAttachments:Ol,setFormRevisionAttachment:Pl,setFormRevisionAttachments:Fl,updateFormRevisionAttachment:bl,updateFormRevisionAttachments:_l,deleteFormRevisionAttachment:gl,deleteFormRevisionAttachments:Ml}=ti.actions,Zt=t=>t.formRevisionAttachmentReducer.instances,Rl=l.createSelector([Zt],t=>Object.values(t)),wl=y(l.createSelector([Zt,(t,s)=>s],(t,s)=>t[s])),vl=y(l.createSelector([Rl,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),F_=y(l.createSelector([Zt,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.form_revision===s)))),El=ti.reducer,le=P(t=>t.uuid),Bl={instances:{}},si=l.createSlice({name:"formRevisions",initialState:Bl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Bl)),reducers:{initializeFormRevisions:le.initialize,addFormRevision:le.addOne,addFormRevisions:le.addMany,setFormRevision:le.setOne,setFormRevisions:le.setMany,updateFormRevision:le.updateOne,updateFormRevisions:le.updateMany,deleteFormRevision:le.deleteOne,deleteFormRevisions:le.deleteMany}}),{initializeFormRevisions:Vl,addFormRevision:zl,addFormRevisions:ii,setFormRevision:Dl,setFormRevisions:jl,updateFormRevision:ql,updateFormRevisions:Cl,deleteFormRevision:$l,deleteFormRevisions:ni}=si.actions,Ul=t=>t.formRevisionReducer.instances,Jt=l.createSelector([Ul],t=>Object.values(t)),Ll=t=>s=>s.formRevisionReducer.instances[t],kl=y(l.createSelector([Jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),b_=y(l.createSelector([Jt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).toSorted(Tt).pop())),Nl=y(l.createSelector([Jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),Gl=si.reducer,oe=P(t=>t.uuid),Hl={instances:{}},ci=l.createSlice({name:"formSubscribers",initialState:Hl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Hl)),reducers:{initializeFormSubscribers:oe.initialize,addFormSubscriber:oe.addOne,addFormSubscribers:oe.addMany,setFormSubscriber:oe.setOne,setFormSubscribers:oe.setMany,updateFormSubscriber:oe.updateOne,updateFormSubscribers:oe.updateMany,deleteFormSubscriber:oe.deleteOne,deleteFormSubscribers:oe.deleteMany}}),{initializeFormSubscribers:Wl,addFormSubscriber:Kl,addFormSubscribers:ai,setFormSubscriber:Yl,setFormSubscribers:Zl,updateFormSubscriber:Jl,updateFormSubscribers:Xl,deleteFormSubscriber:Ql,deleteFormSubscribers:ri}=ci.actions,xl=t=>t.formSubscriberReducer.instances,Xt=l.createSelector([xl],t=>Object.values(t)),eo=t=>s=>s.formSubscriberReducer.instances[t],to=y(l.createSelector([Xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),so=y(l.createSelector([Xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),__=y(l.createSelector([Xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.user===s)))),io=ci.reducer,he=P(t=>t.uuid),no={instances:{}},di=l.createSlice({name:"forms",initialState:no,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,no)),reducers:{initializeForms:he.initialize,addForm:he.addOne,addForms:he.addMany,setForm:he.setOne,setForms:he.setMany,updateForm:he.updateOne,updateForms:he.updateMany,deleteForm:he.deleteOne,deleteForms:he.deleteMany}}),{initializeForms:co,addForm:ao,addForms:ro,setForm:uo,setForms:lo,updateForm:oo,updateForms:ho,deleteForm:mo,deleteForms:po}=di.actions,yo=di.reducer,fo=t=>t.formReducer.instances,ui=l.createSelector([fo],t=>Object.values(t)),So=t=>s=>s.formReducer.instances[t],Ao=y(l.createSelector([ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),g_=y(l.createSelector([ui,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),me=P(t=>t.uuid),Io={instances:{}},li=l.createSlice({name:"formSubmissionAttachments",initialState:Io,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Io)),reducers:{initializeFormSubmissionAttachments:me.initialize,addFormSubmissionAttachment:me.addOne,addFormSubmissionAttachments:me.addMany,setFormSubmissionAttachment:me.setOne,setFormSubmissionAttachments:me.setMany,updateFormSubmissionAttachment:me.updateOne,updateFormSubmissionAttachments:me.updateMany,deleteFormSubmissionAttachment:me.deleteOne,deleteFormSubmissionAttachments:me.deleteMany}}),{initializeFormSubmissionAttachments:To,addFormSubmissionAttachment:Oo,addFormSubmissionAttachments:oi,setFormSubmissionAttachment:Po,setFormSubmissionAttachments:Fo,updateFormSubmissionAttachment:bo,updateFormSubmissionAttachments:_o,deleteFormSubmissionAttachment:go,deleteFormSubmissionAttachments:hi}=li.actions,mi=t=>t.formSubmissionAttachmentReducer.instances,pi=l.createSelector([mi],t=>Object.values(t)),Mo=y(l.createSelector([mi,(t,s)=>s],(t,s)=>t[s])),yi=y(l.createSelector([pi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.uuid)))})),Ro=yi,wo=y(l.createSelector([pi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),vo=li.reducer,pe=P(t=>t.uuid),Eo={instances:{}},fi=l.createSlice({name:"formSubmissions",initialState:Eo,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Eo)),reducers:{initializeFormSubmissions:pe.initialize,setFormSubmission:pe.setOne,setFormSubmissions:pe.setMany,addFormSubmission:pe.addOne,addFormSubmissions:pe.addMany,updateFormSubmission:pe.updateOne,updateFormSubmissions:pe.updateMany,deleteFormSubmission:pe.deleteOne,deleteFormSubmissions:pe.deleteMany}}),{initializeFormSubmissions:Bo,setFormSubmission:Vo,setFormSubmissions:zo,addFormSubmission:Do,addFormSubmissions:lt,updateFormSubmission:jo,updateFormSubmissions:qo,deleteFormSubmission:Co,deleteFormSubmissions:ot}=fi.actions,$o=t=>t.formSubmissionReducer.instances,k=l.createSelector([$o],t=>Object.values(t)),Uo=t=>s=>s.formSubmissionReducer.instances[t],Lo=y(l.createSelector([k,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ko=y(l.createSelector([k,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),M_=y(l.createSelector([k,(t,s)=>s],(t,s)=>S(t.filter(({organization:e})=>e===s)))),R_=y(l.createSelector([k,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>e===s)))),w_=y(l.createSelector([k,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({project:n,form:c})=>n===s&&c===e)))),v_=y(l.createSelector([k,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({organization:n,form:c})=>n===s&&c===e)))),No=y(l.createSelector([k,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>e===s)))),Go=y(l.createSelector([k,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({issue:n})=>n&&e.has(n)))})),Ho=y(l.createSelector([k,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>e===s)))),Wo=y(l.createSelector([k,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>n&&e.has(n)))})),Ko=fi.reducer,ye=P(t=>t.uuid),Yo={instances:{}},Si=l.createSlice({name:"geoImages",initialState:Yo,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Yo)),reducers:{initializeGeoImages:ye.initialize,setGeoImage:ye.setOne,setGeoImages:ye.setMany,addGeoImage:ye.addOne,addGeoImages:ye.addMany,updateGeoImage:ye.updateOne,updateGeoImages:ye.updateMany,deleteGeoImage:ye.deleteOne,deleteGeoImages:ye.deleteMany}}),{initializeGeoImages:Zo,setGeoImage:Jo,setGeoImages:Xo,addGeoImage:Qo,addGeoImages:xo,updateGeoImage:eh,updateGeoImages:th,deleteGeoImage:sh,deleteGeoImages:ih}=Si.actions,nh=t=>t.geoImageReducer.instances,Ai=l.createSelector([nh],t=>Object.values(t)),ch=t=>s=>s.geoImageReducer.instances[t],ah=y(l.createSelector([Ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),E_=y(l.createSelector([Ai,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),rh=Si.reducer,fe=P(t=>t.uuid),dh={instances:{}},Ii=l.createSlice({name:"issueAssociations",initialState:dh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,dh)),reducers:{initializeIssueAssociations:fe.initialize,addIssueAssociation:fe.addOne,addIssueAssociations:fe.addMany,setIssueAssociation:fe.setOne,setIssueAssociations:fe.setMany,updateIssueAssociation:fe.updateOne,updateIssueAssociations:fe.updateMany,deleteIssueAssociation:fe.deleteOne,deleteIssueAssociations:fe.deleteMany}}),{initializeIssueAssociations:uh,setIssueAssociations:lh,setIssueAssociation:oh,updateIssueAssociation:hh,updateIssueAssociations:mh,addIssueAssociation:ph,addIssueAssociations:Ot,deleteIssueAssociation:yh,deleteIssueAssociations:Pt}=Ii.actions,fh=t=>t.issueAssociationReducer.instances,Ft=l.createSelector([fh],t=>Object.values(t)),Sh=t=>s=>s.issueAssociationReducer.instances[t],Ah=y(l.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ih=y(l.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({issue:n})=>e.has(n)))})),Th=y(l.createSelector([Ft,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>e===s)))),Oh=y(l.createSelector([Ft,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>e===s)))),Ph=y(l.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>e.has(n)))})),Fh=Ii.reducer,Se=P(t=>t.uuid),bh={instances:{}},Ti=l.createSlice({name:"issueAttachments",initialState:bh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,bh)),reducers:{initializeIssueAttachments:Se.initialize,addIssueAttachment:Se.addOne,addIssueAttachments:Se.addMany,setIssueAttachment:Se.setOne,setIssueAttachments:Se.setMany,updateIssueAttachment:Se.updateOne,updateIssueAttachments:Se.updateMany,deleteIssueAttachment:Se.deleteOne,deleteIssueAttachments:Se.deleteMany}}),{initializeIssueAttachments:_h,addIssueAttachment:gh,addIssueAttachments:Oi,setIssueAttachment:Mh,setIssueAttachments:Rh,updateIssueAttachment:wh,updateIssueAttachments:vh,deleteIssueAttachment:Eh,deleteIssueAttachments:Pi}=Ti.actions,Bh=t=>t.issueAttachmentReducer.instances,Fi=l.createSelector([Bh],t=>Object.values(t)),Vh=y(l.createSelector([Fi,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>s===e)))),zh=t=>s=>s.issueAttachmentReducer.instances[t],Dh=y(l.createSelector([Fi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),jh=Ti.reducer,Ae=P(t=>t.uuid),qh={instances:{}},bi=l.createSlice({name:"issueCommentAttachments",initialState:qh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,qh)),reducers:{initializeIssueCommentAttachments:Ae.initialize,addIssueCommentAttachment:Ae.addOne,addIssueCommentAttachments:Ae.addMany,setIssueCommentAttachment:Ae.setOne,setIssueCommentAttachments:Ae.setMany,updateIssueCommentAttachment:Ae.updateOne,updateIssueCommentAttachments:Ae.updateMany,deleteIssueCommentAttachment:Ae.deleteOne,deleteIssueCommentAttachments:Ae.deleteMany}}),{initializeIssueCommentAttachments:Ch,addIssueCommentAttachment:$h,addIssueCommentAttachments:Uh,setIssueCommentAttachment:Lh,setIssueCommentAttachments:kh,updateIssueCommentAttachment:Nh,updateIssueCommentAttachments:Gh,deleteIssueCommentAttachment:Hh,deleteIssueCommentAttachments:Wh}=bi.actions,Kh=t=>t.issueCommentAttachmentReducer.instances,_i=l.createSelector([Kh],t=>Object.values(t)),Yh=t=>s=>s.issueCommentAttachmentReducer.instances[t],Zh=y(l.createSelector([_i,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),B_=y(l.createSelector([_i,(t,s)=>s],(t,s)=>S(t.filter(({issue_comment:e})=>s===e)))),Jh=bi.reducer,Ie=P(t=>t.uuid),Xh={instances:{}},gi=l.createSlice({name:"issueComments",initialState:Xh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Xh)),reducers:{initializeIssueComments:Ie.initialize,addIssueComment:Ie.addOne,addIssueComments:Ie.addMany,setIssueComment:Ie.setOne,setIssueComments:Ie.setMany,updateIssueComment:Ie.updateOne,updateIssueComments:Ie.updateMany,deleteIssueComment:Ie.deleteOne,deleteIssueComments:Ie.deleteMany}}),{initializeIssueComments:Qh,addIssueComment:xh,addIssueComments:em,setIssueComment:tm,setIssueComments:sm,updateIssueComment:im,updateIssueComments:nm,deleteIssueComment:cm,deleteIssueComments:am}=gi.actions,Mi=t=>t.issueCommentReducer.instances,rm=t=>s=>s.issueCommentReducer.instances[t],dm=y(l.createSelector([Mi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),V_=y(l.createSelector([Mi,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.issue===s)))),um=gi.reducer,Te=P(t=>t.uuid),lm={instances:{}},Ri=l.createSlice({name:"issues",initialState:lm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,lm)),reducers:{initializeIssues:Te.initialize,addIssue:Te.addOne,addIssues:Te.addMany,setIssue:Te.setOne,setIssues:Te.setMany,updateIssue:Te.updateOne,updateIssues:Te.updateMany,deleteIssue:Te.deleteOne,deleteIssues:Te.deleteMany}}),{initializeIssues:om,addIssue:hm,addIssues:wi,setIssue:mm,setIssues:pm,updateIssue:ym,updateIssues:fm,deleteIssue:Sm,deleteIssues:vi}=Ri.actions,Am=t=>t.issueReducer.instances,Qt=l.createSelector([Am],t=>Object.values(t)),Im=t=>s=>s.issueReducer.instances[t],Tm=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),z_=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Om=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),Pm=Ri.reducer,Oe=P(t=>t.uuid),Fm={instances:{}},Ei=l.createSlice({name:"issueTypeAttachments",initialState:Fm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Fm)),reducers:{initializeIssueTypeAttachments:Oe.initialize,addIssueTypeAttachment:Oe.addOne,addIssueTypeAttachments:Oe.addMany,setIssueTypeAttachment:Oe.setOne,setIssueTypeAttachments:Oe.setMany,updateIssueTypeAttachment:Oe.updateOne,updateIssueTypeAttachments:Oe.updateMany,deleteIssueTypeAttachment:Oe.deleteOne,deleteIssueTypeAttachments:Oe.deleteMany}}),{initializeIssueTypeAttachments:bm,addIssueTypeAttachment:_m,addIssueTypeAttachments:gm,setIssueTypeAttachment:Mm,setIssueTypeAttachments:Rm,updateIssueTypeAttachment:wm,updateIssueTypeAttachments:vm,deleteIssueTypeAttachment:Em,deleteIssueTypeAttachments:Bm}=Ei.actions,Vm=t=>t.issueTypeAttachmentReducer.instances,Bi=l.createSelector([Vm],t=>Object.values(t)),zm=t=>s=>s.issueTypeAttachmentReducer.instances[t],Dm=y(l.createSelector([Bi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),D_=y(l.createSelector([Bi,(t,s)=>s],(t,s)=>S(t.filter(({issue_type:e})=>s===e)))),jm=Ei.reducer,Pe=P(t=>t.uuid),qm={instances:{}},Vi=l.createSlice({name:"issueTypeFieldsAttachments",initialState:qm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,qm)),reducers:{initializeIssueTypeFieldsAttachments:Pe.initialize,addIssueTypeFieldsAttachment:Pe.addOne,addIssueTypeFieldsAttachments:Pe.addMany,setIssueTypeFieldsAttachment:Pe.setOne,setIssueTypeFieldsAttachments:Pe.setMany,updateIssueTypeFieldsAttachment:Pe.updateOne,updateIssueTypeFieldsAttachments:Pe.updateMany,deleteIssueTypeFieldsAttachment:Pe.deleteOne,deleteIssueTypeFieldsAttachments:Pe.deleteMany}}),{initializeIssueTypeFieldsAttachments:Cm,addIssueTypeFieldsAttachment:$m,addIssueTypeFieldsAttachments:Um,setIssueTypeFieldsAttachment:Lm,setIssueTypeFieldsAttachments:km,updateIssueTypeFieldsAttachment:Nm,updateIssueTypeFieldsAttachments:Gm,deleteIssueTypeFieldsAttachment:Hm,deleteIssueTypeFieldsAttachments:Wm}=Vi.actions,Km=t=>t.issueTypeFieldsAttachmentReducer.instances,zi=l.createSelector([Km],t=>Object.values(t)),j_=y(l.createSelector([zi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),Ym=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],Zm=y(l.createSelector([zi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Jm=Vi.reducer,Fe=P(t=>t.uuid),Xm={instances:{}},Di=l.createSlice({name:"issueTypeFieldValues",initialState:Xm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Xm)),reducers:{initializeIssueTypeFieldValues:Fe.initialize,addIssueTypeFieldValues:Fe.addOne,addIssueTypeFieldValuesMany:Fe.addMany,setIssueTypeFieldValues:Fe.setOne,setIssueTypeFieldValuesMany:Fe.setMany,updateIssueTypeFieldValues:Fe.updateOne,updateIssueTypeFieldValuesMany:Fe.updateMany,deleteIssueTypeFieldValues:Fe.deleteOne,deleteIssueTypeFieldValuesMany:Fe.deleteMany}}),{initializeIssueTypeFieldValues:Qm,addIssueTypeFieldValues:xm,addIssueTypeFieldValuesMany:ep,setIssueTypeFieldValues:tp,setIssueTypeFieldValuesMany:sp,updateIssueTypeFieldValues:ip,updateIssueTypeFieldValuesMany:np,deleteIssueTypeFieldValues:cp,deleteIssueTypeFieldValuesMany:ap}=Di.actions,rp=t=>t.issueTypeFieldValuesReducer.instances,xt=l.createSelector([rp],t=>Object.values(t)),q_=y(l.createSelector([xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),dp=t=>s=>s.issueTypeFieldValuesReducer.instances[t],up=y(l.createSelector([xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),lp=Di.reducer,be=P(t=>t.uuid),op={instances:{}},ji=l.createSlice({name:"issueTypeFields",initialState:op,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,op)),reducers:{initializeIssueTypeFields:be.initialize,addIssueTypeFields:be.addOne,addIssueTypeFieldsMany:be.addMany,setIssueTypeFields:be.setOne,setIssueTypeFieldsMany:be.setMany,updateIssueTypeFields:be.updateOne,updateIssueTypeFieldsMany:be.updateMany,deleteIssueTypeFields:be.deleteOne,deleteIssueTypeFieldsMany:be.deleteMany}}),{initializeIssueTypeFields:hp,addIssueTypeFields:mp,addIssueTypeFieldsMany:pp,setIssueTypeFields:yp,setIssueTypeFieldsMany:fp,updateIssueTypeFields:Sp,updateIssueTypeFieldsMany:Ap,deleteIssueTypeFields:Ip,deleteIssueTypeFieldsMany:Tp}=ji.actions,Op=t=>t.issueTypeFieldsReducer.instances,Et=l.createSelector([Op],t=>Object.values(t)),C_=y(l.createSelector([Et,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),$_=y(l.createSelector([Et,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),U_=y(l.createSelector([Et,xt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(c=>c.issue_type===e).map(c=>c.uuid));return S(s.filter(c=>n.has(c.fields_revision)))})),Pp=t=>s=>s.issueTypeFieldsReducer.instances[t],Fp=y(l.createSelector([Et,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),bp=ji.reducer,_e=P(t=>t.uuid),_p={instances:{}},qi=l.createSlice({name:"issueTypeFieldValuesAttachments",initialState:_p,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,_p)),reducers:{initializeIssueTypeFieldValuesAttachments:_e.initialize,addIssueTypeFieldValuesAttachment:_e.addOne,addIssueTypeFieldValuesAttachments:_e.addMany,setIssueTypeFieldValuesAttachment:_e.setOne,setIssueTypeFieldValuesAttachments:_e.setMany,updateIssueTypeFieldValuesAttachment:_e.updateOne,updateIssueTypeFieldValuesAttachments:_e.updateMany,deleteIssueTypeFieldValuesAttachment:_e.deleteOne,deleteIssueTypeFieldValuesAttachments:_e.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:gp,addIssueTypeFieldValuesAttachment:Mp,addIssueTypeFieldValuesAttachments:Ci,setIssueTypeFieldValuesAttachment:Rp,setIssueTypeFieldValuesAttachments:wp,updateIssueTypeFieldValuesAttachment:vp,updateIssueTypeFieldValuesAttachments:Ep,deleteIssueTypeFieldValuesAttachment:Bp,deleteIssueTypeFieldValuesAttachments:$i}=qi.actions,Vp=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Ui=l.createSelector([Vp],t=>Object.values(t)),zp=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],Dp=y(l.createSelector([Ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),jp=y(l.createSelector([Ui,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),qp=qi.reducer,ge=P(t=>t.uuid),Cp={instances:{}},Li=l.createSlice({name:"issueTypeIdentifiers",initialState:Cp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Cp)),reducers:{initializeIssueTypeIdentifiers:ge.initialize,addIssueTypeIdentifier:ge.addOne,addIssueTypeIdentifiers:ge.addMany,setIssueTypeIdentifier:ge.setOne,setIssueTypeIdentifiers:ge.setMany,updateIssueTypeIdentifier:ge.updateOne,updateIssueTypeIdentifiers:ge.updateMany,deleteIssueTypeIdentifier:ge.deleteOne,deleteIssueTypeIdentifiers:ge.deleteMany}}),{initializeIssueTypeIdentifiers:$p,addIssueTypeIdentifier:Up,addIssueTypeIdentifiers:Lp,setIssueTypeIdentifier:kp,setIssueTypeIdentifiers:Np,updateIssueTypeIdentifier:Gp,updateIssueTypeIdentifiers:Hp,deleteIssueTypeIdentifier:Wp,deleteIssueTypeIdentifiers:Kp}=Li.actions,Yp=t=>t.issueTypeIdentifierReducer.instances,ki=l.createSelector([Yp],t=>Object.values(t)),Zp=t=>s=>s.issueTypeIdentifierReducer.instances[t],Jp=y(l.createSelector([ki,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),L_=y(l.createSelector([ki,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),Xp=Li.reducer,Me=P(t=>t.uuid),Qp={instances:{}},Ni=l.createSlice({name:"issueTypeIdentifierValues",initialState:Qp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Qp)),reducers:{initializeIssueTypeIdentifierValues:Me.initialize,addIssueTypeIdentifierValue:Me.addOne,addIssueTypeIdentifierValues:Me.addMany,setIssueTypeIdentifierValue:Me.setOne,setIssueTypeIdentifierValues:Me.setMany,updateIssueTypeIdentifierValue:Me.updateOne,updateIssueTypeIdentifierValues:Me.updateMany,deleteIssueTypeIdentifierValue:Me.deleteOne,deleteIssueTypeIdentifierValues:Me.deleteMany}}),{initializeIssueTypeIdentifierValues:xp,addIssueTypeIdentifierValue:ey,addIssueTypeIdentifierValues:ty,setIssueTypeIdentifierValue:sy,setIssueTypeIdentifierValues:iy,updateIssueTypeIdentifierValue:ny,updateIssueTypeIdentifierValues:cy,deleteIssueTypeIdentifierValue:ay,deleteIssueTypeIdentifierValues:ry}=Ni.actions,dy=t=>t.issueTypeIdentifierValueReducer.instances,es=l.createSelector([dy],t=>Object.values(t)),uy=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],ly=y(l.createSelector([es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),k_=y(l.createSelector([es,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),N_=y(l.createSelector([es,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type_identifier===s)))),oy=Ni.reducer,Re=P(t=>t.uuid),hy={instances:{}},Gi=l.createSlice({name:"issueTypePriorities",initialState:hy,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,hy)),reducers:{initializeIssueTypePriorities:Re.initialize,addIssueTypePriority:Re.addOne,addIssueTypePriorities:Re.addMany,setIssueTypePriority:Re.setOne,setIssueTypePriorities:Re.setMany,updateIssueTypePriority:Re.updateOne,updateIssueTypePriorities:Re.updateMany,deleteIssueTypePriority:Re.deleteOne,deleteIssueTypePriorities:Re.deleteMany}}),{initializeIssueTypePriorities:my,addIssueTypePriority:py,addIssueTypePriorities:yy,setIssueTypePriority:fy,setIssueTypePriorities:Sy,updateIssueTypePriority:Ay,updateIssueTypePriorities:Iy,deleteIssueTypePriority:Ty,deleteIssueTypePriorities:Oy}=Gi.actions,Py=t=>t.issueTypePriorityReducer.instances,Hi=l.createSelector([Py],t=>S(Object.values(t).toSorted(kc))),Wi=t=>s=>s.issueTypePriorityReducer.instances[t],Fy=y(l.createSelector([Hi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),G_=y(l.createSelector([Hi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),by=Gi.reducer,we=P(t=>t.uuid),_y={instances:{}},Ki=l.createSlice({name:"issueTypes",initialState:_y,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,_y)),reducers:{initializeIssueTypes:we.initialize,addIssueType:we.addOne,addIssueTypes:we.addMany,setIssueType:we.setOne,setIssueTypes:we.setMany,updateIssueType:we.updateOne,updateIssueTypes:we.updateMany,deleteIssueType:we.deleteOne,deleteIssueTypes:we.deleteMany}}),{initializeIssueTypes:gy,addIssueType:My,addIssueTypes:Ry,setIssueType:wy,setIssueTypes:vy,updateIssueType:Ey,updateIssueTypes:By,deleteIssueType:Vy,deleteIssueTypes:zy}=Ki.actions,Dy=t=>t.issueTypeReducer.instances,Yi=l.createSelector(Dy,t=>Object.values(t)),jy=t=>s=>s.issueTypeReducer.instances[t],qy=y(l.createSelector([Yi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),H_=y(l.createSelector([Yi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Cy=Ki.reducer,ve=P(t=>t.uuid),$y={instances:{}},Zi=l.createSlice({name:"issueTypeStatuses",initialState:$y,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,$y)),reducers:{initializeIssueTypeStatuses:ve.initialize,addIssueTypeStatus:ve.addOne,addIssueTypeStatuses:ve.addMany,setIssueTypeStatus:ve.setOne,setIssueTypeStatuses:ve.setMany,updateIssueTypeStatus:ve.updateOne,updateIssueTypeStatuses:ve.updateMany,deleteIssueTypeStatus:ve.deleteOne,deleteIssueTypeStatuses:ve.deleteMany}}),{initializeIssueTypeStatuses:Uy,addIssueTypeStatus:Ly,addIssueTypeStatuses:ky,setIssueTypeStatus:Ny,setIssueTypeStatuses:Gy,updateIssueTypeStatus:Hy,updateIssueTypeStatuses:Wy,deleteIssueTypeStatus:Ky,deleteIssueTypeStatuses:Yy}=Zi.actions,Zy=t=>t.issueTypeStatusReducer.instances,Ji=l.createSelector([Zy],t=>S(Object.values(t).toSorted(Lc))),Xi=t=>s=>s.issueTypeStatusReducer.instances[t],Jy=y(l.createSelector([Ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),W_=y(l.createSelector([Ji,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),Xy=Zi.reducer,Ee=P(t=>t.uuid),Qy={instances:{}},Qi=l.createSlice({name:"issueUpdates",initialState:Qy,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Qy)),reducers:{initializeIssueUpdates:Ee.initialize,addIssueUpdate:Ee.addOne,addIssueUpdates:Ee.addMany,setIssueUpdate:Ee.setOne,setIssueUpdates:Ee.setMany,updateIssueUpdate:Ee.updateOne,updateIssueUpdates:Ee.updateMany,deleteIssueUpdate:Ee.deleteOne,deleteIssueUpdates:Ee.deleteMany}}),{initializeIssueUpdates:xy,addIssueUpdate:xi,addIssueUpdates:en,setIssueUpdate:ef,setIssueUpdates:tf,updateIssueUpdate:sf,updateIssueUpdates:nf,deleteIssueUpdate:tn,deleteIssueUpdates:sn}=Qi.actions,nn=t=>t.issueUpdateReducer.instances,cn=l.createSelector([nn],t=>Object.values(t)),cf=y(l.createSelector([nn,(t,s)=>s],(t,s)=>t[s])),af=y(l.createSelector([cn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rf=y(l.createSelector([cn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),df=Qi.reducer,Be=P(t=>t.id),uf={instances:{},currentUser:null},an=l.createSlice({name:"users",initialState:uf,extraReducers:t=>t.addCase(T,s=>Object.assign(s,uf)).addCase(F,s=>Object.assign(s,{...s,instances:[]})),reducers:{initializeUsers:Be.initialize,setUsers:Be.setMany,setUser:Be.setOne,addUsers:Be.addMany,addUser:Be.addOne,updateUsers:Be.updateMany,updateUser:Be.updateOne,deleteUser:Be.deleteOne,deleteUsers:Be.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload},setCurrentUserProfile:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile=s.payload;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile=s.payload}}}),{initializeUsers:lf,setUsers:of,setUser:hf,addUsers:mf,addUser:rn,updateUsers:pf,updateUser:yf,deleteUser:dn,deleteUsers:ff,setCurrentUser:K_,setCurrentUserProfile:Y_}=an.actions,Sf=an.reducer,Af=t=>t.userReducer.currentUser,un=t=>t.userReducer.instances,ts=l.createSelector([un],t=>Object.values(t)),ss=t=>s=>s.userReducer.instances[t],If=y(l.createSelector([ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({id:n})=>e.has(n)))})),Ve=P(t=>t.uuid),Tf={instances:{}},ln=l.createSlice({name:"organizationAccess",initialState:Tf,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Tf)),reducers:{initializeOrganizationAccesses:Ve.initialize,addOrganizationAccess:Ve.addOne,addOrganizationAccesses:Ve.addMany,setOrganizationAccess:Ve.setOne,setOrganizationAccesses:Ve.setMany,updateOrganizationAccess:Ve.updateOne,updateOrganizationAccesses:Ve.updateMany,deleteOrganizationAccess:Ve.deleteOne,deleteOrganizationAccesses:Ve.deleteMany}}),{initializeOrganizationAccesses:Of,addOrganizationAccess:Pf,addOrganizationAccesses:Ff,setOrganizationAccess:bf,setOrganizationAccesses:_f,updateOrganizationAccess:gf,updateOrganizationAccesses:Mf,deleteOrganizationAccess:Rf,deleteOrganizationAccesses:wf}=ln.actions,vf=ln.reducer,is=t=>t.organizationAccessReducer.instances,Ef=t=>s=>s.organizationAccessReducer.instances[t],Bf=y(l.createSelector([is,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),Z_=l.createSelector([Af,is],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),Vf=l.createSelector([is],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return ps(s)}),J_=y(l.createSelector([un,Vf,(t,s)=>s],(t,s,e)=>S(Object.values(t).filter(n=>{const c=s[n.id];return!!c&&c.organization===e})))),ze=P(t=>t.uuid),zf={instances:{}},on=l.createSlice({name:"organizations",initialState:zf,extraReducers:t=>t.addMatcher(l.isAnyOf(T),s=>Object.assign(s,zf)),reducers:{initializeOrganizations:ze.initialize,setOrganizations:ze.setMany,setOrganization:ze.setOne,addOrganizations:ze.addMany,addOrganization:ze.addOne,updateOrganizations:ze.updateMany,updateOrganization:ze.updateOne,deleteOrganization:ze.deleteOne,deleteOrganizations:ze.deleteMany}}),{initializeOrganizations:Df,setOrganizations:jf,setOrganization:qf,addOrganizations:Cf,addOrganization:$f,updateOrganizations:Uf,updateOrganization:Lf,deleteOrganization:kf,deleteOrganizations:Nf}=on.actions,Gf=t=>t.organizationReducer.instances,Hf=l.createSelector([Gf],t=>Object.values(t)),Wf=t=>s=>s.organizationReducer.instances[t],Kf=y(l.createSelector([Hf,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Yf=on.reducer,Zf=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:ut.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},Jf={deletedRequests:[],latestRetryTime:0},hn=l.createSlice({name:"outbox",initialState:Jf,extraReducers:t=>t.addCase(T,s=>Object.assign(s,Jf)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:s,serviceName:e,...n}=t;return Zf(n,s,e)}},markForDeletion(t,s){t.deletedRequests.push(s.payload)},markAsDeleted(t,s){const e=t.deletedRequests.indexOf(s.payload);e!==-1&&t.deletedRequests.splice(e,1)},_setLatestRetryTime:(t,s)=>{t.latestRetryTime=s.payload}}}),X_=t=>t.outboxReducer.deletedRequests,Q_=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:Xf,markForDeletion:x_,markAsDeleted:Qf,_setLatestRetryTime:xf}=hn.actions,eS=hn.reducer,De=P(t=>t.uuid),tS={instances:{}},mn=l.createSlice({name:"projectAccess",initialState:tS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,tS)),reducers:{initializeProjectAccesses:De.initialize,addProjectAccess:De.addOne,addProjectAccesses:De.addMany,setProjectAccess:De.setOne,setProjectAccesses:De.setMany,updateProjectAccess:De.updateOne,updateProjectAccesses:De.updateMany,deleteProjectAccess:De.deleteOne,deleteProjectAccesses:De.deleteMany}}),{initializeProjectAccesses:sS,addProjectAccess:iS,addProjectAccesses:nS,setProjectAccess:cS,setProjectAccesses:aS,updateProjectAccess:rS,updateProjectAccesses:dS,deleteProjectAccess:uS,deleteProjectAccesses:lS}=mn.actions,oS=mn.reducer,pn=t=>t.projectAccessReducer.instances,Bt=l.createSelector(pn,t=>Object.values(t)),hS=t=>s=>s.projectAccessReducer.instances[t],mS=y(l.createSelector([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),eg=y(l.createSelector([pn,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.project===s)))),tg=y(l.createSelector([Bt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(c=>c.project===s))e[n.user]=n;return e})),sg=y(l.createSelector([ts,Bt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(c=>c.project===e).map(c=>c.user));return S(t.filter(c=>n.has(c.id)))})),je=P(t=>t.uuid),pS={instances:{}},yn=l.createSlice({name:"projectAttachments",initialState:pS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,pS)),reducers:{initializeProjectAttachments:je.initialize,addProjectAttachment:je.addOne,addProjectAttachments:je.addMany,setProjectAttachment:je.setOne,setProjectAttachments:je.setMany,updateProjectAttachment:je.updateOne,updateProjectAttachments:je.updateMany,deleteProjectAttachment:je.deleteOne,deleteProjectAttachments:je.deleteMany}}),{initializeProjectAttachments:yS,addProjectAttachment:fS,addProjectAttachments:SS,setProjectAttachment:AS,setProjectAttachments:IS,updateProjectAttachment:TS,updateProjectAttachments:OS,deleteProjectAttachment:PS,deleteProjectAttachments:FS}=yn.actions,bS=t=>t.projectAttachmentReducer.instances,fn=l.createSelector([bS],t=>Object.values(t)),_S=t=>s=>s.projectAttachmentReducer.instances[t],gS=y(l.createSelector([fn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ig=y(l.createSelector([fn,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>s===e)))),MS=yn.reducer,qe=P(t=>t.uuid),RS={instances:{}},Sn=l.createSlice({name:"projectComments",initialState:RS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,RS)),reducers:{initializeProjectComments:qe.initialize,addProjectComment:qe.addOne,addProjectComments:qe.addMany,setProjectComment:qe.setOne,setProjectComments:qe.setMany,updateProjectComment:qe.updateOne,updateProjectComments:qe.updateMany,deleteProjectComment:qe.deleteOne,deleteProjectComments:qe.deleteMany}}),{initializeProjectComments:wS,addProjectComment:vS,addProjectComments:ES,setProjectComment:BS,setProjectComments:VS,updateProjectComment:zS,updateProjectComments:DS,deleteProjectComment:jS,deleteProjectComments:qS}=Sn.actions,CS=t=>t.projectCommentReducer.instances,ns=l.createSelector([CS],t=>S(Object.values(t).toSorted(Tt))),$S=t=>s=>s.projectCommentReducer.instances[t],US=y(l.createSelector([ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ng=y(l.createSelector([ns,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),cg=y(l.createSelector([ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.project)))})),LS=Sn.reducer,Ce=P(t=>t.uuid),kS={instances:{}},An=l.createSlice({name:"projectFiles",initialState:kS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,kS)),reducers:{initializeProjectFiles:Ce.initialize,setProjectFile:Ce.setOne,setProjectFiles:Ce.setMany,addProjectFile:Ce.addOne,addProjectFiles:Ce.addMany,updateProjectFile:Ce.updateOne,updateProjectFiles:Ce.updateMany,deleteProjectFile:Ce.deleteOne,deleteProjectFiles:Ce.deleteMany}}),{initializeProjectFiles:NS,setProjectFile:GS,setProjectFiles:HS,addProjectFile:WS,addProjectFiles:KS,updateProjectFile:YS,updateProjectFiles:ZS,deleteProjectFile:JS,deleteProjectFiles:XS}=An.actions,QS=t=>t.projectFileReducer.instances,xS=l.createSelector([QS],t=>S(Object.values(t).toSorted((s,e)=>s.z_index-e.z_index))),eA=t=>s=>s.projectFileReducer.instances[t],tA=y(l.createSelector([xS,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),sA=An.reducer,$e=P(t=>t.uuid),iA={instances:{}},In=l.createSlice({name:"projects",initialState:iA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,iA)),reducers:{initializeProjects:$e.initialize,setProjects:$e.setMany,setProject:$e.setOne,addProjects:$e.addMany,addProject:$e.addOne,updateProjects:$e.updateMany,updateProject:$e.updateOne,deleteProject:$e.deleteOne,deleteProjects:$e.deleteMany}}),{initializeProjects:nA,setProjects:cA,setProject:aA,addProjects:rA,addProject:dA,updateProjects:uA,updateProject:lA,deleteProject:oA,deleteProjects:hA}=In.actions,mA=In.reducer,pA=t=>t.projectReducer.instances,cs=l.createSelector([pA],t=>Object.values(t)),yA=t=>s=>s.projectReducer.instances[t],fA=y(l.createSelector([cs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ag=y(l.createSelector([cs,Bt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(c=>c.user===e).map(c=>c.project));return S(t.filter(c=>n.has(c.uuid)))})),rg=y(l.createSelector([cs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Ue=P(({uuid:t})=>t),SA={instances:{}},Tn=l.createSlice({name:"procedureInitiatives",initialState:SA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,SA)),reducers:{initializeProcedureInitiatives:Ue.initialize,addProcedureInitiative:Ue.addOne,addProcedureInitiatives:Ue.addMany,setProcedureInitiative:Ue.setOne,setProcedureInitiatives:Ue.setMany,updateProcedureInitiative:Ue.updateOne,updateProcedureInitiatives:Ue.updateMany,deleteProcedureInitiative:Ue.deleteOne,deleteProcedureInitiatives:Ue.deleteMany}}),{initializeProcedureInitiatives:AA,addProcedureInitiative:IA,addProcedureInitiatives:TA,setProcedureInitiative:OA,setProcedureInitiatives:PA,updateProcedureInitiative:FA,updateProcedureInitiatives:bA,deleteProcedureInitiative:_A,deleteProcedureInitiatives:gA}=Tn.actions,MA=Tn.reducer,RA=t=>t.procedureInitiativeReducer.instances,as=l.createSelector([RA],t=>Object.values(t)),wA=t=>s=>s.procedureInitiativeReducer.instances[t],vA=y(l.createSelector([as,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),dg=y(l.createSelector([as,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),ug=y(l.createSelector([as,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),Le=P(({uuid:t})=>t),EA={instances:{}},On=l.createSlice({name:"procedures",initialState:EA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,EA)),reducers:{initializeProcedures:Le.initialize,addProcedure:Le.addOne,addProcedures:Le.addMany,setProcedure:Le.setOne,setProcedures:Le.setMany,updateProcedure:Le.updateOne,updateProcedures:Le.updateMany,deleteProcedure:Le.deleteOne,deleteProcedures:Le.deleteMany}}),{initializeProcedures:BA,addProcedure:VA,addProcedures:bt,setProcedure:zA,setProcedures:DA,updateProcedure:jA,updateProcedures:qA,deleteProcedure:CA,deleteProcedures:_t}=On.actions,$A=On.reducer,UA=t=>t.procedureReducer.instances,ht=l.createSelector([UA],t=>Object.values(t)),LA=t=>s=>s.procedureReducer.instances[t],kA=y(l.createSelector([ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),lg=y(l.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),NA=y(l.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),GA=y(l.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),HA=y(l.createSelector([ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>e.has(n)))})),WA=y(l.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_initiative===s)))),ke=P(t=>t.uuid),KA={instances:{}},Pn=l.createSlice({name:"procedureStepAssignees",initialState:KA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,KA)),reducers:{initializeProcedureStepAssignees:ke.initialize,addProcedureStepAssignee:ke.addOne,addProcedureStepAssignees:ke.addMany,setProcedureStepAssignee:ke.setOne,setProcedureStepAssignees:ke.setMany,updateProcedureStepAssignee:ke.updateOne,updateProcedureStepAssignees:ke.updateMany,deleteProcedureStepAssignee:ke.deleteOne,deleteProcedureStepAssignees:ke.deleteMany}}),{initializeProcedureStepAssignees:YA,addProcedureStepAssignee:ZA,addProcedureStepAssignees:JA,setProcedureStepAssignee:XA,setProcedureStepAssignees:QA,updateProcedureStepAssignee:xA,updateProcedureStepAssignees:eI,deleteProcedureStepAssignee:tI,deleteProcedureStepAssignees:sI}=Pn.actions,iI=t=>t.procedureStepAssigneeReducer.instances,Vt=l.createSelector([iI],t=>Object.values(t)),nI=t=>s=>s.procedureStepAssigneeReducer.instances[t],cI=y(l.createSelector([Vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),og=y(l.createSelector([Vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),hg=y(l.createSelector([Vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),mg=y(l.createSelector([Vt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:c})=>n===s&&c===e)))),aI=Pn.reducer,Ne=P(t=>t.uuid),rI={instances:{}},Fn=l.createSlice({name:"procedureStepComments",initialState:rI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,rI)),reducers:{initializeProcedureStepComments:Ne.initialize,addProcedureStepComment:Ne.addOne,addProcedureStepComments:Ne.addMany,setProcedureStepComment:Ne.setOne,setProcedureStepComments:Ne.setMany,updateProcedureStepComment:Ne.updateOne,updateProcedureStepComments:Ne.updateMany,deleteProcedureStepComment:Ne.deleteOne,deleteProcedureStepComments:Ne.deleteMany}}),{initializeProcedureStepComments:dI,addProcedureStepComment:uI,addProcedureStepComments:lI,setProcedureStepComment:oI,setProcedureStepComments:hI,updateProcedureStepComment:mI,updateProcedureStepComments:pI,deleteProcedureStepComment:yI,deleteProcedureStepComments:fI}=Fn.actions,SI=t=>t.procedureStepCommentReducer.instances,zt=l.createSelector([SI],t=>Object.values(t)),AI=t=>s=>s.procedureStepCommentReducer.instances[t],II=y(l.createSelector([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),pg=y(l.createSelector([zt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),yg=y(l.createSelector([zt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),fg=y(l.createSelector([zt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:c})=>n===s&&c===e)))),TI=Fn.reducer,Ge=P(t=>t.uuid),OI={instances:{}},bn=l.createSlice({name:"procedureStepDefaultAssignees",initialState:OI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,OI)),reducers:{initializeProcedureStepDefaultAssignees:Ge.initialize,addProcedureStepDefaultAssignee:Ge.addOne,addProcedureStepDefaultAssignees:Ge.addMany,setProcedureStepDefaultAssignee:Ge.setOne,setProcedureStepDefaultAssignees:Ge.setMany,updateProcedureStepDefaultAssignee:Ge.updateOne,updateProcedureStepDefaultAssignees:Ge.updateMany,deleteProcedureStepDefaultAssignee:Ge.deleteOne,deleteProcedureStepDefaultAssignees:Ge.deleteMany}}),{initializeProcedureStepDefaultAssignees:PI,addProcedureStepDefaultAssignee:FI,addProcedureStepDefaultAssignees:bI,setProcedureStepDefaultAssignee:_I,setProcedureStepDefaultAssignees:gI,updateProcedureStepDefaultAssignee:MI,updateProcedureStepDefaultAssignees:RI,deleteProcedureStepDefaultAssignee:wI,deleteProcedureStepDefaultAssignees:vI}=bn.actions,EI=t=>t.procedureStepDefaultAssigneeReducer.instances,_n=l.createSelector([EI],t=>Object.values(t)),BI=t=>s=>s.procedureStepDefaultAssigneeReducer.instances[t],VI=y(l.createSelector([_n,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Sg=y(l.createSelector([_n,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),zI=bn.reducer,He=P(t=>t.uuid),DI={instances:{}},gn=l.createSlice({name:"procedureStepDefaultReviewers",initialState:DI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,DI)),reducers:{initializeProcedureStepDefaultReviewers:He.initialize,addProcedureStepDefaultReviewer:He.addOne,addProcedureStepDefaultReviewers:He.addMany,setProcedureStepDefaultReviewer:He.setOne,setProcedureStepDefaultReviewers:He.setMany,updateProcedureStepDefaultReviewer:He.updateOne,updateProcedureStepDefaultReviewers:He.updateMany,deleteProcedureStepDefaultReviewer:He.deleteOne,deleteProcedureStepDefaultReviewers:He.deleteMany}}),{initializeProcedureStepDefaultReviewers:jI,addProcedureStepDefaultReviewer:qI,addProcedureStepDefaultReviewers:CI,setProcedureStepDefaultReviewer:$I,setProcedureStepDefaultReviewers:UI,updateProcedureStepDefaultReviewer:LI,updateProcedureStepDefaultReviewers:kI,deleteProcedureStepDefaultReviewer:NI,deleteProcedureStepDefaultReviewers:GI}=gn.actions,HI=t=>t.procedureStepDefaultReviewerReducer.instances,Mn=l.createSelector([HI],t=>Object.values(t)),WI=t=>s=>s.procedureStepDefaultReviewerReducer.instances[t],KI=y(l.createSelector([Mn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ag=y(l.createSelector([Mn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),YI=gn.reducer,We=P(t=>t.uuid),ZI={instances:{}},Rn=l.createSlice({name:"procedureStepEvents",initialState:ZI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ZI)),reducers:{initializeProcedureStepEvents:We.initialize,addProcedureStepEvent:We.addOne,addProcedureStepEvents:We.addMany,setProcedureStepEvent:We.setOne,setProcedureStepEvents:We.setMany,updateProcedureStepEvent:We.updateOne,updateProcedureStepEvents:We.updateMany,deleteProcedureStepEvent:We.deleteOne,deleteProcedureStepEvents:We.deleteMany}}),{initializeProcedureStepEvents:JI,addProcedureStepEvent:XI,addProcedureStepEvents:QI,setProcedureStepEvent:xI,setProcedureStepEvents:eT,updateProcedureStepEvent:tT,updateProcedureStepEvents:sT,deleteProcedureStepEvent:iT,deleteProcedureStepEvents:nT}=Rn.actions,cT=t=>t.procedureStepEventReducer.instances,Dt=l.createSelector([cT],t=>Object.values(t)),aT=t=>s=>s.procedureStepEventReducer.instances[t],rT=y(l.createSelector([Dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ig=y(l.createSelector([Dt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),Tg=y(l.createSelector([Dt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),Og=y(l.createSelector([Dt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:c})=>n===s&&c===e)))),dT=Rn.reducer,Ke=P(t=>t.uuid),uT={instances:{}},wn=l.createSlice({name:"procedureStepFieldsAttachments",initialState:uT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,uT)),reducers:{initializeProcedureStepFieldsAttachments:Ke.initialize,addProcedureStepFieldsAttachment:Ke.addOne,addProcedureStepFieldsAttachments:Ke.addMany,setProcedureStepFieldsAttachment:Ke.setOne,setProcedureStepFieldsAttachments:Ke.setMany,updateProcedureStepFieldsAttachment:Ke.updateOne,updateProcedureStepFieldsAttachments:Ke.updateMany,deleteProcedureStepFieldsAttachment:Ke.deleteOne,deleteProcedureStepFieldsAttachments:Ke.deleteMany}}),{initializeProcedureStepFieldsAttachments:lT,addProcedureStepFieldsAttachment:oT,addProcedureStepFieldsAttachments:vn,setProcedureStepFieldsAttachment:hT,setProcedureStepFieldsAttachments:mT,updateProcedureStepFieldsAttachment:pT,updateProcedureStepFieldsAttachments:yT,deleteProcedureStepFieldsAttachment:fT,deleteProcedureStepFieldsAttachments:En}=wn.actions,ST=t=>t.procedureStepFieldsAttachmentReducer.instances,Bn=l.createSelector([ST],t=>Object.values(t)),AT=y(l.createSelector([Bn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),IT=t=>s=>s.procedureStepFieldsAttachmentReducer.instances[t],TT=y(l.createSelector([Bn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),OT=wn.reducer,Ye=P(t=>t.uuid),PT={instances:{}},Vn=l.createSlice({name:"procedureStepFields",initialState:PT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,PT)),reducers:{initializeProcedureStepFields:Ye.initialize,addProcedureStepFields:Ye.addOne,addProcedureStepFieldsMany:Ye.addMany,setProcedureStepFields:Ye.setOne,setProcedureStepFieldsMany:Ye.setMany,updateProcedureStepFields:Ye.updateOne,updateProcedureStepFieldsMany:Ye.updateMany,deleteProcedureStepFields:Ye.deleteOne,deleteProcedureStepFieldsMany:Ye.deleteMany}}),{initializeProcedureStepFields:FT,addProcedureStepFields:bT,addProcedureStepFieldsMany:_T,setProcedureStepFields:gT,setProcedureStepFieldsMany:MT,updateProcedureStepFields:RT,updateProcedureStepFieldsMany:wT,deleteProcedureStepFields:vT,deleteProcedureStepFieldsMany:ET}=Vn.actions,zn=t=>t.procedureStepFieldsReducer.instances,rs=l.createSelector([zn],t=>Object.values(t)),Pg=y(l.createSelector([rs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),Fg=y(l.createSelector([rs,(t,s)=>s],(t,s)=>t.filter(e=>e.procedure_step===s).toSorted(Tt).pop())),bg=l.createSelector([zn],t=>{const s={};for(const e of Object.values(t)){const n=s[e.procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.procedure_step]=e)}return s}),BT=t=>s=>s.procedureStepFieldsReducer.instances[t],VT=y(l.createSelector([rs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),zT=Vn.reducer,Ze=P(t=>t.uuid),DT={instances:{}},Dn=l.createSlice({name:"procedureStepFieldValuesAttachments",initialState:DT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,DT)),reducers:{initializeProcedureStepFieldValuesAttachments:Ze.initialize,addProcedureStepFieldValuesAttachment:Ze.addOne,addProcedureStepFieldValuesAttachments:Ze.addMany,setProcedureStepFieldValuesAttachment:Ze.setOne,setProcedureStepFieldValuesAttachments:Ze.setMany,updateProcedureStepFieldValuesAttachment:Ze.updateOne,updateProcedureStepFieldValuesAttachments:Ze.updateMany,deleteProcedureStepFieldValuesAttachment:Ze.deleteOne,deleteProcedureStepFieldValuesAttachments:Ze.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:jT,addProcedureStepFieldValuesAttachment:qT,addProcedureStepFieldValuesAttachments:jn,setProcedureStepFieldValuesAttachment:CT,setProcedureStepFieldValuesAttachments:$T,updateProcedureStepFieldValuesAttachment:UT,updateProcedureStepFieldValuesAttachments:LT,deleteProcedureStepFieldValuesAttachment:kT,deleteProcedureStepFieldValuesAttachments:qn}=Dn.actions,NT=t=>t.procedureStepFieldValuesAttachmentReducer.instances,Cn=l.createSelector([NT],t=>Object.values(t)),GT=t=>s=>s.procedureStepFieldValuesAttachmentReducer.instances[t],HT=y(l.createSelector([Cn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),WT=y(l.createSelector([Cn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),KT=Dn.reducer,Je=P(t=>t.uuid),YT={instances:{}},$n=l.createSlice({name:"procedureStepFieldValues",initialState:YT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,YT)),reducers:{initializeProcedureStepFieldValues:Je.initialize,addProcedureStepFieldValues:Je.addOne,addProcedureStepFieldValuesMany:Je.addMany,setProcedureStepFieldValues:Je.setOne,setProcedureStepFieldValuesMany:Je.setMany,updateProcedureStepFieldValues:Je.updateOne,updateProcedureStepFieldValuesMany:Je.updateMany,deleteProcedureStepFieldValues:Je.deleteOne,deleteProcedureStepFieldValuesMany:Je.deleteMany}}),{initializeProcedureStepFieldValues:ZT,addProcedureStepFieldValues:JT,addProcedureStepFieldValuesMany:XT,setProcedureStepFieldValues:QT,setProcedureStepFieldValuesMany:xT,updateProcedureStepFieldValues:eO,updateProcedureStepFieldValuesMany:tO,deleteProcedureStepFieldValues:sO,deleteProcedureStepFieldValuesMany:iO}=$n.actions,nO=$n.reducer,cO=t=>t.procedureStepFieldValuesReducer.instances,mt=l.createSelector([cO],t=>Object.values(t)),_g=y(l.createSelector([mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),gg=y(l.createSelector([mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),aO=t=>s=>s.procedureStepFieldValuesReducer.instances[t],rO=y(l.createSelector([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Mg=y(l.createSelector([mt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:c})=>n===s&&c===e)))),Xe=P(t=>t.uuid),dO={instances:{}},Un=l.createSlice({name:"procedureStepFieldValuesReviews",initialState:dO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,dO)),reducers:{initializeProcedureStepFieldValuesReviews:Xe.initialize,addProcedureStepFieldValuesReview:Xe.addOne,addProcedureStepFieldValuesReviews:Xe.addMany,setProcedureStepFieldValuesReview:Xe.setOne,setProcedureStepFieldValuesReviews:Xe.setMany,updateProcedureStepFieldValuesReview:Xe.updateOne,updateProcedureStepFieldValuesReviews:Xe.updateMany,deleteProcedureStepFieldValuesReview:Xe.deleteOne,deleteProcedureStepFieldValuesReviews:Xe.deleteMany}}),{initializeProcedureStepFieldValuesReviews:uO,addProcedureStepFieldValuesReview:lO,addProcedureStepFieldValuesReviews:Ln,setProcedureStepFieldValuesReview:oO,setProcedureStepFieldValuesReviews:hO,updateProcedureStepFieldValuesReview:mO,updateProcedureStepFieldValuesReviews:pO,deleteProcedureStepFieldValuesReview:yO,deleteProcedureStepFieldValuesReviews:kn}=Un.actions,fO=t=>t.procedureStepFieldValuesReviewReducer.instances,pt=l.createSelector([fO],t=>Object.values(t)),SO=t=>s=>s.procedureStepFieldValuesReviewReducer.instances[t],AO=y(l.createSelector([pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),IO=y(l.createSelector([pt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),Rg=y(l.createSelector([pt,(t,s)=>s],(t,s)=>{let e;for(const n of t){const{field_values:c}=n;c===s&&(!e||e.submitted_at<=n.submitted_at)&&(e=n)}return e})),wg=y(l.createSelector([mt,pt,(t,s)=>s],(t,s,e)=>{const n=new Set(w(t.filter(({procedure:c})=>e===c)));return S(s.filter(({field_values:c})=>n.has(c)))})),vg=y(l.createSelector([mt,pt,(t,s)=>s,(t,s,e)=>e],(t,s,e,n)=>{const c=new Set(w(t.filter(({procedure_step:r,procedure:a})=>e===a&&r===n)));return S(s.filter(({field_values:r})=>c.has(r)))})),Eg=l.createSelector([pt],t=>{const s={};for(const e of t){const{field_values:n}=e,c=s[n];(!c||c.submitted_at<=e.submitted_at)&&(s[n]=e)}return s}),TO=Un.reducer,Qe=P(t=>t.uuid),OO={instances:{}},Nn=l.createSlice({name:"procedureStepReviewers",initialState:OO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,OO)),reducers:{initializeProcedureStepReviewers:Qe.initialize,addProcedureStepReviewer:Qe.addOne,addProcedureStepReviewers:Qe.addMany,setProcedureStepReviewer:Qe.setOne,setProcedureStepReviewers:Qe.setMany,updateProcedureStepReviewer:Qe.updateOne,updateProcedureStepReviewers:Qe.updateMany,deleteProcedureStepReviewer:Qe.deleteOne,deleteProcedureStepReviewers:Qe.deleteMany}}),{initializeProcedureStepReviewers:PO,addProcedureStepReviewer:FO,addProcedureStepReviewers:bO,setProcedureStepReviewer:_O,setProcedureStepReviewers:gO,updateProcedureStepReviewer:MO,updateProcedureStepReviewers:RO,deleteProcedureStepReviewer:wO,deleteProcedureStepReviewers:vO}=Nn.actions,EO=t=>t.procedureStepReviewerReducer.instances,jt=l.createSelector([EO],t=>Object.values(t)),BO=t=>s=>s.procedureStepReviewerReducer.instances[t],VO=y(l.createSelector([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Bg=y(l.createSelector([jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),Vg=y(l.createSelector([jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),zg=y(l.createSelector([jt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:c})=>n===s&&c===e)))),zO=Nn.reducer,xe=P(t=>t.uuid),DO={instances:{}},Gn=l.createSlice({name:"procedureSteps",initialState:DO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,DO)),reducers:{initializeProcedureSteps:xe.initialize,setProcedureStep:xe.setOne,setProcedureSteps:xe.setMany,addProcedureStep:xe.addOne,addProcedureSteps:xe.addMany,updateProcedureStep:xe.updateOne,updateProcedureSteps:xe.updateMany,deleteProcedureStep:xe.deleteOne,deleteProcedureSteps:xe.deleteMany}}),{initializeProcedureSteps:jO,setProcedureStep:qO,setProcedureSteps:CO,addProcedureStep:$O,addProcedureSteps:UO,updateProcedureStep:LO,updateProcedureSteps:kO,deleteProcedureStep:NO,deleteProcedureSteps:GO}=Gn.actions,HO=Gn.reducer,Hn=t=>t.procedureStepReducer.instances,WO=t=>s=>s.procedureStepReducer.instances[t],Wn=l.createSelector([Hn],t=>Object.values(t).toSorted((s,e)=>s.order-e.order)),Dg=y(l.createSelector([Hn,(t,s)=>s],(t,s)=>{const e={};for(const[n,c]of Object.entries(t))c.procedure_type===s&&(e[n]=c);return ps(e)})),jg=y(l.createSelector([Wn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),KO=y(l.createSelector([Wn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),et=P(({uuid:t})=>t),YO={instances:{}},Kn=l.createSlice({name:"procedureTypeAttachments",initialState:YO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,YO)),reducers:{initializeProcedureTypeAttachments:et.initialize,addProcedureTypeAttachment:et.addOne,addProcedureTypeAttachments:et.addMany,setProcedureTypeAttachment:et.setOne,setProcedureTypeAttachments:et.setMany,updateProcedureTypeAttachment:et.updateOne,updateProcedureTypeAttachments:et.updateMany,deleteProcedureTypeAttachment:et.deleteOne,deleteProcedureTypeAttachments:et.deleteMany}}),{initializeProcedureTypeAttachments:ZO,addProcedureTypeAttachment:JO,addProcedureTypeAttachments:XO,setProcedureTypeAttachment:QO,setProcedureTypeAttachments:xO,updateProcedureTypeAttachment:eP,updateProcedureTypeAttachments:tP,deleteProcedureTypeAttachment:sP,deleteProcedureTypeAttachments:iP}=Kn.actions,nP=Kn.reducer,cP=t=>t.procedureTypeAttachmentReducer.instances,Yn=l.createSelector([cP],t=>Object.values(t)),aP=t=>s=>s.procedureTypeAttachmentReducer.instances[t],rP=y(l.createSelector([Yn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),qg=y(l.createSelector([Yn,(t,s)=>s],(t,s)=>S(t.filter(({procedure_type:e})=>s===e)))),tt=P(({uuid:t})=>t),dP={instances:{}},Zn=l.createSlice({name:"procedureTypeFieldsAttachments",initialState:dP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,dP)),reducers:{initializeProcedureTypeFieldsAttachments:tt.initialize,addProcedureTypeFieldsAttachment:tt.addOne,addProcedureTypeFieldsAttachments:tt.addMany,setProcedureTypeFieldsAttachment:tt.setOne,setProcedureTypeFieldsAttachments:tt.setMany,updateProcedureTypeFieldsAttachment:tt.updateOne,updateProcedureTypeFieldsAttachments:tt.updateMany,deleteProcedureTypeFieldsAttachment:tt.deleteOne,deleteProcedureTypeFieldsAttachments:tt.deleteMany}}),{initializeProcedureTypeFieldsAttachments:uP,addProcedureTypeFieldsAttachment:lP,addProcedureTypeFieldsAttachments:oP,setProcedureTypeFieldsAttachment:hP,setProcedureTypeFieldsAttachments:mP,updateProcedureTypeFieldsAttachment:pP,updateProcedureTypeFieldsAttachments:yP,deleteProcedureTypeFieldsAttachment:fP,deleteProcedureTypeFieldsAttachments:SP}=Zn.actions,AP=Zn.reducer,IP=t=>t.procedureTypeFieldsAttachmentReducer.instances,Jn=l.createSelector([IP],t=>Object.values(t)),Cg=y(l.createSelector([Jn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),TP=t=>s=>s.procedureTypeFieldsAttachmentReducer.instances[t],OP=y(l.createSelector([Jn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),st=P(({uuid:t})=>t),PP={instances:{}},Xn=l.createSlice({name:"procedureTypeFields",initialState:PP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,PP)),reducers:{initializeProcedureTypeFields:st.initialize,addProcedureTypeFields:st.addOne,addProcedureTypeFieldsMany:st.addMany,setProcedureTypeFields:st.setOne,setProcedureTypeFieldsMany:st.setMany,updateProcedureTypeFields:st.updateOne,updateProcedureTypeFieldsMany:st.updateMany,deleteProcedureTypeFields:st.deleteOne,deleteProcedureTypeFieldsMany:st.deleteMany}}),{initializeProcedureTypeFields:FP,addProcedureTypeFields:bP,addProcedureTypeFieldsMany:_P,setProcedureTypeFields:gP,setProcedureTypeFieldsMany:MP,updateProcedureTypeFields:RP,updateProcedureTypeFieldsMany:wP,deleteProcedureTypeFields:vP,deleteProcedureTypeFieldsMany:EP}=Xn.actions,BP=Xn.reducer,VP=t=>t.procedureTypeFieldsReducer.instances,ds=l.createSelector([VP],t=>Object.values(t)),$g=y(l.createSelector([ds,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),Ug=y(l.createSelector([ds,(t,s)=>s],(t,s)=>t.filter(e=>e.procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),zP=t=>s=>s.procedureTypeFieldsReducer.instances[t],DP=y(l.createSelector([ds,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),it=P(({uuid:t})=>t),jP={instances:{}},Qn=l.createSlice({name:"procedureFieldValuesAttachments",initialState:jP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,jP)),reducers:{initializeProcedureFieldValuesAttachments:it.initialize,addProcedureFieldValuesAttachment:it.addOne,addProcedureFieldValuesAttachments:it.addMany,setProcedureFieldValuesAttachment:it.setOne,setProcedureFieldValuesAttachments:it.setMany,updateProcedureFieldValuesAttachment:it.updateOne,updateProcedureFieldValuesAttachments:it.updateMany,deleteProcedureFieldValuesAttachment:it.deleteOne,deleteProcedureFieldValuesAttachments:it.deleteMany}}),{initializeProcedureFieldValuesAttachments:qP,addProcedureFieldValuesAttachment:CP,addProcedureFieldValuesAttachments:xn,setProcedureFieldValuesAttachment:$P,setProcedureFieldValuesAttachments:UP,updateProcedureFieldValuesAttachment:LP,updateProcedureFieldValuesAttachments:kP,deleteProcedureFieldValuesAttachment:NP,deleteProcedureFieldValuesAttachments:ec}=Qn.actions,GP=Qn.reducer,HP=t=>t.procedureFieldValuesAttachmentReducer.instances,tc=l.createSelector([HP],t=>Object.values(t)),WP=t=>s=>s.procedureFieldValuesAttachmentReducer.instances[t],KP=y(l.createSelector([tc,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),YP=y(l.createSelector([tc,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),nt=P(({uuid:t})=>t),ZP={instances:{}},sc=l.createSlice({name:"procedureFieldValues",initialState:ZP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ZP)),reducers:{initializeProcedureFieldValues:nt.initialize,addProcedureFieldValues:nt.addOne,addProcedureFieldValuesMany:nt.addMany,setProcedureFieldValues:nt.setOne,setProcedureFieldValuesMany:nt.setMany,updateProcedureFieldValues:nt.updateOne,updateProcedureFieldValuesMany:nt.updateMany,deleteProcedureFieldValues:nt.deleteOne,deleteProcedureFieldValuesMany:nt.deleteMany}}),{initializeProcedureFieldValues:JP,addProcedureFieldValues:XP,addProcedureFieldValuesMany:QP,setProcedureFieldValues:xP,setProcedureFieldValuesMany:eF,updateProcedureFieldValues:tF,updateProcedureFieldValuesMany:sF,deleteProcedureFieldValues:iF,deleteProcedureFieldValuesMany:nF}=sc.actions,cF=sc.reducer,aF=t=>t.procedureFieldValuesReducer.instances,ic=l.createSelector([aF],t=>Object.values(t)),Lg=y(l.createSelector([ic,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),rF=t=>s=>s.procedureFieldValuesReducer.instances[t],dF=y(l.createSelector([ic,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ct=P(t=>t.uuid),uF={instances:{}},nc=l.createSlice({name:"procedureTypes",initialState:uF,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,uF)),reducers:{initializeProcedureTypes:ct.initialize,addProcedureType:ct.addOne,addProcedureTypes:ct.addMany,setProcedureType:ct.setOne,setProcedureTypes:ct.setMany,updateProcedureType:ct.updateOne,updateProcedureTypes:ct.updateMany,deleteProcedureType:ct.deleteOne,deleteProcedureTypes:ct.deleteMany}}),{initializeProcedureTypes:lF,addProcedureType:oF,addProcedureTypes:hF,setProcedureType:mF,setProcedureTypes:pF,updateProcedureType:yF,updateProcedureTypes:fF,deleteProcedureType:SF,deleteProcedureTypes:AF}=nc.actions,IF=nc.reducer,TF=t=>t.procedureTypeReducer.instances,cc=l.createSelector([TF],t=>Object.values(t)),OF=t=>s=>s.procedureTypeReducer.instances[t],PF=y(l.createSelector([cc,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),kg=y(l.createSelector([cc,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Ng={isRehydrated:!1},ac=l.createSlice({name:"rehydrated",initialState:Ng,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:Gg}=ac.actions,Hg=t=>t.rehydratedReducer.isRehydrated,FF=ac.reducer,at=P(t=>t.uuid),bF={instances:{}},rc=l.createSlice({name:"teamMemberships",initialState:bF,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,bF)),reducers:{initializeTeamMemberships:at.initialize,addTeamMembership:at.addOne,addTeamMemberships:at.addMany,setTeamMembership:at.setOne,setTeamMemberships:at.setMany,updateTeamMembership:at.updateOne,updateTeamMemberships:at.updateMany,deleteTeamMembership:at.deleteOne,deleteTeamMemberships:at.deleteMany}}),{initializeTeamMemberships:_F,addTeamMembership:gF,addTeamMemberships:MF,setTeamMembership:RF,setTeamMemberships:wF,updateTeamMembership:vF,updateTeamMemberships:EF,deleteTeamMembership:BF,deleteTeamMemberships:VF}=rc.actions,zF=rc.reducer,DF=t=>t.teamMembershipReducer.instances,us=l.createSelector([DF],t=>Object.values(t)),jF=t=>s=>s.teamMembershipReducer.instances[t],qF=y(l.createSelector([us,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Wg=y(l.createSelector([us,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(c=>c.team===s))e[n.user]=n;return e})),Kg=y(l.createSelector([ts,us,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(c=>c.team===e).map(c=>c.user));return S(t.filter(c=>n.has(c.id)))})),rt=P(t=>t.uuid),CF={instances:{}},dc=l.createSlice({name:"teams",initialState:CF,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,CF)),reducers:{initializeTeams:rt.initialize,addTeam:rt.addOne,addTeams:rt.addMany,setTeam:rt.setOne,setTeams:rt.setMany,updateTeam:rt.updateOne,updateTeams:rt.updateMany,deleteTeam:rt.deleteOne,deleteTeams:rt.deleteMany}}),{initializeTeams:$F,addTeam:UF,addTeams:LF,setTeam:kF,setTeams:NF,updateTeam:GF,updateTeams:HF,deleteTeam:WF,deleteTeams:KF}=dc.actions,YF=t=>t.teamReducer.instances,uc=l.createSelector([YF],t=>Object.values(t)),ZF=t=>s=>s.teamReducer.instances[t],JF=y(l.createSelector([uc,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Yg=y(l.createSelector([uc,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),XF=dc.reducer,lc={outboxReducer:eS,authReducer:tu},Zg=l.combineReducers(lc),QF={...lc,assetReducer:ja,assetAttachmentReducer:ua,assetCommentReducer:Fa,assetTypeReducer:Cd,assetTypeAttachmentReducer:Za,issueReducer:Pm,issueAttachmentReducer:jh,issueTypeReducer:Cy,issueTypeAttachmentReducer:jm,organizationReducer:Yf,projectReducer:mA,projectAttachmentReducer:MS,projectCommentReducer:LS,projectAccessReducer:oS,organizationAccessReducer:vf,projectFileReducer:sA,procedureTypeReducer:IF,procedureInitiativeReducer:MA,procedureReducer:$A,procedureTypeFieldsReducer:BP,procedureFieldValuesReducer:cF,procedureTypeAttachmentReducer:nP,procedureTypeFieldsAttachmentReducer:AP,procedureFieldValuesAttachmentReducer:GP,procedureStepFieldsAttachmentReducer:OT,procedureStepFieldsReducer:zT,procedureStepFieldValuesAttachmentReducer:KT,procedureStepFieldValuesReducer:nO,procedureStepFieldValuesReviewReducer:TO,procedureStepAssigneeReducer:aI,procedureStepCommentReducer:TI,procedureStepDefaultAssigneeReducer:zI,procedureStepDefaultReviewerReducer:YI,procedureStepEventReducer:dT,procedureStepReviewerReducer:zO,procedureStepReducer:HO,rehydratedReducer:FF,formReducer:yo,formRevisionReducer:Gl,formRevisionAttachmentReducer:El,formSubscriberReducer:io,formSubmissionAttachmentReducer:vo,formSubmissionReducer:Ko,formIdentifierReducer:il,formIdentifierValueReducer:Sl,userReducer:Sf,emailDomainsReducer:Nu,documentsReducer:gu,documentAttachmentReducer:yu,teamReducer:XF,agentsReducer:Jc,issueCommentReducer:um,issueCommentAttachmentReducer:Jh,issueUpdateReducer:df,geoImageReducer:rh,issueAssociationReducer:Fh,issueTypeFieldsReducer:bp,issueTypeFieldValuesReducer:lp,issueTypeFieldsAttachmentReducer:Jm,issueTypeFieldValuesAttachmentReducer:qp,issueTypeIdentifierReducer:Xp,issueTypeIdentifierValueReducer:oy,issueTypePriorityReducer:by,issueTypeStatusReducer:Xy,assetTypeFieldsReducer:Fr,assetTypeFieldValuesReducer:Jr,assetTypeFieldsAttachmentReducer:ur,assetTypeFieldValuesAttachmentReducer:jr,assetTypeIdentifierReducer:ld,assetTypeIdentifierValueReducer:bd,assetTypeStatusReducer:Qd,teamMembershipReducer:zF},Jg=l.combineReducers(QF),xF=1e4,oc=[400,409,403,404,405,500],N=1e4,eb={};class tb{constructor(s){h(this,"client");h(this,"pageSize",xF);eb[this.constructor.name]=this,this.client=s}async performRequest(s,e){return this.client.performRequest(this.host,s,this,e)}async enqueueRequest(s){return this.client.enqueueRequest(s,this.host,this.constructor.name)}async performPagination(s,e){return this.client.performPagination(this.host,s,this.pageSize,this,e)}dispatch(s){this.client.store.dispatch(s)}select(s){return s(this.client.store.getState())}}const Xg=t=>{if(t)throw t;const s=Rt();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},sb=(t,s,e)=>{const n=St();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},ib=(t,s,e)=>{const n=St();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const r=s.meta.offlineAction.payload.uuid;return n.remove(r),n.getQueue()};async function Qg(t,s){if(!s.payload)throw new Error("Received empty payload");return fb(s)}const xg={...Ic,effect:Qg,discard:cb,returnPromises:!0,persistCallback:Xg,retry:sM,persistOptions:{storage:Fb},queue:{...Ic.queue,enqueue:sb,dequeue:ib,peek:(...t)=>tM(...t)}},eM=Pb.offline(xg);async function nb(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const c=eb[t.meta.offline.effect.serviceName];if(!c)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return pc(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,c,e)}function cb(t,s,e=0){var p;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
|
|
1
|
+
(function(i,L){typeof exports=="object"&&typeof module<"u"?L(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("react"),require("fast-tree-builder"),require("ts-tree-lib"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("buffer"),require("@overmap-ai/forms"),require("idb"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","react","fast-tree-builder","ts-tree-lib","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","buffer","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],L):(i=typeof globalThis<"u"?globalThis:i||self,L(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.react,i.buildTree,i.tsTreeLib,i.reduxOffline,i.offlineConfig,i.localforage,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,L,l,It,ut,Tb,Ob,Ac,Pb,Ic,Fb,zR,DR,bb,_b,gb){"use strict";var BR=Object.defineProperty;var VR=(i,L,l)=>L in i?BR(i,L,{enumerable:!0,configurable:!0,writable:!0,value:l}):i[L]=l;var h=(i,L,l)=>VR(i,typeof L!="symbol"?L+"":L,l);var Ab;const Tc=Object.freeze([]),Oc=Object.freeze({}),Pc=6e4,Fc=["created_at","updated_at","index","revision"];var bc=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(bc||{}),o=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(o||{}),_c=(t=>(t[t.PLANNED=0]="PLANNED",t[t.ACTIVE=1]="ACTIVE",t[t.MAINTENANCE=2]="MAINTENANCE",t[t.INACTIVE=3]="INACTIVE",t[t.RETIRED=4]="RETIRED",t[t.DISPOSED=5]="DISPOSED",t))(_c||{}),$=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))($||{}),gc=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.PLANNED=1]="PLANNED",t[t.IN_PROGRESS=2]="IN_PROGRESS",t[t.COMPLETED=3]="COMPLETED",t[t.CANCELLED=4]="CANCELLED",t))(gc||{}),Mc=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))(Mc||{}),Rc=(t=>(t[t.ADD_ASSIGNEE=0]="ADD_ASSIGNEE",t[t.REMOVE_ASSIGNEE=2]="REMOVE_ASSIGNEE",t[t.ADD_REVIEWER=4]="ADD_REVIEWER",t[t.REMOVE_REVIEWER=6]="REMOVE_REVIEWER",t))(Rc||{}),wc=(t=>(t[t.APPROVED=0]="APPROVED",t[t.REJECTED=2]="REJECTED",t[t.CHANGES_REQUESTED=4]="CHANGES_REQUESTED",t))(wc||{});function P(t){return{addOne:(m,f)=>{const I=t(f.payload);I in m.instances||(m.instances[I]=f.payload)},addMany:(m,f)=>{for(const I of f.payload){const _=t(I);_ in m.instances||(m.instances[_]=I)}},updateOne:(m,f)=>{const I=t(f.payload);I in m.instances&&(m.instances[I]=f.payload)},setMany:(m,f)=>{for(const I of f.payload){const _=t(I);m.instances[_]=I}},setOne:(m,f)=>{const I=t(f.payload);m.instances[I]=f.payload},updateMany:(m,f)=>{for(const I of f.payload){const _=t(I);_ in m.instances&&(m.instances[_]=I)}},deleteOne:(m,f)=>{delete m.instances[f.payload]},deleteMany:(m,f)=>{for(const I of f.payload)delete m.instances[I]},initialize:(m,f)=>{m.instances={};const I=new Set;for(const _ of f.payload){const b=t(_);I.add(b),m.instances[b]=_}I.size!==f.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function Mb(t){return{initializeSelection:(d,p)=>{d[t]=Array.from(new Set(p.payload))},selectOne:(d,p)=>{console.debug(d,d[t]),!new Set(d[t]).has(p.payload)&&d[t].push(p.payload)},selectMany:(d,p)=>{const m=new Set(d[t]);for(const f of p.payload)m.has(f)||m.add(f);d[t]=Array.from(m)},unselectOne:(d,p)=>{const m=new Set(d[t]);m.has(p.payload)&&(m.delete(p.payload),d[t]=Array.from(m))},unselectMany:(d,p)=>{const m=new Set(d[t]);for(const f of p.payload)m.has(f)&&m.delete(f);d[t]=Array.from(m)},toggleOne:(d,p)=>{const m=new Set(d[t]);m.has(p.payload)?m.delete(p.payload):m.add(p.payload),d[t]=Array.from(m)},toggleMany:(d,p)=>{const m=new Set(d[t]);for(const f of p.payload)m.has(f)?m.delete(f):m.add(f);d[t]=Array.from(m)}}}const T=l.createAction("RESET"),V=l.createAction("RESET_PROJECT_STATE"),F=l.createAction("RESET_ORGANIZATION_STATE");function Rb(t,s){return Tb.useMemo(t,s)}Ab=Symbol.toStringTag;class os{constructor(){h(this,Ab,"Promise");h(this,"_promise");h(this,"_resolve");h(this,"_reject");h(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((s,e)=>{this._resolve=s,this._reject=e})}get state(){return this._state}then(s,e){return this._promise.then(s,e)}catch(s){return this._promise.catch(s)}resolve(s){if(!this._resolve)throw new Error("No resolve callback");this._resolve(s),this._state="fulfilled"}reject(s){if(!this._reject)throw s;this._reject(s),this._state="rejected"}finally(s){throw new Error("`finally` not implemented")}}let hs=!1;["true","1"].includes("".toLowerCase())&&(hs=!0);function wb(t,s){if(t===s)return!0;if(typeof t!=typeof s)return!1;const e=Object.keys(t),n=Object.keys(s),c=e.length;if(c!==n.length)return!1;for(let r=0;r<c;r++){const a=e[r];if(!Object.prototype.hasOwnProperty.call(s,a)||t[a]!==s[a])return!1}return!0}function ms(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(hs&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(hs&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function vb(t,s){if(t.length!==s.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==s[e])return!1;return!0}const S=t=>t.length===0?Tc:t,ps=t=>Object.keys(t).length===0?Oc:t,vc=ms(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===ys.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),Eb=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),Bb=1e3*86400,ys=new Date,Vb=t=>new Date(t).toDateString()===ys.toDateString(),zb=ms((t,s,e)=>{const n=Math.round((new Date(t).getTime()-ys.getTime())/Bb);return n<s||n>e?vc(t):Eb.format(n,"days")});function Db(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}function Ct(t){return new Promise((s,e)=>{const n=new FileReader;n.onload=()=>{const c=n.result;if(!c){e(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",c).then(r=>{const a=Db(r);s(a)})},n.readAsArrayBuffer(t)})}const jb=(t,s)=>`${t}${s?`.${s}`:""}`;function qb(t,s){return new File([t],s,{type:t.type})}function Ec(t){const s=t.name;return s.includes(".")?s.split(".").pop():""}const Bc=async t=>(await fetch(t)).blob(),Vc=async(t,s)=>{const e=await Bc(t);return new File([e],s,{type:e.type})};function zc(t){return typeof t=="string"&&t.startsWith("blob:")}function Dc(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function jc(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function qc(t){if(Dc(t)){const e=new URLSearchParams(t).get("Expires");if(!e)return null;const n=parseInt(e,10);return new Date(n*1e3)}if(jc(t)){const s=new URLSearchParams(t),e=s.get("X-Amz-Date"),n=s.get("X-Amz-Expires");if(!e||!n)return null;const c=new Date(e.replace(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/,"$1-$2-$3T$4:$5:$6Z")),r=parseInt(n);return new Date(c.getTime()+r*1e3)}return null}function Cc(t,s=30){const e=qc(t);if(!e)return!1;const n=Date.now(),c=e.getTime(),r=s*1e3;return n+r>=c}function Cb(t){return t.type.startsWith("image/")}const $c={};function $b(t,s,e,...n){const c=$c[t];let r=!1;c?c[s]||(c[s]=!0,r=!0):($c[t]={[s]:!0},r=!0),r&&console[e](...n)}function O(t){return{...t,uuid:ut.v4()}}function Ub(t){const s={};for(const e of t)s[e.uuid]=e;return s}function w(t){return t.map(({uuid:s})=>s)}function $t(t,s){return t.localeCompare(s)}function fs(t,s){return $t(t.uuid,s.uuid)}function Lb(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const r=t.split(".");r.length>1&&(s=r[r.length-1])}s&&!s.startsWith(".")&&(s="."+s);const c=s?s.length:0;return n.length+c>e&&(n=n.slice(0,e-c)+(s||"")),n}function kb(t){return t.toLowerCase().replace(" ","-")}function Nb(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function Gb(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const Hb=/^.+@.+\..+$/,Uc=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Lc=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,kc=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Nc=t=>Ob(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),Wb=t=>{const{roots:s}=Nc(t);return s.map(e=>new Ac.Tree(e))},Gc=(t,s)=>{const{nodes:e}=Nc(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new Ac.Tree(n)},Tt=(t,s)=>t.submitted_at===s.submitted_at?0:t.submitted_at<s.submitted_at?-1:1;class Kb{constructor(s){h(this,"operations",[]);h(this,"getData");this.getData=s}performOperations(s){let e=s;for(const n of this.operations)e=n(e);return e}filter(s,e){return this.operations.push(n=>n.filter(c=>c[s]===e)),this}exclude(s,e){return this.operations.push(n=>n.filter(c=>c[s]!==e)),this}orderBy(s){return this.operations.push(e=>e.toSorted((n,c)=>n[s]<=c[s]?1:-1)),this}reverse(){return this.operations.push(s=>s.toReversed()),this}all(){return this.operations.push(s=>s),this}get(s,e){return l.createSelector([this.getData],n=>this.performOperations(n).find(c=>c[s]===e))}count(){return l.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return l.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return l.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return l.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return l.createSelector([this.getData],s=>S(this.performOperations(s)))}}const y=t=>(...s)=>e=>t(e,...s),H=P(t=>t.uuid),Hc={instances:{}},Ss=l.createSlice({name:"agents",initialState:Hc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Hc)),reducers:{initializeConversations:H.initialize,addConversation:H.addOne,addConversations:H.addMany,setConversation:H.setOne,setConversations:H.setMany,updateConversation:H.updateOne,updateConversations:H.updateMany,deleteConversation:H.deleteOne,deleteConversations:H.deleteMany}}),{initializeConversations:Wc,addConversation:Kc,addConversations:Yb,setConversation:Yc,setConversations:Zb,updateConversation:Zc,updateConversations:Jb,deleteConversation:Xb,deleteConversations:Qb}=Ss.actions,As=t=>t.agentsReducer.instances,xb=l.createSelector([As],t=>Object.values(t)),e_=y(l.createSelector([As,(t,s)=>s],(t,s)=>t[s])),Jc=Ss.reducer,W=P(t=>t.uuid),Xc={instances:{}},Is=l.createSlice({name:"assetAttachments",initialState:Xc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Xc)),reducers:{initializeAssetAttachments:W.initialize,addAssetAttachment:W.addOne,addAssetAttachments:W.addMany,setAssetAttachment:W.setOne,setAssetAttachments:W.setMany,updateAssetAttachment:W.updateOne,updateAssetAttachments:W.updateMany,deleteAssetAttachment:W.deleteOne,deleteAssetAttachments:W.deleteMany}}),{initializeAssetAttachments:Qc,addAssetAttachment:xc,addAssetAttachments:Ts,setAssetAttachment:ea,setAssetAttachments:ta,updateAssetAttachment:sa,updateAssetAttachments:ia,deleteAssetAttachment:na,deleteAssetAttachments:Os}=Is.actions,ca=t=>t.assetAttachmentReducer.instances,Ps=l.createSelector([ca],t=>Object.values(t)),aa=t=>s=>s.assetAttachmentReducer.instances[t],ra=y(l.createSelector([Ps,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),da=y(l.createSelector([Ps,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>s===e)))),ua=Is.reducer,K=P(t=>t.uuid),la={instances:{}},Fs=l.createSlice({name:"assetComments",initialState:la,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,la)),reducers:{initializeAssetComments:K.initialize,addAssetComment:K.addOne,addAssetComments:K.addMany,setAssetComment:K.setOne,setAssetComments:K.setMany,updateAssetComment:K.updateOne,updateAssetComments:K.updateMany,deleteAssetComment:K.deleteOne,deleteAssetComments:K.deleteMany}}),{initializeAssetComments:oa,addAssetComment:ha,addAssetComments:Ut,setAssetComment:ma,setAssetComments:pa,updateAssetComment:ya,updateAssetComments:fa,deleteAssetComment:Sa,deleteAssetComments:Lt}=Fs.actions,Aa=t=>t.assetCommentReducer.instances,kt=l.createSelector([Aa],t=>S(Object.values(t).toSorted(Tt))),Ia=t=>s=>s.assetCommentReducer.instances[t],Ta=y(l.createSelector([kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Oa=y(l.createSelector([kt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),Pa=y(l.createSelector([kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.asset)))})),Fa=Fs.reducer,Y=P(t=>t.uuid),ba={instances:{}},bs=l.createSlice({name:"assets",initialState:ba,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ba)),reducers:{initializeAssets:Y.initialize,addAsset:Y.addOne,addAssets:Y.addMany,setAsset:Y.setOne,setAssets:Y.setMany,updateAsset:Y.updateOne,updateAssets:Y.updateMany,deleteAsset:Y.deleteOne,deleteAssets:Y.deleteMany}}),{initializeAssets:_a,addAsset:ga,addAssets:_s,updateAsset:Ma,updateAssets:Ra,deleteAsset:wa,deleteAssets:gs,setAsset:va,setAssets:Ea}=bs.actions,Ba=t=>t.assetReducer.instances,Nt=l.createSelector([Ba],t=>S(Object.values(t))),t_=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>e===s)))),Va=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),za=t=>s=>s.assetReducer.instances[t],Da=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ja=bs.reducer,Z=P(t=>t.uuid),qa={instances:{}},Ms=l.createSlice({name:"assetTypeAttachments",initialState:qa,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,qa)),reducers:{initializeAssetTypeAttachments:Z.initialize,addAssetTypeAttachment:Z.addOne,addAssetTypeAttachments:Z.addMany,setAssetTypeAttachment:Z.setOne,setAssetTypeAttachments:Z.setMany,updateAssetTypeAttachment:Z.updateOne,updateAssetTypeAttachments:Z.updateMany,deleteAssetTypeAttachment:Z.deleteOne,deleteAssetTypeAttachments:Z.deleteMany}}),{initializeAssetTypeAttachments:Ca,addAssetTypeAttachment:$a,addAssetTypeAttachments:Rs,setAssetTypeAttachment:Ua,setAssetTypeAttachments:La,updateAssetTypeAttachment:ka,updateAssetTypeAttachments:Na,deleteAssetTypeAttachment:Ga,deleteAssetTypeAttachments:ws}=Ms.actions,Ha=t=>t.assetTypeAttachmentReducer.instances,vs=l.createSelector([Ha],t=>Object.values(t)),Wa=t=>s=>s.assetTypeAttachmentReducer.instances[t],Ka=y(l.createSelector([vs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ya=y(l.createSelector([vs,(t,s)=>s],(t,s)=>S(t.filter(({asset_type:e})=>s===e)))),Za=Ms.reducer,J=P(t=>t.uuid),Ja={instances:{}},Es=l.createSlice({name:"assetTypeFieldsAttachments",initialState:Ja,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Ja)),reducers:{initializeAssetTypeFieldsAttachments:J.initialize,addAssetTypeFieldsAttachment:J.addOne,addAssetTypeFieldsAttachments:J.addMany,setAssetTypeFieldsAttachment:J.setOne,setAssetTypeFieldsAttachments:J.setMany,updateAssetTypeFieldsAttachment:J.updateOne,updateAssetTypeFieldsAttachments:J.updateMany,deleteAssetTypeFieldsAttachment:J.deleteOne,deleteAssetTypeFieldsAttachments:J.deleteMany}}),{initializeAssetTypeFieldsAttachments:Xa,addAssetTypeFieldsAttachment:Qa,addAssetTypeFieldsAttachments:xa,setAssetTypeFieldsAttachment:er,setAssetTypeFieldsAttachments:tr,updateAssetTypeFieldsAttachment:sr,updateAssetTypeFieldsAttachments:ir,deleteAssetTypeFieldsAttachment:nr,deleteAssetTypeFieldsAttachments:cr}=Es.actions,ar=t=>t.assetTypeFieldsAttachmentReducer.instances,Bs=l.createSelector([ar],t=>Object.values(t)),s_=y(l.createSelector([Bs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),rr=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],dr=y(l.createSelector([Bs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ur=Es.reducer,X=P(t=>t.uuid),lr={instances:{}},Vs=l.createSlice({name:"assetTypeFields",initialState:lr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,lr)),reducers:{initializeAssetTypeFields:X.initialize,addAssetTypeFields:X.addOne,addAssetTypeFieldsMany:X.addMany,setAssetTypeFields:X.setOne,setAssetTypeFieldsMany:X.setMany,updateAssetTypeFields:X.updateOne,updateAssetTypeFieldsMany:X.updateMany,deleteAssetTypeFields:X.deleteOne,deleteAssetTypeFieldsMany:X.deleteMany}}),{initializeAssetTypeFields:or,addAssetTypeFields:hr,addAssetTypeFieldsMany:mr,setAssetTypeFields:pr,setAssetTypeFieldsMany:yr,updateAssetTypeFields:fr,updateAssetTypeFieldsMany:Sr,deleteAssetTypeFields:Ar,deleteAssetTypeFieldsMany:Ir}=Vs.actions,Tr=t=>t.assetTypeFieldsReducer.instances,vt=l.createSelector([Tr],t=>Object.values(t)),i_=y(l.createSelector([vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),n_=y(l.createSelector([vt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).toSorted(Tt).pop())),Or=t=>s=>s.assetTypeFieldsReducer.instances[t],Pr=y(l.createSelector([vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Fr=Vs.reducer,Q=P(t=>t.uuid),br={instances:{}},zs=l.createSlice({name:"assetTypeFieldValuesAttachments",initialState:br,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,br)),reducers:{initializeAssetTypeFieldValuesAttachments:Q.initialize,addAssetTypeFieldValuesAttachment:Q.addOne,addAssetTypeFieldValuesAttachments:Q.addMany,setAssetTypeFieldValuesAttachment:Q.setOne,setAssetTypeFieldValuesAttachments:Q.setMany,updateAssetTypeFieldValuesAttachment:Q.updateOne,updateAssetTypeFieldValuesAttachments:Q.updateMany,deleteAssetTypeFieldValuesAttachment:Q.deleteOne,deleteAssetTypeFieldValuesAttachments:Q.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:_r,addAssetTypeFieldValuesAttachment:gr,addAssetTypeFieldValuesAttachments:Ds,setAssetTypeFieldValuesAttachment:Mr,setAssetTypeFieldValuesAttachments:Rr,updateAssetTypeFieldValuesAttachment:wr,updateAssetTypeFieldValuesAttachments:vr,deleteAssetTypeFieldValuesAttachment:Er,deleteAssetTypeFieldValuesAttachments:js}=zs.actions,Br=t=>t.assetTypeFieldValuesAttachmentReducer.instances,qs=l.createSelector([Br],t=>Object.values(t)),Vr=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],zr=y(l.createSelector([qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Dr=y(l.createSelector([qs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),jr=zs.reducer,x=P(t=>t.uuid),qr={instances:{}},Cs=l.createSlice({name:"assetTypeFieldValues",initialState:qr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,qr)),reducers:{initializeAssetTypeFieldValues:x.initialize,addAssetTypeFieldValues:x.addOne,addAssetTypeFieldValuesMany:x.addMany,setAssetTypeFieldValues:x.setOne,setAssetTypeFieldValuesMany:x.setMany,updateAssetTypeFieldValues:x.updateOne,updateAssetTypeFieldValuesMany:x.updateMany,deleteAssetTypeFieldValues:x.deleteOne,deleteAssetTypeFieldValuesMany:x.deleteMany}}),{initializeAssetTypeFieldValues:Cr,addAssetTypeFieldValues:$r,addAssetTypeFieldValuesMany:Ur,setAssetTypeFieldValues:Lr,setAssetTypeFieldValuesMany:kr,updateAssetTypeFieldValues:Nr,updateAssetTypeFieldValuesMany:Gr,deleteAssetTypeFieldValues:Hr,deleteAssetTypeFieldValuesMany:Wr}=Cs.actions,Kr=t=>t.assetTypeFieldValuesReducer.instances,Gt=l.createSelector([Kr],t=>Object.values(t)),c_=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),a_=y(l.createSelector([vt,Gt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(c=>c.asset_type===e).map(c=>c.uuid));return S(s.filter(c=>n.has(c.fields_revision)))})),Yr=t=>s=>s.assetTypeFieldValuesReducer.instances[t],Zr=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Jr=Cs.reducer,ee=P(t=>t.uuid),Xr={instances:{}},$s=l.createSlice({name:"assetTypeIdentifiers",initialState:Xr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Xr)),reducers:{initializeAssetTypeIdentifiers:ee.initialize,addAssetTypeIdentifier:ee.addOne,addAssetTypeIdentifiers:ee.addMany,setAssetTypeIdentifier:ee.setOne,setAssetTypeIdentifiers:ee.setMany,updateAssetTypeIdentifier:ee.updateOne,updateAssetTypeIdentifiers:ee.updateMany,deleteAssetTypeIdentifier:ee.deleteOne,deleteAssetTypeIdentifiers:ee.deleteMany}}),{initializeAssetTypeIdentifiers:Qr,addAssetTypeIdentifier:xr,addAssetTypeIdentifiers:ed,setAssetTypeIdentifier:td,setAssetTypeIdentifiers:sd,updateAssetTypeIdentifier:id,updateAssetTypeIdentifiers:nd,deleteAssetTypeIdentifier:cd,deleteAssetTypeIdentifiers:ad}=$s.actions,rd=t=>t.assetTypeIdentifierReducer.instances,Us=l.createSelector([rd],t=>Object.values(t)),dd=t=>s=>s.assetTypeIdentifierReducer.instances[t],ud=y(l.createSelector([Us,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),r_=y(l.createSelector([Us,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),ld=$s.reducer,te=P(t=>t.uuid),od={instances:{}},Ls=l.createSlice({name:"assetTypeIdentifierValues",initialState:od,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,od)),reducers:{initializeAssetTypeIdentifierValues:te.initialize,addAssetTypeIdentifierValue:te.addOne,addAssetTypeIdentifierValues:te.addMany,setAssetTypeIdentifierValue:te.setOne,setAssetTypeIdentifierValues:te.setMany,updateAssetTypeIdentifierValue:te.updateOne,updateAssetTypeIdentifierValues:te.updateMany,deleteAssetTypeIdentifierValue:te.deleteOne,deleteAssetTypeIdentifierValues:te.deleteMany}}),{initializeAssetTypeIdentifierValues:hd,addAssetTypeIdentifierValue:md,addAssetTypeIdentifierValues:pd,setAssetTypeIdentifierValue:yd,setAssetTypeIdentifierValues:fd,updateAssetTypeIdentifierValue:Sd,updateAssetTypeIdentifierValues:Ad,deleteAssetTypeIdentifierValue:Id,deleteAssetTypeIdentifierValues:Td}=Ls.actions,Od=t=>t.assetTypeIdentifierValueReducer.instances,Ht=l.createSelector([Od],t=>Object.values(t)),Pd=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],Fd=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),d_=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),u_=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type_identifier===s)))),bd=Ls.reducer,se=P(t=>t.uuid),_d={instances:{}},ks=l.createSlice({name:"assetTypes",initialState:_d,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,_d)),reducers:{initializeAssetTypes:se.initialize,setAssetType:se.setOne,setAssetTypes:se.setMany,addAssetType:se.addOne,addAssetTypes:se.addMany,updateAssetType:se.updateOne,updateAssetTypes:se.updateMany,deleteAssetType:se.deleteOne,deleteAssetTypes:se.deleteMany}}),{initializeAssetTypes:gd,setAssetType:Md,setAssetTypes:Rd,addAssetType:wd,addAssetTypes:vd,updateAssetType:Ed,updateAssetTypes:Bd,deleteAssetType:Vd,deleteAssetTypes:zd}=ks.actions,Dd=t=>t.assetTypeReducer.instances,Ns=l.createSelector([Dd],t=>Object.values(t)),jd=t=>s=>s.assetTypeReducer.instances[t],qd=y(l.createSelector([Ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),l_=y(l.createSelector([Ns,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Cd=ks.reducer,ie=P(t=>t.uuid),$d={instances:{}},Gs=l.createSlice({name:"assetTypeStatuses",initialState:$d,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,$d)),reducers:{initializeAssetTypeStatuses:ie.initialize,addAssetTypeStatus:ie.addOne,addAssetTypeStatuses:ie.addMany,setAssetTypeStatus:ie.setOne,setAssetTypeStatuses:ie.setMany,updateAssetTypeStatus:ie.updateOne,updateAssetTypeStatuses:ie.updateMany,deleteAssetTypeStatus:ie.deleteOne,deleteAssetTypeStatuses:ie.deleteMany}}),{initializeAssetTypeStatuses:Ud,addAssetTypeStatus:Ld,addAssetTypeStatuses:kd,setAssetTypeStatus:Nd,setAssetTypeStatuses:Gd,updateAssetTypeStatus:Hd,updateAssetTypeStatuses:Wd,deleteAssetTypeStatus:Kd,deleteAssetTypeStatuses:Yd}=Gs.actions,Zd=t=>t.assetTypeStatusReducer.instances,Hs=l.createSelector([Zd],t=>S(Object.values(t).toSorted(Uc))),Jd=t=>s=>s.assetTypeStatusReducer.instances[t],Xd=y(l.createSelector([Hs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),o_=y(l.createSelector([Hs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Qd=Gs.reducer,xd={accessToken:"",refreshToken:"",isLoggedIn:!1},Wt=l.createSlice({name:"auth",initialState:xd,extraReducers:t=>t.addCase(T,s=>Object.assign(s,xd)),reducers:{setTokens:(t,s)=>{t.accessToken=s.payload.accessToken,t.refreshToken=s.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,s)=>{s.payload||Wt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:h_,clearTokens:m_,setLoggedIn:eu}=Wt.actions,p_=t=>t.authReducer.accessToken,y_=t=>t.authReducer.isLoggedIn,tu=Wt.reducer,ne=P(t=>t.uuid),su={instances:{}},Ws=l.createSlice({name:"documentAttachments",initialState:su,extraReducers:t=>t.addCase(T,s=>Object.assign(s,su)),reducers:{initializeDocumentAttachments:ne.initialize,addDocumentAttachment:ne.addOne,addDocumentAttachments:ne.addMany,setDocumentAttachment:ne.setOne,setDocumentAttachments:ne.setMany,updateDocumentAttachment:ne.updateOne,updateDocumentAttachments:ne.updateMany,deleteDocumentAttachment:ne.deleteOne,deleteDocumentAttachments:ne.deleteMany}}),{initializeDocumentAttachments:iu,addDocumentAttachment:nu,addDocumentAttachments:cu,setDocumentAttachment:au,setDocumentAttachments:ru,updateDocumentAttachment:du,updateDocumentAttachments:uu,deleteDocumentAttachment:lu,deleteDocumentAttachments:ou}=Ws.actions,hu=t=>t.documentAttachmentReducer.instances,Ks=l.createSelector([hu],t=>Object.values(t)),mu=t=>s=>s.documentAttachmentReducer.instances[t],pu=y(l.createSelector([Ks,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),f_=y(l.createSelector([Ks,(t,s)=>s],(t,s)=>S(t.filter(({document:e})=>s===e)))),yu=Ws.reducer,ce=P(({uuid:t})=>t),fu={instances:{}},Ys=l.createSlice({name:"documents",initialState:fu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>{Object.assign(s,fu)}),reducers:{initializeDocuments:ce.initialize,addDocument:ce.addOne,addDocuments:ce.addMany,setDocument:ce.setOne,setDocuments:ce.setMany,updateDocument:ce.updateOne,updateDocuments:ce.updateMany,deleteDocument:ce.deleteOne,deleteDocuments:ce.deleteMany}}),{initializeDocuments:Su,addDocument:Au,addDocuments:Iu,setDocument:Tu,setDocuments:Ou,updateDocument:Pu,updateDocuments:Fu,deleteDocument:bu,deleteDocuments:_u}=Ys.actions,gu=Ys.reducer,Zs=t=>t.documentsReducer.instances,Kt=l.createSelector([Zs],t=>Object.values(t)),Mu=t=>s=>s.documentsReducer.instances[t],Ru=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),S_=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),A_=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),wu=y(l.createSelector([Zs,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const c=Gc(s,Object.values(t)).all().map(({model:r})=>r);return S(c)})),ae=P(t=>t.uuid),vu={instances:{}},Js=l.createSlice({name:"emailDomains",initialState:vu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,vu)),reducers:{initializeEmailDomains:ae.initialize,addEmailDomain:ae.addOne,addEmailDomains:ae.addMany,setEmailDomain:ae.setOne,setEmailDomains:ae.setMany,updateEmailDomain:ae.updateOne,updateEmailDomains:ae.updateMany,deleteEmailDomain:ae.deleteOne,deleteEmailDomains:ae.deleteMany}}),{initializeEmailDomains:Eu,addEmailDomain:Bu,addEmailDomains:Vu,setEmailDomain:zu,setEmailDomains:Du,updateEmailDomain:ju,updateEmailDomains:qu,deleteEmailDomain:Cu,deleteEmailDomains:$u}=Js.actions,Uu=t=>t.emailDomainsReducer.instances,Xs=l.createSelector([Uu],t=>Object.values(t)),Lu=t=>s=>s.emailDomainsReducer.instances[t],ku=y(l.createSelector([Xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),I_=y(l.createSelector([Xs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Nu=Js.reducer,re=P(t=>t.uuid),Gu={instances:{}},Qs=l.createSlice({name:"formIdentifiers",initialState:Gu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Gu)),reducers:{initializeFormIdentifiers:re.initialize,addFormIdentifier:re.addOne,addFormIdentifiers:re.addMany,setFormIdentifier:re.setOne,setFormIdentifiers:re.setMany,updateFormIdentifier:re.updateOne,updateFormIdentifiers:re.updateMany,deleteFormIdentifier:re.deleteOne,deleteFormIdentifiers:re.deleteMany}}),{initializeFormIdentifiers:Hu,addFormIdentifier:Wu,addFormIdentifiers:Ku,setFormIdentifier:Yu,setFormIdentifiers:Zu,updateFormIdentifier:Ju,updateFormIdentifiers:Xu,deleteFormIdentifier:Qu,deleteFormIdentifiers:xu}=Qs.actions,el=t=>t.formIdentifierReducer.instances,xs=l.createSelector([el],t=>Object.values(t)),tl=t=>s=>s.formIdentifierReducer.instances[t],sl=y(l.createSelector([xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),T_=y(l.createSelector([xs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),il=Qs.reducer,de=P(t=>t.uuid),nl={instances:{}},ei=l.createSlice({name:"formIdentifierValues",initialState:nl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,nl)),reducers:{initializeFormIdentifierValues:de.initialize,addFormIdentifierValue:de.addOne,addFormIdentifierValues:de.addMany,setFormIdentifierValue:de.setOne,setFormIdentifierValues:de.setMany,updateFormIdentifierValue:de.updateOne,updateFormIdentifierValues:de.updateMany,deleteFormIdentifierValue:de.deleteOne,deleteFormIdentifierValues:de.deleteMany}}),{initializeFormIdentifierValues:cl,addFormIdentifierValue:al,addFormIdentifierValues:rl,setFormIdentifierValue:dl,setFormIdentifierValues:ul,updateFormIdentifierValue:ll,updateFormIdentifierValues:ol,deleteFormIdentifierValue:hl,deleteFormIdentifierValues:ml}=ei.actions,pl=t=>t.formIdentifierValueReducer.instances,Yt=l.createSelector([pl],t=>Object.values(t)),yl=t=>s=>s.formIdentifierValueReducer.instances[t],fl=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),O_=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),P_=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_identifier===s)))),Sl=ei.reducer,ue=P(t=>t.uuid),Al={instances:{}},ti=l.createSlice({name:"formRevisionAttachments",initialState:Al,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Al)),reducers:{initializeFormRevisionAttachments:ue.initialize,addFormRevisionAttachment:ue.addOne,addFormRevisionAttachments:ue.addMany,setFormRevisionAttachment:ue.setOne,setFormRevisionAttachments:ue.setMany,updateFormRevisionAttachment:ue.updateOne,updateFormRevisionAttachments:ue.updateMany,deleteFormRevisionAttachment:ue.deleteOne,deleteFormRevisionAttachments:ue.deleteMany}}),{initializeFormRevisionAttachments:Il,addFormRevisionAttachment:Tl,addFormRevisionAttachments:Ol,setFormRevisionAttachment:Pl,setFormRevisionAttachments:Fl,updateFormRevisionAttachment:bl,updateFormRevisionAttachments:_l,deleteFormRevisionAttachment:gl,deleteFormRevisionAttachments:Ml}=ti.actions,Zt=t=>t.formRevisionAttachmentReducer.instances,Rl=l.createSelector([Zt],t=>Object.values(t)),wl=y(l.createSelector([Zt,(t,s)=>s],(t,s)=>t[s])),vl=y(l.createSelector([Rl,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),F_=y(l.createSelector([Zt,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.form_revision===s)))),El=ti.reducer,le=P(t=>t.uuid),Bl={instances:{}},si=l.createSlice({name:"formRevisions",initialState:Bl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Bl)),reducers:{initializeFormRevisions:le.initialize,addFormRevision:le.addOne,addFormRevisions:le.addMany,setFormRevision:le.setOne,setFormRevisions:le.setMany,updateFormRevision:le.updateOne,updateFormRevisions:le.updateMany,deleteFormRevision:le.deleteOne,deleteFormRevisions:le.deleteMany}}),{initializeFormRevisions:Vl,addFormRevision:zl,addFormRevisions:ii,setFormRevision:Dl,setFormRevisions:jl,updateFormRevision:ql,updateFormRevisions:Cl,deleteFormRevision:$l,deleteFormRevisions:ni}=si.actions,Ul=t=>t.formRevisionReducer.instances,Jt=l.createSelector([Ul],t=>Object.values(t)),Ll=t=>s=>s.formRevisionReducer.instances[t],kl=y(l.createSelector([Jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),b_=y(l.createSelector([Jt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).toSorted(Tt).pop())),Nl=y(l.createSelector([Jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),Gl=si.reducer,oe=P(t=>t.uuid),Hl={instances:{}},ci=l.createSlice({name:"formSubscribers",initialState:Hl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Hl)),reducers:{initializeFormSubscribers:oe.initialize,addFormSubscriber:oe.addOne,addFormSubscribers:oe.addMany,setFormSubscriber:oe.setOne,setFormSubscribers:oe.setMany,updateFormSubscriber:oe.updateOne,updateFormSubscribers:oe.updateMany,deleteFormSubscriber:oe.deleteOne,deleteFormSubscribers:oe.deleteMany}}),{initializeFormSubscribers:Wl,addFormSubscriber:Kl,addFormSubscribers:ai,setFormSubscriber:Yl,setFormSubscribers:Zl,updateFormSubscriber:Jl,updateFormSubscribers:Xl,deleteFormSubscriber:Ql,deleteFormSubscribers:ri}=ci.actions,xl=t=>t.formSubscriberReducer.instances,Xt=l.createSelector([xl],t=>Object.values(t)),eo=t=>s=>s.formSubscriberReducer.instances[t],to=y(l.createSelector([Xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),so=y(l.createSelector([Xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),__=y(l.createSelector([Xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.user===s)))),io=ci.reducer,he=P(t=>t.uuid),no={instances:{}},di=l.createSlice({name:"forms",initialState:no,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,no)),reducers:{initializeForms:he.initialize,addForm:he.addOne,addForms:he.addMany,setForm:he.setOne,setForms:he.setMany,updateForm:he.updateOne,updateForms:he.updateMany,deleteForm:he.deleteOne,deleteForms:he.deleteMany}}),{initializeForms:co,addForm:ao,addForms:ro,setForm:uo,setForms:lo,updateForm:oo,updateForms:ho,deleteForm:mo,deleteForms:po}=di.actions,yo=di.reducer,fo=t=>t.formReducer.instances,ui=l.createSelector([fo],t=>Object.values(t)),So=t=>s=>s.formReducer.instances[t],Ao=y(l.createSelector([ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),g_=y(l.createSelector([ui,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),me=P(t=>t.uuid),Io={instances:{}},li=l.createSlice({name:"formSubmissionAttachments",initialState:Io,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Io)),reducers:{initializeFormSubmissionAttachments:me.initialize,addFormSubmissionAttachment:me.addOne,addFormSubmissionAttachments:me.addMany,setFormSubmissionAttachment:me.setOne,setFormSubmissionAttachments:me.setMany,updateFormSubmissionAttachment:me.updateOne,updateFormSubmissionAttachments:me.updateMany,deleteFormSubmissionAttachment:me.deleteOne,deleteFormSubmissionAttachments:me.deleteMany}}),{initializeFormSubmissionAttachments:To,addFormSubmissionAttachment:Oo,addFormSubmissionAttachments:oi,setFormSubmissionAttachment:Po,setFormSubmissionAttachments:Fo,updateFormSubmissionAttachment:bo,updateFormSubmissionAttachments:_o,deleteFormSubmissionAttachment:go,deleteFormSubmissionAttachments:hi}=li.actions,mi=t=>t.formSubmissionAttachmentReducer.instances,pi=l.createSelector([mi],t=>Object.values(t)),Mo=y(l.createSelector([mi,(t,s)=>s],(t,s)=>t[s])),yi=y(l.createSelector([pi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.uuid)))})),Ro=yi,wo=y(l.createSelector([pi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),vo=li.reducer,pe=P(t=>t.uuid),Eo={instances:{}},fi=l.createSlice({name:"formSubmissions",initialState:Eo,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Eo)),reducers:{initializeFormSubmissions:pe.initialize,setFormSubmission:pe.setOne,setFormSubmissions:pe.setMany,addFormSubmission:pe.addOne,addFormSubmissions:pe.addMany,updateFormSubmission:pe.updateOne,updateFormSubmissions:pe.updateMany,deleteFormSubmission:pe.deleteOne,deleteFormSubmissions:pe.deleteMany}}),{initializeFormSubmissions:Bo,setFormSubmission:Vo,setFormSubmissions:zo,addFormSubmission:Do,addFormSubmissions:lt,updateFormSubmission:jo,updateFormSubmissions:qo,deleteFormSubmission:Co,deleteFormSubmissions:ot}=fi.actions,$o=t=>t.formSubmissionReducer.instances,k=l.createSelector([$o],t=>Object.values(t)),Uo=t=>s=>s.formSubmissionReducer.instances[t],Lo=y(l.createSelector([k,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ko=y(l.createSelector([k,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),M_=y(l.createSelector([k,(t,s)=>s],(t,s)=>S(t.filter(({organization:e})=>e===s)))),R_=y(l.createSelector([k,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>e===s)))),w_=y(l.createSelector([k,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({project:n,form:c})=>n===s&&c===e)))),v_=y(l.createSelector([k,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({organization:n,form:c})=>n===s&&c===e)))),No=y(l.createSelector([k,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>e===s)))),Go=y(l.createSelector([k,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({issue:n})=>n&&e.has(n)))})),Ho=y(l.createSelector([k,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>e===s)))),Wo=y(l.createSelector([k,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>n&&e.has(n)))})),Ko=fi.reducer,ye=P(t=>t.uuid),Yo={instances:{}},Si=l.createSlice({name:"geoImages",initialState:Yo,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Yo)),reducers:{initializeGeoImages:ye.initialize,setGeoImage:ye.setOne,setGeoImages:ye.setMany,addGeoImage:ye.addOne,addGeoImages:ye.addMany,updateGeoImage:ye.updateOne,updateGeoImages:ye.updateMany,deleteGeoImage:ye.deleteOne,deleteGeoImages:ye.deleteMany}}),{initializeGeoImages:Zo,setGeoImage:Jo,setGeoImages:Xo,addGeoImage:Qo,addGeoImages:xo,updateGeoImage:eh,updateGeoImages:th,deleteGeoImage:sh,deleteGeoImages:ih}=Si.actions,nh=t=>t.geoImageReducer.instances,Ai=l.createSelector([nh],t=>Object.values(t)),ch=t=>s=>s.geoImageReducer.instances[t],ah=y(l.createSelector([Ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),E_=y(l.createSelector([Ai,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),rh=Si.reducer,fe=P(t=>t.uuid),dh={instances:{}},Ii=l.createSlice({name:"issueAssociations",initialState:dh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,dh)),reducers:{initializeIssueAssociations:fe.initialize,addIssueAssociation:fe.addOne,addIssueAssociations:fe.addMany,setIssueAssociation:fe.setOne,setIssueAssociations:fe.setMany,updateIssueAssociation:fe.updateOne,updateIssueAssociations:fe.updateMany,deleteIssueAssociation:fe.deleteOne,deleteIssueAssociations:fe.deleteMany}}),{initializeIssueAssociations:uh,setIssueAssociations:lh,setIssueAssociation:oh,updateIssueAssociation:hh,updateIssueAssociations:mh,addIssueAssociation:ph,addIssueAssociations:Ot,deleteIssueAssociation:yh,deleteIssueAssociations:Pt}=Ii.actions,fh=t=>t.issueAssociationReducer.instances,Ft=l.createSelector([fh],t=>Object.values(t)),Sh=t=>s=>s.issueAssociationReducer.instances[t],Ah=y(l.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ih=y(l.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({issue:n})=>e.has(n)))})),Th=y(l.createSelector([Ft,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>e===s)))),Oh=y(l.createSelector([Ft,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>e===s)))),Ph=y(l.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>e.has(n)))})),Fh=Ii.reducer,Se=P(t=>t.uuid),bh={instances:{}},Ti=l.createSlice({name:"issueAttachments",initialState:bh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,bh)),reducers:{initializeIssueAttachments:Se.initialize,addIssueAttachment:Se.addOne,addIssueAttachments:Se.addMany,setIssueAttachment:Se.setOne,setIssueAttachments:Se.setMany,updateIssueAttachment:Se.updateOne,updateIssueAttachments:Se.updateMany,deleteIssueAttachment:Se.deleteOne,deleteIssueAttachments:Se.deleteMany}}),{initializeIssueAttachments:_h,addIssueAttachment:gh,addIssueAttachments:Oi,setIssueAttachment:Mh,setIssueAttachments:Rh,updateIssueAttachment:wh,updateIssueAttachments:vh,deleteIssueAttachment:Eh,deleteIssueAttachments:Pi}=Ti.actions,Bh=t=>t.issueAttachmentReducer.instances,Fi=l.createSelector([Bh],t=>Object.values(t)),Vh=y(l.createSelector([Fi,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>s===e)))),zh=t=>s=>s.issueAttachmentReducer.instances[t],Dh=y(l.createSelector([Fi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),jh=Ti.reducer,Ae=P(t=>t.uuid),qh={instances:{}},bi=l.createSlice({name:"issueCommentAttachments",initialState:qh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,qh)),reducers:{initializeIssueCommentAttachments:Ae.initialize,addIssueCommentAttachment:Ae.addOne,addIssueCommentAttachments:Ae.addMany,setIssueCommentAttachment:Ae.setOne,setIssueCommentAttachments:Ae.setMany,updateIssueCommentAttachment:Ae.updateOne,updateIssueCommentAttachments:Ae.updateMany,deleteIssueCommentAttachment:Ae.deleteOne,deleteIssueCommentAttachments:Ae.deleteMany}}),{initializeIssueCommentAttachments:Ch,addIssueCommentAttachment:$h,addIssueCommentAttachments:Uh,setIssueCommentAttachment:Lh,setIssueCommentAttachments:kh,updateIssueCommentAttachment:Nh,updateIssueCommentAttachments:Gh,deleteIssueCommentAttachment:Hh,deleteIssueCommentAttachments:Wh}=bi.actions,Kh=t=>t.issueCommentAttachmentReducer.instances,_i=l.createSelector([Kh],t=>Object.values(t)),Yh=t=>s=>s.issueCommentAttachmentReducer.instances[t],Zh=y(l.createSelector([_i,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),B_=y(l.createSelector([_i,(t,s)=>s],(t,s)=>S(t.filter(({issue_comment:e})=>s===e)))),Jh=bi.reducer,Ie=P(t=>t.uuid),Xh={instances:{}},gi=l.createSlice({name:"issueComments",initialState:Xh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Xh)),reducers:{initializeIssueComments:Ie.initialize,addIssueComment:Ie.addOne,addIssueComments:Ie.addMany,setIssueComment:Ie.setOne,setIssueComments:Ie.setMany,updateIssueComment:Ie.updateOne,updateIssueComments:Ie.updateMany,deleteIssueComment:Ie.deleteOne,deleteIssueComments:Ie.deleteMany}}),{initializeIssueComments:Qh,addIssueComment:xh,addIssueComments:em,setIssueComment:tm,setIssueComments:sm,updateIssueComment:im,updateIssueComments:nm,deleteIssueComment:cm,deleteIssueComments:am}=gi.actions,Mi=t=>t.issueCommentReducer.instances,rm=t=>s=>s.issueCommentReducer.instances[t],dm=y(l.createSelector([Mi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),V_=y(l.createSelector([Mi,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.issue===s)))),um=gi.reducer,Te=P(t=>t.uuid),lm={instances:{}},Ri=l.createSlice({name:"issues",initialState:lm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,lm)),reducers:{initializeIssues:Te.initialize,addIssue:Te.addOne,addIssues:Te.addMany,setIssue:Te.setOne,setIssues:Te.setMany,updateIssue:Te.updateOne,updateIssues:Te.updateMany,deleteIssue:Te.deleteOne,deleteIssues:Te.deleteMany}}),{initializeIssues:om,addIssue:hm,addIssues:wi,setIssue:mm,setIssues:pm,updateIssue:ym,updateIssues:fm,deleteIssue:Sm,deleteIssues:vi}=Ri.actions,Am=t=>t.issueReducer.instances,Qt=l.createSelector([Am],t=>Object.values(t)),Im=t=>s=>s.issueReducer.instances[t],Tm=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),z_=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Om=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),Pm=Ri.reducer,Oe=P(t=>t.uuid),Fm={instances:{}},Ei=l.createSlice({name:"issueTypeAttachments",initialState:Fm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Fm)),reducers:{initializeIssueTypeAttachments:Oe.initialize,addIssueTypeAttachment:Oe.addOne,addIssueTypeAttachments:Oe.addMany,setIssueTypeAttachment:Oe.setOne,setIssueTypeAttachments:Oe.setMany,updateIssueTypeAttachment:Oe.updateOne,updateIssueTypeAttachments:Oe.updateMany,deleteIssueTypeAttachment:Oe.deleteOne,deleteIssueTypeAttachments:Oe.deleteMany}}),{initializeIssueTypeAttachments:bm,addIssueTypeAttachment:_m,addIssueTypeAttachments:gm,setIssueTypeAttachment:Mm,setIssueTypeAttachments:Rm,updateIssueTypeAttachment:wm,updateIssueTypeAttachments:vm,deleteIssueTypeAttachment:Em,deleteIssueTypeAttachments:Bm}=Ei.actions,Vm=t=>t.issueTypeAttachmentReducer.instances,Bi=l.createSelector([Vm],t=>Object.values(t)),zm=t=>s=>s.issueTypeAttachmentReducer.instances[t],Dm=y(l.createSelector([Bi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),D_=y(l.createSelector([Bi,(t,s)=>s],(t,s)=>S(t.filter(({issue_type:e})=>s===e)))),jm=Ei.reducer,Pe=P(t=>t.uuid),qm={instances:{}},Vi=l.createSlice({name:"issueTypeFieldsAttachments",initialState:qm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,qm)),reducers:{initializeIssueTypeFieldsAttachments:Pe.initialize,addIssueTypeFieldsAttachment:Pe.addOne,addIssueTypeFieldsAttachments:Pe.addMany,setIssueTypeFieldsAttachment:Pe.setOne,setIssueTypeFieldsAttachments:Pe.setMany,updateIssueTypeFieldsAttachment:Pe.updateOne,updateIssueTypeFieldsAttachments:Pe.updateMany,deleteIssueTypeFieldsAttachment:Pe.deleteOne,deleteIssueTypeFieldsAttachments:Pe.deleteMany}}),{initializeIssueTypeFieldsAttachments:Cm,addIssueTypeFieldsAttachment:$m,addIssueTypeFieldsAttachments:Um,setIssueTypeFieldsAttachment:Lm,setIssueTypeFieldsAttachments:km,updateIssueTypeFieldsAttachment:Nm,updateIssueTypeFieldsAttachments:Gm,deleteIssueTypeFieldsAttachment:Hm,deleteIssueTypeFieldsAttachments:Wm}=Vi.actions,Km=t=>t.issueTypeFieldsAttachmentReducer.instances,zi=l.createSelector([Km],t=>Object.values(t)),j_=y(l.createSelector([zi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),Ym=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],Zm=y(l.createSelector([zi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Jm=Vi.reducer,Fe=P(t=>t.uuid),Xm={instances:{}},Di=l.createSlice({name:"issueTypeFieldValues",initialState:Xm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Xm)),reducers:{initializeIssueTypeFieldValues:Fe.initialize,addIssueTypeFieldValues:Fe.addOne,addIssueTypeFieldValuesMany:Fe.addMany,setIssueTypeFieldValues:Fe.setOne,setIssueTypeFieldValuesMany:Fe.setMany,updateIssueTypeFieldValues:Fe.updateOne,updateIssueTypeFieldValuesMany:Fe.updateMany,deleteIssueTypeFieldValues:Fe.deleteOne,deleteIssueTypeFieldValuesMany:Fe.deleteMany}}),{initializeIssueTypeFieldValues:Qm,addIssueTypeFieldValues:xm,addIssueTypeFieldValuesMany:ep,setIssueTypeFieldValues:tp,setIssueTypeFieldValuesMany:sp,updateIssueTypeFieldValues:ip,updateIssueTypeFieldValuesMany:np,deleteIssueTypeFieldValues:cp,deleteIssueTypeFieldValuesMany:ap}=Di.actions,rp=t=>t.issueTypeFieldValuesReducer.instances,xt=l.createSelector([rp],t=>Object.values(t)),q_=y(l.createSelector([xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),dp=t=>s=>s.issueTypeFieldValuesReducer.instances[t],up=y(l.createSelector([xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),lp=Di.reducer,be=P(t=>t.uuid),op={instances:{}},ji=l.createSlice({name:"issueTypeFields",initialState:op,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,op)),reducers:{initializeIssueTypeFields:be.initialize,addIssueTypeFields:be.addOne,addIssueTypeFieldsMany:be.addMany,setIssueTypeFields:be.setOne,setIssueTypeFieldsMany:be.setMany,updateIssueTypeFields:be.updateOne,updateIssueTypeFieldsMany:be.updateMany,deleteIssueTypeFields:be.deleteOne,deleteIssueTypeFieldsMany:be.deleteMany}}),{initializeIssueTypeFields:hp,addIssueTypeFields:mp,addIssueTypeFieldsMany:pp,setIssueTypeFields:yp,setIssueTypeFieldsMany:fp,updateIssueTypeFields:Sp,updateIssueTypeFieldsMany:Ap,deleteIssueTypeFields:Ip,deleteIssueTypeFieldsMany:Tp}=ji.actions,Op=t=>t.issueTypeFieldsReducer.instances,Et=l.createSelector([Op],t=>Object.values(t)),C_=y(l.createSelector([Et,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),$_=y(l.createSelector([Et,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),U_=y(l.createSelector([Et,xt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(c=>c.issue_type===e).map(c=>c.uuid));return S(s.filter(c=>n.has(c.fields_revision)))})),Pp=t=>s=>s.issueTypeFieldsReducer.instances[t],Fp=y(l.createSelector([Et,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),bp=ji.reducer,_e=P(t=>t.uuid),_p={instances:{}},qi=l.createSlice({name:"issueTypeFieldValuesAttachments",initialState:_p,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,_p)),reducers:{initializeIssueTypeFieldValuesAttachments:_e.initialize,addIssueTypeFieldValuesAttachment:_e.addOne,addIssueTypeFieldValuesAttachments:_e.addMany,setIssueTypeFieldValuesAttachment:_e.setOne,setIssueTypeFieldValuesAttachments:_e.setMany,updateIssueTypeFieldValuesAttachment:_e.updateOne,updateIssueTypeFieldValuesAttachments:_e.updateMany,deleteIssueTypeFieldValuesAttachment:_e.deleteOne,deleteIssueTypeFieldValuesAttachments:_e.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:gp,addIssueTypeFieldValuesAttachment:Mp,addIssueTypeFieldValuesAttachments:Ci,setIssueTypeFieldValuesAttachment:Rp,setIssueTypeFieldValuesAttachments:wp,updateIssueTypeFieldValuesAttachment:vp,updateIssueTypeFieldValuesAttachments:Ep,deleteIssueTypeFieldValuesAttachment:Bp,deleteIssueTypeFieldValuesAttachments:$i}=qi.actions,Vp=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Ui=l.createSelector([Vp],t=>Object.values(t)),zp=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],Dp=y(l.createSelector([Ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),jp=y(l.createSelector([Ui,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),qp=qi.reducer,ge=P(t=>t.uuid),Cp={instances:{}},Li=l.createSlice({name:"issueTypeIdentifiers",initialState:Cp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Cp)),reducers:{initializeIssueTypeIdentifiers:ge.initialize,addIssueTypeIdentifier:ge.addOne,addIssueTypeIdentifiers:ge.addMany,setIssueTypeIdentifier:ge.setOne,setIssueTypeIdentifiers:ge.setMany,updateIssueTypeIdentifier:ge.updateOne,updateIssueTypeIdentifiers:ge.updateMany,deleteIssueTypeIdentifier:ge.deleteOne,deleteIssueTypeIdentifiers:ge.deleteMany}}),{initializeIssueTypeIdentifiers:$p,addIssueTypeIdentifier:Up,addIssueTypeIdentifiers:Lp,setIssueTypeIdentifier:kp,setIssueTypeIdentifiers:Np,updateIssueTypeIdentifier:Gp,updateIssueTypeIdentifiers:Hp,deleteIssueTypeIdentifier:Wp,deleteIssueTypeIdentifiers:Kp}=Li.actions,Yp=t=>t.issueTypeIdentifierReducer.instances,ki=l.createSelector([Yp],t=>Object.values(t)),Zp=t=>s=>s.issueTypeIdentifierReducer.instances[t],Jp=y(l.createSelector([ki,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),L_=y(l.createSelector([ki,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),Xp=Li.reducer,Me=P(t=>t.uuid),Qp={instances:{}},Ni=l.createSlice({name:"issueTypeIdentifierValues",initialState:Qp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Qp)),reducers:{initializeIssueTypeIdentifierValues:Me.initialize,addIssueTypeIdentifierValue:Me.addOne,addIssueTypeIdentifierValues:Me.addMany,setIssueTypeIdentifierValue:Me.setOne,setIssueTypeIdentifierValues:Me.setMany,updateIssueTypeIdentifierValue:Me.updateOne,updateIssueTypeIdentifierValues:Me.updateMany,deleteIssueTypeIdentifierValue:Me.deleteOne,deleteIssueTypeIdentifierValues:Me.deleteMany}}),{initializeIssueTypeIdentifierValues:xp,addIssueTypeIdentifierValue:ey,addIssueTypeIdentifierValues:ty,setIssueTypeIdentifierValue:sy,setIssueTypeIdentifierValues:iy,updateIssueTypeIdentifierValue:ny,updateIssueTypeIdentifierValues:cy,deleteIssueTypeIdentifierValue:ay,deleteIssueTypeIdentifierValues:ry}=Ni.actions,dy=t=>t.issueTypeIdentifierValueReducer.instances,es=l.createSelector([dy],t=>Object.values(t)),uy=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],ly=y(l.createSelector([es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),k_=y(l.createSelector([es,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),N_=y(l.createSelector([es,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type_identifier===s)))),oy=Ni.reducer,Re=P(t=>t.uuid),hy={instances:{}},Gi=l.createSlice({name:"issueTypePriorities",initialState:hy,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,hy)),reducers:{initializeIssueTypePriorities:Re.initialize,addIssueTypePriority:Re.addOne,addIssueTypePriorities:Re.addMany,setIssueTypePriority:Re.setOne,setIssueTypePriorities:Re.setMany,updateIssueTypePriority:Re.updateOne,updateIssueTypePriorities:Re.updateMany,deleteIssueTypePriority:Re.deleteOne,deleteIssueTypePriorities:Re.deleteMany}}),{initializeIssueTypePriorities:my,addIssueTypePriority:py,addIssueTypePriorities:yy,setIssueTypePriority:fy,setIssueTypePriorities:Sy,updateIssueTypePriority:Ay,updateIssueTypePriorities:Iy,deleteIssueTypePriority:Ty,deleteIssueTypePriorities:Oy}=Gi.actions,Py=t=>t.issueTypePriorityReducer.instances,Hi=l.createSelector([Py],t=>S(Object.values(t).toSorted(kc))),Wi=t=>s=>s.issueTypePriorityReducer.instances[t],Fy=y(l.createSelector([Hi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),G_=y(l.createSelector([Hi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),by=Gi.reducer,we=P(t=>t.uuid),_y={instances:{}},Ki=l.createSlice({name:"issueTypes",initialState:_y,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,_y)),reducers:{initializeIssueTypes:we.initialize,addIssueType:we.addOne,addIssueTypes:we.addMany,setIssueType:we.setOne,setIssueTypes:we.setMany,updateIssueType:we.updateOne,updateIssueTypes:we.updateMany,deleteIssueType:we.deleteOne,deleteIssueTypes:we.deleteMany}}),{initializeIssueTypes:gy,addIssueType:My,addIssueTypes:Ry,setIssueType:wy,setIssueTypes:vy,updateIssueType:Ey,updateIssueTypes:By,deleteIssueType:Vy,deleteIssueTypes:zy}=Ki.actions,Dy=t=>t.issueTypeReducer.instances,Yi=l.createSelector(Dy,t=>Object.values(t)),jy=t=>s=>s.issueTypeReducer.instances[t],qy=y(l.createSelector([Yi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),H_=y(l.createSelector([Yi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Cy=Ki.reducer,ve=P(t=>t.uuid),$y={instances:{}},Zi=l.createSlice({name:"issueTypeStatuses",initialState:$y,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,$y)),reducers:{initializeIssueTypeStatuses:ve.initialize,addIssueTypeStatus:ve.addOne,addIssueTypeStatuses:ve.addMany,setIssueTypeStatus:ve.setOne,setIssueTypeStatuses:ve.setMany,updateIssueTypeStatus:ve.updateOne,updateIssueTypeStatuses:ve.updateMany,deleteIssueTypeStatus:ve.deleteOne,deleteIssueTypeStatuses:ve.deleteMany}}),{initializeIssueTypeStatuses:Uy,addIssueTypeStatus:Ly,addIssueTypeStatuses:ky,setIssueTypeStatus:Ny,setIssueTypeStatuses:Gy,updateIssueTypeStatus:Hy,updateIssueTypeStatuses:Wy,deleteIssueTypeStatus:Ky,deleteIssueTypeStatuses:Yy}=Zi.actions,Zy=t=>t.issueTypeStatusReducer.instances,Ji=l.createSelector([Zy],t=>S(Object.values(t).toSorted(Lc))),Xi=t=>s=>s.issueTypeStatusReducer.instances[t],Jy=y(l.createSelector([Ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),W_=y(l.createSelector([Ji,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),Xy=Zi.reducer,Ee=P(t=>t.uuid),Qy={instances:{}},Qi=l.createSlice({name:"issueUpdates",initialState:Qy,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Qy)),reducers:{initializeIssueUpdates:Ee.initialize,addIssueUpdate:Ee.addOne,addIssueUpdates:Ee.addMany,setIssueUpdate:Ee.setOne,setIssueUpdates:Ee.setMany,updateIssueUpdate:Ee.updateOne,updateIssueUpdates:Ee.updateMany,deleteIssueUpdate:Ee.deleteOne,deleteIssueUpdates:Ee.deleteMany}}),{initializeIssueUpdates:xy,addIssueUpdate:xi,addIssueUpdates:en,setIssueUpdate:ef,setIssueUpdates:tf,updateIssueUpdate:sf,updateIssueUpdates:nf,deleteIssueUpdate:tn,deleteIssueUpdates:sn}=Qi.actions,nn=t=>t.issueUpdateReducer.instances,cn=l.createSelector([nn],t=>Object.values(t)),cf=y(l.createSelector([nn,(t,s)=>s],(t,s)=>t[s])),af=y(l.createSelector([cn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rf=y(l.createSelector([cn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),df=Qi.reducer,Be=P(t=>t.id),uf={instances:{},currentUser:null},an=l.createSlice({name:"users",initialState:uf,extraReducers:t=>t.addCase(T,s=>Object.assign(s,uf)).addCase(F,s=>Object.assign(s,{...s,instances:[]})),reducers:{initializeUsers:Be.initialize,setUsers:Be.setMany,setUser:Be.setOne,addUsers:Be.addMany,addUser:Be.addOne,updateUsers:Be.updateMany,updateUser:Be.updateOne,deleteUser:Be.deleteOne,deleteUsers:Be.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload},setCurrentUserProfile:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile=s.payload;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile=s.payload}}}),{initializeUsers:lf,setUsers:of,setUser:hf,addUsers:mf,addUser:rn,updateUsers:pf,updateUser:yf,deleteUser:dn,deleteUsers:ff,setCurrentUser:K_,setCurrentUserProfile:Y_}=an.actions,Sf=an.reducer,Af=t=>t.userReducer.currentUser,un=t=>t.userReducer.instances,ts=l.createSelector([un],t=>Object.values(t)),ss=t=>s=>s.userReducer.instances[t],If=y(l.createSelector([ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({id:n})=>e.has(n)))})),Ve=P(t=>t.uuid),Tf={instances:{}},ln=l.createSlice({name:"organizationAccess",initialState:Tf,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Tf)),reducers:{initializeOrganizationAccesses:Ve.initialize,addOrganizationAccess:Ve.addOne,addOrganizationAccesses:Ve.addMany,setOrganizationAccess:Ve.setOne,setOrganizationAccesses:Ve.setMany,updateOrganizationAccess:Ve.updateOne,updateOrganizationAccesses:Ve.updateMany,deleteOrganizationAccess:Ve.deleteOne,deleteOrganizationAccesses:Ve.deleteMany}}),{initializeOrganizationAccesses:Of,addOrganizationAccess:Pf,addOrganizationAccesses:Ff,setOrganizationAccess:bf,setOrganizationAccesses:_f,updateOrganizationAccess:gf,updateOrganizationAccesses:Mf,deleteOrganizationAccess:Rf,deleteOrganizationAccesses:wf}=ln.actions,vf=ln.reducer,is=t=>t.organizationAccessReducer.instances,Ef=t=>s=>s.organizationAccessReducer.instances[t],Bf=y(l.createSelector([is,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),Z_=l.createSelector([Af,is],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),Vf=l.createSelector([is],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return ps(s)}),J_=y(l.createSelector([un,Vf,(t,s)=>s],(t,s,e)=>S(Object.values(t).filter(n=>{const c=s[n.id];return!!c&&c.organization===e})))),ze=P(t=>t.uuid),zf={instances:{}},on=l.createSlice({name:"organizations",initialState:zf,extraReducers:t=>t.addMatcher(l.isAnyOf(T),s=>Object.assign(s,zf)),reducers:{initializeOrganizations:ze.initialize,setOrganizations:ze.setMany,setOrganization:ze.setOne,addOrganizations:ze.addMany,addOrganization:ze.addOne,updateOrganizations:ze.updateMany,updateOrganization:ze.updateOne,deleteOrganization:ze.deleteOne,deleteOrganizations:ze.deleteMany}}),{initializeOrganizations:Df,setOrganizations:jf,setOrganization:qf,addOrganizations:Cf,addOrganization:$f,updateOrganizations:Uf,updateOrganization:Lf,deleteOrganization:kf,deleteOrganizations:Nf}=on.actions,Gf=t=>t.organizationReducer.instances,Hf=l.createSelector([Gf],t=>Object.values(t)),Wf=t=>s=>s.organizationReducer.instances[t],Kf=y(l.createSelector([Hf,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Yf=on.reducer,Zf=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:ut.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},Jf={deletedRequests:[],latestRetryTime:0},hn=l.createSlice({name:"outbox",initialState:Jf,extraReducers:t=>t.addCase(T,s=>Object.assign(s,Jf)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:s,serviceName:e,...n}=t;return Zf(n,s,e)}},markForDeletion(t,s){t.deletedRequests.push(s.payload)},markAsDeleted(t,s){const e=t.deletedRequests.indexOf(s.payload);e!==-1&&t.deletedRequests.splice(e,1)},_setLatestRetryTime:(t,s)=>{t.latestRetryTime=s.payload}}}),X_=t=>t.outboxReducer.deletedRequests,Q_=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:Xf,markForDeletion:x_,markAsDeleted:Qf,_setLatestRetryTime:xf}=hn.actions,eS=hn.reducer,De=P(t=>t.uuid),tS={instances:{}},mn=l.createSlice({name:"projectAccess",initialState:tS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,tS)),reducers:{initializeProjectAccesses:De.initialize,addProjectAccess:De.addOne,addProjectAccesses:De.addMany,setProjectAccess:De.setOne,setProjectAccesses:De.setMany,updateProjectAccess:De.updateOne,updateProjectAccesses:De.updateMany,deleteProjectAccess:De.deleteOne,deleteProjectAccesses:De.deleteMany}}),{initializeProjectAccesses:sS,addProjectAccess:iS,addProjectAccesses:nS,setProjectAccess:cS,setProjectAccesses:aS,updateProjectAccess:rS,updateProjectAccesses:dS,deleteProjectAccess:uS,deleteProjectAccesses:lS}=mn.actions,oS=mn.reducer,pn=t=>t.projectAccessReducer.instances,Bt=l.createSelector(pn,t=>Object.values(t)),hS=t=>s=>s.projectAccessReducer.instances[t],mS=y(l.createSelector([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),eg=y(l.createSelector([pn,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.project===s)))),tg=y(l.createSelector([Bt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(c=>c.project===s))e[n.user]=n;return e})),sg=y(l.createSelector([ts,Bt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(c=>c.project===e).map(c=>c.user));return S(t.filter(c=>n.has(c.id)))})),je=P(t=>t.uuid),pS={instances:{}},yn=l.createSlice({name:"projectAttachments",initialState:pS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,pS)),reducers:{initializeProjectAttachments:je.initialize,addProjectAttachment:je.addOne,addProjectAttachments:je.addMany,setProjectAttachment:je.setOne,setProjectAttachments:je.setMany,updateProjectAttachment:je.updateOne,updateProjectAttachments:je.updateMany,deleteProjectAttachment:je.deleteOne,deleteProjectAttachments:je.deleteMany}}),{initializeProjectAttachments:yS,addProjectAttachment:fS,addProjectAttachments:SS,setProjectAttachment:AS,setProjectAttachments:IS,updateProjectAttachment:TS,updateProjectAttachments:OS,deleteProjectAttachment:PS,deleteProjectAttachments:FS}=yn.actions,bS=t=>t.projectAttachmentReducer.instances,fn=l.createSelector([bS],t=>Object.values(t)),_S=t=>s=>s.projectAttachmentReducer.instances[t],gS=y(l.createSelector([fn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ig=y(l.createSelector([fn,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>s===e)))),MS=yn.reducer,qe=P(t=>t.uuid),RS={instances:{}},Sn=l.createSlice({name:"projectComments",initialState:RS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,RS)),reducers:{initializeProjectComments:qe.initialize,addProjectComment:qe.addOne,addProjectComments:qe.addMany,setProjectComment:qe.setOne,setProjectComments:qe.setMany,updateProjectComment:qe.updateOne,updateProjectComments:qe.updateMany,deleteProjectComment:qe.deleteOne,deleteProjectComments:qe.deleteMany}}),{initializeProjectComments:wS,addProjectComment:vS,addProjectComments:ES,setProjectComment:BS,setProjectComments:VS,updateProjectComment:zS,updateProjectComments:DS,deleteProjectComment:jS,deleteProjectComments:qS}=Sn.actions,CS=t=>t.projectCommentReducer.instances,ns=l.createSelector([CS],t=>S(Object.values(t).toSorted(Tt))),$S=t=>s=>s.projectCommentReducer.instances[t],US=y(l.createSelector([ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ng=y(l.createSelector([ns,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),cg=y(l.createSelector([ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.project)))})),LS=Sn.reducer,Ce=P(t=>t.uuid),kS={instances:{}},An=l.createSlice({name:"projectFiles",initialState:kS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,kS)),reducers:{initializeProjectFiles:Ce.initialize,setProjectFile:Ce.setOne,setProjectFiles:Ce.setMany,addProjectFile:Ce.addOne,addProjectFiles:Ce.addMany,updateProjectFile:Ce.updateOne,updateProjectFiles:Ce.updateMany,deleteProjectFile:Ce.deleteOne,deleteProjectFiles:Ce.deleteMany}}),{initializeProjectFiles:NS,setProjectFile:GS,setProjectFiles:HS,addProjectFile:WS,addProjectFiles:KS,updateProjectFile:YS,updateProjectFiles:ZS,deleteProjectFile:JS,deleteProjectFiles:XS}=An.actions,QS=t=>t.projectFileReducer.instances,xS=l.createSelector([QS],t=>S(Object.values(t).toSorted((s,e)=>s.z_index-e.z_index))),eA=t=>s=>s.projectFileReducer.instances[t],tA=y(l.createSelector([xS,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),sA=An.reducer,$e=P(t=>t.uuid),iA={instances:{}},In=l.createSlice({name:"projects",initialState:iA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,iA)),reducers:{initializeProjects:$e.initialize,setProjects:$e.setMany,setProject:$e.setOne,addProjects:$e.addMany,addProject:$e.addOne,updateProjects:$e.updateMany,updateProject:$e.updateOne,deleteProject:$e.deleteOne,deleteProjects:$e.deleteMany}}),{initializeProjects:nA,setProjects:cA,setProject:aA,addProjects:rA,addProject:dA,updateProjects:uA,updateProject:lA,deleteProject:oA,deleteProjects:hA}=In.actions,mA=In.reducer,pA=t=>t.projectReducer.instances,cs=l.createSelector([pA],t=>Object.values(t)),yA=t=>s=>s.projectReducer.instances[t],fA=y(l.createSelector([cs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ag=y(l.createSelector([cs,Bt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(c=>c.user===e).map(c=>c.project));return S(t.filter(c=>n.has(c.uuid)))})),rg=y(l.createSelector([cs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Ue=P(({uuid:t})=>t),SA={instances:{}},Tn=l.createSlice({name:"procedureInitiatives",initialState:SA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,SA)),reducers:{initializeProcedureInitiatives:Ue.initialize,addProcedureInitiative:Ue.addOne,addProcedureInitiatives:Ue.addMany,setProcedureInitiative:Ue.setOne,setProcedureInitiatives:Ue.setMany,updateProcedureInitiative:Ue.updateOne,updateProcedureInitiatives:Ue.updateMany,deleteProcedureInitiative:Ue.deleteOne,deleteProcedureInitiatives:Ue.deleteMany}}),{initializeProcedureInitiatives:AA,addProcedureInitiative:IA,addProcedureInitiatives:TA,setProcedureInitiative:OA,setProcedureInitiatives:PA,updateProcedureInitiative:FA,updateProcedureInitiatives:bA,deleteProcedureInitiative:_A,deleteProcedureInitiatives:gA}=Tn.actions,MA=Tn.reducer,RA=t=>t.procedureInitiativeReducer.instances,as=l.createSelector([RA],t=>Object.values(t)),wA=t=>s=>s.procedureInitiativeReducer.instances[t],vA=y(l.createSelector([as,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),dg=y(l.createSelector([as,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),ug=y(l.createSelector([as,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),Le=P(({uuid:t})=>t),EA={instances:{}},On=l.createSlice({name:"procedures",initialState:EA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,EA)),reducers:{initializeProcedures:Le.initialize,addProcedure:Le.addOne,addProcedures:Le.addMany,setProcedure:Le.setOne,setProcedures:Le.setMany,updateProcedure:Le.updateOne,updateProcedures:Le.updateMany,deleteProcedure:Le.deleteOne,deleteProcedures:Le.deleteMany}}),{initializeProcedures:BA,addProcedure:VA,addProcedures:bt,setProcedure:zA,setProcedures:DA,updateProcedure:jA,updateProcedures:qA,deleteProcedure:CA,deleteProcedures:_t}=On.actions,$A=On.reducer,UA=t=>t.procedureReducer.instances,ht=l.createSelector([UA],t=>Object.values(t)),LA=t=>s=>s.procedureReducer.instances[t],kA=y(l.createSelector([ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),lg=y(l.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),NA=y(l.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),GA=y(l.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),HA=y(l.createSelector([ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>e.has(n)))})),WA=y(l.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_initiative===s)))),ke=P(t=>t.uuid),KA={instances:{}},Pn=l.createSlice({name:"procedureStepAssignees",initialState:KA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,KA)),reducers:{initializeProcedureStepAssignees:ke.initialize,addProcedureStepAssignee:ke.addOne,addProcedureStepAssignees:ke.addMany,setProcedureStepAssignee:ke.setOne,setProcedureStepAssignees:ke.setMany,updateProcedureStepAssignee:ke.updateOne,updateProcedureStepAssignees:ke.updateMany,deleteProcedureStepAssignee:ke.deleteOne,deleteProcedureStepAssignees:ke.deleteMany}}),{initializeProcedureStepAssignees:YA,addProcedureStepAssignee:ZA,addProcedureStepAssignees:JA,setProcedureStepAssignee:XA,setProcedureStepAssignees:QA,updateProcedureStepAssignee:xA,updateProcedureStepAssignees:eI,deleteProcedureStepAssignee:tI,deleteProcedureStepAssignees:sI}=Pn.actions,iI=t=>t.procedureStepAssigneeReducer.instances,Vt=l.createSelector([iI],t=>Object.values(t)),nI=t=>s=>s.procedureStepAssigneeReducer.instances[t],cI=y(l.createSelector([Vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),og=y(l.createSelector([Vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),hg=y(l.createSelector([Vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),mg=y(l.createSelector([Vt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:c})=>n===s&&c===e)))),aI=Pn.reducer,Ne=P(t=>t.uuid),rI={instances:{}},Fn=l.createSlice({name:"procedureStepComments",initialState:rI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,rI)),reducers:{initializeProcedureStepComments:Ne.initialize,addProcedureStepComment:Ne.addOne,addProcedureStepComments:Ne.addMany,setProcedureStepComment:Ne.setOne,setProcedureStepComments:Ne.setMany,updateProcedureStepComment:Ne.updateOne,updateProcedureStepComments:Ne.updateMany,deleteProcedureStepComment:Ne.deleteOne,deleteProcedureStepComments:Ne.deleteMany}}),{initializeProcedureStepComments:dI,addProcedureStepComment:uI,addProcedureStepComments:lI,setProcedureStepComment:oI,setProcedureStepComments:hI,updateProcedureStepComment:mI,updateProcedureStepComments:pI,deleteProcedureStepComment:yI,deleteProcedureStepComments:fI}=Fn.actions,SI=t=>t.procedureStepCommentReducer.instances,zt=l.createSelector([SI],t=>Object.values(t)),AI=t=>s=>s.procedureStepCommentReducer.instances[t],II=y(l.createSelector([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),pg=y(l.createSelector([zt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),yg=y(l.createSelector([zt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),fg=y(l.createSelector([zt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:c})=>n===s&&c===e)))),TI=Fn.reducer,Ge=P(t=>t.uuid),OI={instances:{}},bn=l.createSlice({name:"procedureStepDefaultAssignees",initialState:OI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,OI)),reducers:{initializeProcedureStepDefaultAssignees:Ge.initialize,addProcedureStepDefaultAssignee:Ge.addOne,addProcedureStepDefaultAssignees:Ge.addMany,setProcedureStepDefaultAssignee:Ge.setOne,setProcedureStepDefaultAssignees:Ge.setMany,updateProcedureStepDefaultAssignee:Ge.updateOne,updateProcedureStepDefaultAssignees:Ge.updateMany,deleteProcedureStepDefaultAssignee:Ge.deleteOne,deleteProcedureStepDefaultAssignees:Ge.deleteMany}}),{initializeProcedureStepDefaultAssignees:PI,addProcedureStepDefaultAssignee:FI,addProcedureStepDefaultAssignees:bI,setProcedureStepDefaultAssignee:_I,setProcedureStepDefaultAssignees:gI,updateProcedureStepDefaultAssignee:MI,updateProcedureStepDefaultAssignees:RI,deleteProcedureStepDefaultAssignee:wI,deleteProcedureStepDefaultAssignees:vI}=bn.actions,EI=t=>t.procedureStepDefaultAssigneeReducer.instances,_n=l.createSelector([EI],t=>Object.values(t)),BI=t=>s=>s.procedureStepDefaultAssigneeReducer.instances[t],VI=y(l.createSelector([_n,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Sg=y(l.createSelector([_n,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),zI=bn.reducer,He=P(t=>t.uuid),DI={instances:{}},gn=l.createSlice({name:"procedureStepDefaultReviewers",initialState:DI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,DI)),reducers:{initializeProcedureStepDefaultReviewers:He.initialize,addProcedureStepDefaultReviewer:He.addOne,addProcedureStepDefaultReviewers:He.addMany,setProcedureStepDefaultReviewer:He.setOne,setProcedureStepDefaultReviewers:He.setMany,updateProcedureStepDefaultReviewer:He.updateOne,updateProcedureStepDefaultReviewers:He.updateMany,deleteProcedureStepDefaultReviewer:He.deleteOne,deleteProcedureStepDefaultReviewers:He.deleteMany}}),{initializeProcedureStepDefaultReviewers:jI,addProcedureStepDefaultReviewer:qI,addProcedureStepDefaultReviewers:CI,setProcedureStepDefaultReviewer:$I,setProcedureStepDefaultReviewers:UI,updateProcedureStepDefaultReviewer:LI,updateProcedureStepDefaultReviewers:kI,deleteProcedureStepDefaultReviewer:NI,deleteProcedureStepDefaultReviewers:GI}=gn.actions,HI=t=>t.procedureStepDefaultReviewerReducer.instances,Mn=l.createSelector([HI],t=>Object.values(t)),WI=t=>s=>s.procedureStepDefaultReviewerReducer.instances[t],KI=y(l.createSelector([Mn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ag=y(l.createSelector([Mn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),YI=gn.reducer,We=P(t=>t.uuid),ZI={instances:{}},Rn=l.createSlice({name:"procedureStepEvents",initialState:ZI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ZI)),reducers:{initializeProcedureStepEvents:We.initialize,addProcedureStepEvent:We.addOne,addProcedureStepEvents:We.addMany,setProcedureStepEvent:We.setOne,setProcedureStepEvents:We.setMany,updateProcedureStepEvent:We.updateOne,updateProcedureStepEvents:We.updateMany,deleteProcedureStepEvent:We.deleteOne,deleteProcedureStepEvents:We.deleteMany}}),{initializeProcedureStepEvents:JI,addProcedureStepEvent:XI,addProcedureStepEvents:QI,setProcedureStepEvent:xI,setProcedureStepEvents:eT,updateProcedureStepEvent:tT,updateProcedureStepEvents:sT,deleteProcedureStepEvent:iT,deleteProcedureStepEvents:nT}=Rn.actions,cT=t=>t.procedureStepEventReducer.instances,Dt=l.createSelector([cT],t=>Object.values(t)),aT=t=>s=>s.procedureStepEventReducer.instances[t],rT=y(l.createSelector([Dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ig=y(l.createSelector([Dt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),Tg=y(l.createSelector([Dt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),Og=y(l.createSelector([Dt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:c})=>n===s&&c===e)))),dT=Rn.reducer,Ke=P(t=>t.uuid),uT={instances:{}},wn=l.createSlice({name:"procedureStepFieldsAttachments",initialState:uT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,uT)),reducers:{initializeProcedureStepFieldsAttachments:Ke.initialize,addProcedureStepFieldsAttachment:Ke.addOne,addProcedureStepFieldsAttachments:Ke.addMany,setProcedureStepFieldsAttachment:Ke.setOne,setProcedureStepFieldsAttachments:Ke.setMany,updateProcedureStepFieldsAttachment:Ke.updateOne,updateProcedureStepFieldsAttachments:Ke.updateMany,deleteProcedureStepFieldsAttachment:Ke.deleteOne,deleteProcedureStepFieldsAttachments:Ke.deleteMany}}),{initializeProcedureStepFieldsAttachments:lT,addProcedureStepFieldsAttachment:oT,addProcedureStepFieldsAttachments:vn,setProcedureStepFieldsAttachment:hT,setProcedureStepFieldsAttachments:mT,updateProcedureStepFieldsAttachment:pT,updateProcedureStepFieldsAttachments:yT,deleteProcedureStepFieldsAttachment:fT,deleteProcedureStepFieldsAttachments:En}=wn.actions,ST=t=>t.procedureStepFieldsAttachmentReducer.instances,Bn=l.createSelector([ST],t=>Object.values(t)),AT=y(l.createSelector([Bn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),IT=t=>s=>s.procedureStepFieldsAttachmentReducer.instances[t],TT=y(l.createSelector([Bn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),OT=wn.reducer,Ye=P(t=>t.uuid),PT={instances:{}},Vn=l.createSlice({name:"procedureStepFields",initialState:PT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,PT)),reducers:{initializeProcedureStepFields:Ye.initialize,addProcedureStepFields:Ye.addOne,addProcedureStepFieldsMany:Ye.addMany,setProcedureStepFields:Ye.setOne,setProcedureStepFieldsMany:Ye.setMany,updateProcedureStepFields:Ye.updateOne,updateProcedureStepFieldsMany:Ye.updateMany,deleteProcedureStepFields:Ye.deleteOne,deleteProcedureStepFieldsMany:Ye.deleteMany}}),{initializeProcedureStepFields:FT,addProcedureStepFields:bT,addProcedureStepFieldsMany:_T,setProcedureStepFields:gT,setProcedureStepFieldsMany:MT,updateProcedureStepFields:RT,updateProcedureStepFieldsMany:wT,deleteProcedureStepFields:vT,deleteProcedureStepFieldsMany:ET}=Vn.actions,zn=t=>t.procedureStepFieldsReducer.instances,rs=l.createSelector([zn],t=>Object.values(t)),Pg=y(l.createSelector([rs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),Fg=y(l.createSelector([rs,(t,s)=>s],(t,s)=>t.filter(e=>e.procedure_step===s).toSorted(Tt).pop())),bg=l.createSelector([zn],t=>{const s={};for(const e of Object.values(t)){const n=s[e.procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.procedure_step]=e)}return s}),BT=t=>s=>s.procedureStepFieldsReducer.instances[t],VT=y(l.createSelector([rs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),zT=Vn.reducer,Ze=P(t=>t.uuid),DT={instances:{}},Dn=l.createSlice({name:"procedureStepFieldValuesAttachments",initialState:DT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,DT)),reducers:{initializeProcedureStepFieldValuesAttachments:Ze.initialize,addProcedureStepFieldValuesAttachment:Ze.addOne,addProcedureStepFieldValuesAttachments:Ze.addMany,setProcedureStepFieldValuesAttachment:Ze.setOne,setProcedureStepFieldValuesAttachments:Ze.setMany,updateProcedureStepFieldValuesAttachment:Ze.updateOne,updateProcedureStepFieldValuesAttachments:Ze.updateMany,deleteProcedureStepFieldValuesAttachment:Ze.deleteOne,deleteProcedureStepFieldValuesAttachments:Ze.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:jT,addProcedureStepFieldValuesAttachment:qT,addProcedureStepFieldValuesAttachments:jn,setProcedureStepFieldValuesAttachment:CT,setProcedureStepFieldValuesAttachments:$T,updateProcedureStepFieldValuesAttachment:UT,updateProcedureStepFieldValuesAttachments:LT,deleteProcedureStepFieldValuesAttachment:kT,deleteProcedureStepFieldValuesAttachments:qn}=Dn.actions,NT=t=>t.procedureStepFieldValuesAttachmentReducer.instances,Cn=l.createSelector([NT],t=>Object.values(t)),GT=t=>s=>s.procedureStepFieldValuesAttachmentReducer.instances[t],HT=y(l.createSelector([Cn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),WT=y(l.createSelector([Cn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),KT=Dn.reducer,Je=P(t=>t.uuid),YT={instances:{}},$n=l.createSlice({name:"procedureStepFieldValues",initialState:YT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,YT)),reducers:{initializeProcedureStepFieldValues:Je.initialize,addProcedureStepFieldValues:Je.addOne,addProcedureStepFieldValuesMany:Je.addMany,setProcedureStepFieldValues:Je.setOne,setProcedureStepFieldValuesMany:Je.setMany,updateProcedureStepFieldValues:Je.updateOne,updateProcedureStepFieldValuesMany:Je.updateMany,deleteProcedureStepFieldValues:Je.deleteOne,deleteProcedureStepFieldValuesMany:Je.deleteMany}}),{initializeProcedureStepFieldValues:ZT,addProcedureStepFieldValues:JT,addProcedureStepFieldValuesMany:XT,setProcedureStepFieldValues:QT,setProcedureStepFieldValuesMany:xT,updateProcedureStepFieldValues:eO,updateProcedureStepFieldValuesMany:tO,deleteProcedureStepFieldValues:sO,deleteProcedureStepFieldValuesMany:iO}=$n.actions,nO=$n.reducer,cO=t=>t.procedureStepFieldValuesReducer.instances,mt=l.createSelector([cO],t=>Object.values(t)),_g=y(l.createSelector([mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),gg=y(l.createSelector([mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),aO=t=>s=>s.procedureStepFieldValuesReducer.instances[t],rO=y(l.createSelector([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Mg=y(l.createSelector([mt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:c})=>n===s&&c===e)))),Xe=P(t=>t.uuid),dO={instances:{}},Un=l.createSlice({name:"procedureStepFieldValuesReviews",initialState:dO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,dO)),reducers:{initializeProcedureStepFieldValuesReviews:Xe.initialize,addProcedureStepFieldValuesReview:Xe.addOne,addProcedureStepFieldValuesReviews:Xe.addMany,setProcedureStepFieldValuesReview:Xe.setOne,setProcedureStepFieldValuesReviews:Xe.setMany,updateProcedureStepFieldValuesReview:Xe.updateOne,updateProcedureStepFieldValuesReviews:Xe.updateMany,deleteProcedureStepFieldValuesReview:Xe.deleteOne,deleteProcedureStepFieldValuesReviews:Xe.deleteMany}}),{initializeProcedureStepFieldValuesReviews:uO,addProcedureStepFieldValuesReview:lO,addProcedureStepFieldValuesReviews:Ln,setProcedureStepFieldValuesReview:oO,setProcedureStepFieldValuesReviews:hO,updateProcedureStepFieldValuesReview:mO,updateProcedureStepFieldValuesReviews:pO,deleteProcedureStepFieldValuesReview:yO,deleteProcedureStepFieldValuesReviews:kn}=Un.actions,fO=t=>t.procedureStepFieldValuesReviewReducer.instances,pt=l.createSelector([fO],t=>Object.values(t)),SO=t=>s=>s.procedureStepFieldValuesReviewReducer.instances[t],AO=y(l.createSelector([pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),IO=y(l.createSelector([pt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),Rg=y(l.createSelector([pt,(t,s)=>s],(t,s)=>{let e;for(const n of t){const{field_values:c}=n;c===s&&(!e||e.submitted_at<=n.submitted_at)&&(e=n)}return e})),wg=y(l.createSelector([mt,pt,(t,s)=>s],(t,s,e)=>{const n=new Set(w(t.filter(({procedure:c})=>e===c)));return S(s.filter(({field_values:c})=>n.has(c)))})),vg=y(l.createSelector([mt,pt,(t,s)=>s,(t,s,e)=>e],(t,s,e,n)=>{const c=new Set(w(t.filter(({procedure_step:r,procedure:a})=>e===a&&r===n)));return S(s.filter(({field_values:r})=>c.has(r)))})),Eg=l.createSelector([pt],t=>{const s={};for(const e of t){const{field_values:n}=e,c=s[n];(!c||c.submitted_at<=e.submitted_at)&&(s[n]=e)}return s}),TO=Un.reducer,Qe=P(t=>t.uuid),OO={instances:{}},Nn=l.createSlice({name:"procedureStepReviewers",initialState:OO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,OO)),reducers:{initializeProcedureStepReviewers:Qe.initialize,addProcedureStepReviewer:Qe.addOne,addProcedureStepReviewers:Qe.addMany,setProcedureStepReviewer:Qe.setOne,setProcedureStepReviewers:Qe.setMany,updateProcedureStepReviewer:Qe.updateOne,updateProcedureStepReviewers:Qe.updateMany,deleteProcedureStepReviewer:Qe.deleteOne,deleteProcedureStepReviewers:Qe.deleteMany}}),{initializeProcedureStepReviewers:PO,addProcedureStepReviewer:FO,addProcedureStepReviewers:bO,setProcedureStepReviewer:_O,setProcedureStepReviewers:gO,updateProcedureStepReviewer:MO,updateProcedureStepReviewers:RO,deleteProcedureStepReviewer:wO,deleteProcedureStepReviewers:vO}=Nn.actions,EO=t=>t.procedureStepReviewerReducer.instances,jt=l.createSelector([EO],t=>Object.values(t)),BO=t=>s=>s.procedureStepReviewerReducer.instances[t],VO=y(l.createSelector([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Bg=y(l.createSelector([jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),Vg=y(l.createSelector([jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),zg=y(l.createSelector([jt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:c})=>n===s&&c===e)))),zO=Nn.reducer,xe=P(t=>t.uuid),DO={instances:{}},Gn=l.createSlice({name:"procedureSteps",initialState:DO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,DO)),reducers:{initializeProcedureSteps:xe.initialize,setProcedureStep:xe.setOne,setProcedureSteps:xe.setMany,addProcedureStep:xe.addOne,addProcedureSteps:xe.addMany,updateProcedureStep:xe.updateOne,updateProcedureSteps:xe.updateMany,deleteProcedureStep:xe.deleteOne,deleteProcedureSteps:xe.deleteMany}}),{initializeProcedureSteps:jO,setProcedureStep:qO,setProcedureSteps:CO,addProcedureStep:$O,addProcedureSteps:UO,updateProcedureStep:LO,updateProcedureSteps:kO,deleteProcedureStep:NO,deleteProcedureSteps:GO}=Gn.actions,HO=Gn.reducer,Hn=t=>t.procedureStepReducer.instances,WO=t=>s=>s.procedureStepReducer.instances[t],Wn=l.createSelector([Hn],t=>Object.values(t).toSorted((s,e)=>s.order-e.order)),Dg=y(l.createSelector([Hn,(t,s)=>s],(t,s)=>{const e={};for(const[n,c]of Object.entries(t))c.procedure_type===s&&(e[n]=c);return ps(e)})),jg=y(l.createSelector([Wn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),KO=y(l.createSelector([Wn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),et=P(({uuid:t})=>t),YO={instances:{}},Kn=l.createSlice({name:"procedureTypeAttachments",initialState:YO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,YO)),reducers:{initializeProcedureTypeAttachments:et.initialize,addProcedureTypeAttachment:et.addOne,addProcedureTypeAttachments:et.addMany,setProcedureTypeAttachment:et.setOne,setProcedureTypeAttachments:et.setMany,updateProcedureTypeAttachment:et.updateOne,updateProcedureTypeAttachments:et.updateMany,deleteProcedureTypeAttachment:et.deleteOne,deleteProcedureTypeAttachments:et.deleteMany}}),{initializeProcedureTypeAttachments:ZO,addProcedureTypeAttachment:JO,addProcedureTypeAttachments:XO,setProcedureTypeAttachment:QO,setProcedureTypeAttachments:xO,updateProcedureTypeAttachment:eP,updateProcedureTypeAttachments:tP,deleteProcedureTypeAttachment:sP,deleteProcedureTypeAttachments:iP}=Kn.actions,nP=Kn.reducer,cP=t=>t.procedureTypeAttachmentReducer.instances,Yn=l.createSelector([cP],t=>Object.values(t)),aP=t=>s=>s.procedureTypeAttachmentReducer.instances[t],rP=y(l.createSelector([Yn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),qg=y(l.createSelector([Yn,(t,s)=>s],(t,s)=>S(t.filter(({procedure_type:e})=>s===e)))),tt=P(({uuid:t})=>t),dP={instances:{}},Zn=l.createSlice({name:"procedureTypeFieldsAttachments",initialState:dP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,dP)),reducers:{initializeProcedureTypeFieldsAttachments:tt.initialize,addProcedureTypeFieldsAttachment:tt.addOne,addProcedureTypeFieldsAttachments:tt.addMany,setProcedureTypeFieldsAttachment:tt.setOne,setProcedureTypeFieldsAttachments:tt.setMany,updateProcedureTypeFieldsAttachment:tt.updateOne,updateProcedureTypeFieldsAttachments:tt.updateMany,deleteProcedureTypeFieldsAttachment:tt.deleteOne,deleteProcedureTypeFieldsAttachments:tt.deleteMany}}),{initializeProcedureTypeFieldsAttachments:uP,addProcedureTypeFieldsAttachment:lP,addProcedureTypeFieldsAttachments:oP,setProcedureTypeFieldsAttachment:hP,setProcedureTypeFieldsAttachments:mP,updateProcedureTypeFieldsAttachment:pP,updateProcedureTypeFieldsAttachments:yP,deleteProcedureTypeFieldsAttachment:fP,deleteProcedureTypeFieldsAttachments:SP}=Zn.actions,AP=Zn.reducer,IP=t=>t.procedureTypeFieldsAttachmentReducer.instances,Jn=l.createSelector([IP],t=>Object.values(t)),Cg=y(l.createSelector([Jn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),TP=t=>s=>s.procedureTypeFieldsAttachmentReducer.instances[t],OP=y(l.createSelector([Jn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),st=P(({uuid:t})=>t),PP={instances:{}},Xn=l.createSlice({name:"procedureTypeFields",initialState:PP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,PP)),reducers:{initializeProcedureTypeFields:st.initialize,addProcedureTypeFields:st.addOne,addProcedureTypeFieldsMany:st.addMany,setProcedureTypeFields:st.setOne,setProcedureTypeFieldsMany:st.setMany,updateProcedureTypeFields:st.updateOne,updateProcedureTypeFieldsMany:st.updateMany,deleteProcedureTypeFields:st.deleteOne,deleteProcedureTypeFieldsMany:st.deleteMany}}),{initializeProcedureTypeFields:FP,addProcedureTypeFields:bP,addProcedureTypeFieldsMany:_P,setProcedureTypeFields:gP,setProcedureTypeFieldsMany:MP,updateProcedureTypeFields:RP,updateProcedureTypeFieldsMany:wP,deleteProcedureTypeFields:vP,deleteProcedureTypeFieldsMany:EP}=Xn.actions,BP=Xn.reducer,VP=t=>t.procedureTypeFieldsReducer.instances,ds=l.createSelector([VP],t=>Object.values(t)),$g=y(l.createSelector([ds,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),Ug=y(l.createSelector([ds,(t,s)=>s],(t,s)=>t.filter(e=>e.procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),zP=t=>s=>s.procedureTypeFieldsReducer.instances[t],DP=y(l.createSelector([ds,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),it=P(({uuid:t})=>t),jP={instances:{}},Qn=l.createSlice({name:"procedureFieldValuesAttachments",initialState:jP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,jP)),reducers:{initializeProcedureFieldValuesAttachments:it.initialize,addProcedureFieldValuesAttachment:it.addOne,addProcedureFieldValuesAttachments:it.addMany,setProcedureFieldValuesAttachment:it.setOne,setProcedureFieldValuesAttachments:it.setMany,updateProcedureFieldValuesAttachment:it.updateOne,updateProcedureFieldValuesAttachments:it.updateMany,deleteProcedureFieldValuesAttachment:it.deleteOne,deleteProcedureFieldValuesAttachments:it.deleteMany}}),{initializeProcedureFieldValuesAttachments:qP,addProcedureFieldValuesAttachment:CP,addProcedureFieldValuesAttachments:xn,setProcedureFieldValuesAttachment:$P,setProcedureFieldValuesAttachments:UP,updateProcedureFieldValuesAttachment:LP,updateProcedureFieldValuesAttachments:kP,deleteProcedureFieldValuesAttachment:NP,deleteProcedureFieldValuesAttachments:ec}=Qn.actions,GP=Qn.reducer,HP=t=>t.procedureFieldValuesAttachmentReducer.instances,tc=l.createSelector([HP],t=>Object.values(t)),WP=t=>s=>s.procedureFieldValuesAttachmentReducer.instances[t],KP=y(l.createSelector([tc,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),YP=y(l.createSelector([tc,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),nt=P(({uuid:t})=>t),ZP={instances:{}},sc=l.createSlice({name:"procedureFieldValues",initialState:ZP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ZP)),reducers:{initializeProcedureFieldValues:nt.initialize,addProcedureFieldValues:nt.addOne,addProcedureFieldValuesMany:nt.addMany,setProcedureFieldValues:nt.setOne,setProcedureFieldValuesMany:nt.setMany,updateProcedureFieldValues:nt.updateOne,updateProcedureFieldValuesMany:nt.updateMany,deleteProcedureFieldValues:nt.deleteOne,deleteProcedureFieldValuesMany:nt.deleteMany}}),{initializeProcedureFieldValues:JP,addProcedureFieldValues:XP,addProcedureFieldValuesMany:QP,setProcedureFieldValues:xP,setProcedureFieldValuesMany:eF,updateProcedureFieldValues:tF,updateProcedureFieldValuesMany:sF,deleteProcedureFieldValues:iF,deleteProcedureFieldValuesMany:nF}=sc.actions,cF=sc.reducer,aF=t=>t.procedureFieldValuesReducer.instances,ic=l.createSelector([aF],t=>Object.values(t)),Lg=y(l.createSelector([ic,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),rF=t=>s=>s.procedureFieldValuesReducer.instances[t],dF=y(l.createSelector([ic,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ct=P(t=>t.uuid),uF={instances:{}},nc=l.createSlice({name:"procedureTypes",initialState:uF,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,uF)),reducers:{initializeProcedureTypes:ct.initialize,addProcedureType:ct.addOne,addProcedureTypes:ct.addMany,setProcedureType:ct.setOne,setProcedureTypes:ct.setMany,updateProcedureType:ct.updateOne,updateProcedureTypes:ct.updateMany,deleteProcedureType:ct.deleteOne,deleteProcedureTypes:ct.deleteMany}}),{initializeProcedureTypes:lF,addProcedureType:oF,addProcedureTypes:hF,setProcedureType:mF,setProcedureTypes:pF,updateProcedureType:yF,updateProcedureTypes:fF,deleteProcedureType:SF,deleteProcedureTypes:AF}=nc.actions,IF=nc.reducer,TF=t=>t.procedureTypeReducer.instances,cc=l.createSelector([TF],t=>Object.values(t)),OF=t=>s=>s.procedureTypeReducer.instances[t],PF=y(l.createSelector([cc,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),kg=y(l.createSelector([cc,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Ng={isRehydrated:!1},ac=l.createSlice({name:"rehydrated",initialState:Ng,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:Gg}=ac.actions,Hg=t=>t.rehydratedReducer.isRehydrated,FF=ac.reducer,at=P(t=>t.uuid),bF={instances:{}},rc=l.createSlice({name:"teamMemberships",initialState:bF,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,bF)),reducers:{initializeTeamMemberships:at.initialize,addTeamMembership:at.addOne,addTeamMemberships:at.addMany,setTeamMembership:at.setOne,setTeamMemberships:at.setMany,updateTeamMembership:at.updateOne,updateTeamMemberships:at.updateMany,deleteTeamMembership:at.deleteOne,deleteTeamMemberships:at.deleteMany}}),{initializeTeamMemberships:_F,addTeamMembership:gF,addTeamMemberships:MF,setTeamMembership:RF,setTeamMemberships:wF,updateTeamMembership:vF,updateTeamMemberships:EF,deleteTeamMembership:BF,deleteTeamMemberships:VF}=rc.actions,zF=rc.reducer,DF=t=>t.teamMembershipReducer.instances,us=l.createSelector([DF],t=>Object.values(t)),jF=t=>s=>s.teamMembershipReducer.instances[t],qF=y(l.createSelector([us,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Wg=y(l.createSelector([us,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(c=>c.team===s))e[n.user]=n;return e})),Kg=y(l.createSelector([ts,us,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(c=>c.team===e).map(c=>c.user));return S(t.filter(c=>n.has(c.id)))})),rt=P(t=>t.uuid),CF={instances:{}},dc=l.createSlice({name:"teams",initialState:CF,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,CF)),reducers:{initializeTeams:rt.initialize,addTeam:rt.addOne,addTeams:rt.addMany,setTeam:rt.setOne,setTeams:rt.setMany,updateTeam:rt.updateOne,updateTeams:rt.updateMany,deleteTeam:rt.deleteOne,deleteTeams:rt.deleteMany}}),{initializeTeams:$F,addTeam:UF,addTeams:LF,setTeam:kF,setTeams:NF,updateTeam:GF,updateTeams:HF,deleteTeam:WF,deleteTeams:KF}=dc.actions,YF=t=>t.teamReducer.instances,uc=l.createSelector([YF],t=>Object.values(t)),ZF=t=>s=>s.teamReducer.instances[t],JF=y(l.createSelector([uc,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Yg=y(l.createSelector([uc,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),XF=dc.reducer,lc={outboxReducer:eS,authReducer:tu},Zg=l.combineReducers(lc),QF={...lc,assetReducer:ja,assetAttachmentReducer:ua,assetCommentReducer:Fa,assetTypeReducer:Cd,assetTypeAttachmentReducer:Za,issueReducer:Pm,issueAttachmentReducer:jh,issueTypeReducer:Cy,issueTypeAttachmentReducer:jm,organizationReducer:Yf,projectReducer:mA,projectAttachmentReducer:MS,projectCommentReducer:LS,projectAccessReducer:oS,organizationAccessReducer:vf,projectFileReducer:sA,procedureTypeReducer:IF,procedureInitiativeReducer:MA,procedureReducer:$A,procedureTypeFieldsReducer:BP,procedureFieldValuesReducer:cF,procedureTypeAttachmentReducer:nP,procedureTypeFieldsAttachmentReducer:AP,procedureFieldValuesAttachmentReducer:GP,procedureStepFieldsAttachmentReducer:OT,procedureStepFieldsReducer:zT,procedureStepFieldValuesAttachmentReducer:KT,procedureStepFieldValuesReducer:nO,procedureStepFieldValuesReviewReducer:TO,procedureStepAssigneeReducer:aI,procedureStepCommentReducer:TI,procedureStepDefaultAssigneeReducer:zI,procedureStepDefaultReviewerReducer:YI,procedureStepEventReducer:dT,procedureStepReviewerReducer:zO,procedureStepReducer:HO,rehydratedReducer:FF,formReducer:yo,formRevisionReducer:Gl,formRevisionAttachmentReducer:El,formSubscriberReducer:io,formSubmissionAttachmentReducer:vo,formSubmissionReducer:Ko,formIdentifierReducer:il,formIdentifierValueReducer:Sl,userReducer:Sf,emailDomainsReducer:Nu,documentsReducer:gu,documentAttachmentReducer:yu,teamReducer:XF,agentsReducer:Jc,issueCommentReducer:um,issueCommentAttachmentReducer:Jh,issueUpdateReducer:df,geoImageReducer:rh,issueAssociationReducer:Fh,issueTypeFieldsReducer:bp,issueTypeFieldValuesReducer:lp,issueTypeFieldsAttachmentReducer:Jm,issueTypeFieldValuesAttachmentReducer:qp,issueTypeIdentifierReducer:Xp,issueTypeIdentifierValueReducer:oy,issueTypePriorityReducer:by,issueTypeStatusReducer:Xy,assetTypeFieldsReducer:Fr,assetTypeFieldValuesReducer:Jr,assetTypeFieldsAttachmentReducer:ur,assetTypeFieldValuesAttachmentReducer:jr,assetTypeIdentifierReducer:ld,assetTypeIdentifierValueReducer:bd,assetTypeStatusReducer:Qd,teamMembershipReducer:zF},Jg=l.combineReducers(QF),xF=1e4,oc=[400,409,403,404,405,500],N=1e4,eb={};class tb{constructor(s){h(this,"client");h(this,"pageSize",xF);eb[this.constructor.name]=this,this.client=s}async performRequest(s,e){return this.client.performRequest(this.host,s,this,e)}async enqueueRequest(s){return this.client.enqueueRequest(s,this.host,this.constructor.name)}async performPagination(s,e){return this.client.performPagination(this.host,s,this.pageSize,this,e)}dispatch(s){this.client.store.dispatch(s)}select(s){return s(this.client.store.getState())}}const Xg=t=>{if(t)throw t;const s=Rt();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},sb=(t,s,e)=>{const n=St();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},ib=(t,s,e)=>{const n=St();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const r=s.meta.offlineAction.payload.uuid;return n.remove(r),n.getQueue()};async function Qg(t,s){if(!s.payload)throw new Error("Received empty payload");return fb(s)}const xg={...Ic,effect:Qg,discard:cb,returnPromises:!0,persistCallback:Xg,retry:sM,persistOptions:{storage:Fb},queue:{...Ic.queue,enqueue:sb,dequeue:ib,peek:(...t)=>tM(...t)}},eM=Pb.offline(xg);async function nb(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const c=eb[t.meta.offline.effect.serviceName];if(!c)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return pc(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,c,e)}function cb(t,s,e=0){var p;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
|
|
2
2
|
Url:`,s.payload.url,`
|
|
3
3
|
Retries:`,e),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const n=Rt(),r=n.getState().outboxReducer.deletedRequests,a=s.payload.uuid;function u(){n.dispatch(Qf(a));const m=St();if(!m)throw new Error("Outbox coordinator not set");m.remove(s.payload.uuid);const f=s.meta.offline.rollback;throw f&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(f)),t}if(t instanceof U&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s.payload.url),u()),r.includes(a)&&(console.debug("Discarding request due to deletion:",s.payload.url),u()),t instanceof U){const m=t.status||((p=t.response)==null?void 0:p.status);if(m||console.warn("Error has no status code:",t),m!==void 0&&oc.includes(m)){console.warn("Discarding request due to error:",t,`
|
|
4
4
|
Action:`,s);const f=St();if(!f)throw new Error("Outbox coordinator not set");f.remove(s.payload.uuid),t.options.discard=!0,u()}}console.debug("Registering a retry for request:",s.payload.uuid);const d=St();if(!d)throw new Error("Outbox coordinator not set");return d.registerRetry(s.payload.uuid),!1}function tM(t,s,e){var n;return(n=St())==null?void 0:n.peek()}function sM(t,s){return Rt().dispatch(xf(new Date().getTime())),Pc}const gt="An unknown error occurred",iM=500,ab=["non_field_errors","detail"];function nM(t,s){let e;if(t!=null&&t.body)if(typeof t.body=="object"){const n=t.body;if(typeof n.error=="string")e=n.error;else if(typeof n.message=="string")e=n.message;else try{e=Object.entries(n).map(([c,r])=>typeof r=="string"?ab.includes(c)?r:`${c}: ${r}`:Array.isArray(r)?ab.includes(c)?r.join(`
|
|
5
5
|
`):r.map(a=>`${c}: ${a}`).join(`
|
|
6
6
|
`):`${c}: ${JSON.stringify(r)}`).join(`
|
|
7
|
-
`)}catch(c){console.error("Failed to extract error message from response body",c)}}else typeof t.body=="string"&&(e=t.body);else t!=null&&t.text?e=t.text:s instanceof Error&&(e=s.message);return!e||e.length>iM?gt:e}class U extends Error{constructor(e){super(gt);h(this,"status");h(this,"response");h(this,"message");h(this,"options");const{response:n,innerError:c}=e;this.message=e.message??nM(n,c)??gt,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function rb(t){function s(e){return typeof e=="object"&&e!==null&&["ok","redirect","clientError","serverError","error"].every(c=>c in e)}if(s(t))return t;if(typeof t=="object"&&t!==null){const e=t;if(s(e.response))return e.response;if(e.response&&s(e.response.response))return e.response.response}}class cM extends tb{constructor(s){super(s)}}class yt extends tb{constructor(e,n){super(e);h(this,"auth");this.auth=n}}class aM extends yt{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:o.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(Kc(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:o.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(c=>{this.dispatch(Zc(c))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:o.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(Yc(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:o.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:o.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(Wc(n)),n}}function dt(t,s){const e=[];let n=0;const c=t.length;for(;n<c;)e.push(t.slice(n,n+=s));return e}function A(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case o.GET:return`Get ${n}`;case o.POST:return`Create ${n}`;case o.PATCH:return`Update ${n}`;case o.PUT:return`Update ${n}`;case o.DELETE:return`Delete ${n}`}}function R(t){const s={...t};for(const e of[...Fc,"created_by"])e in s&&delete s[e];return s}class v extends yt{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:o.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:o.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:o.GET,...s},e)}}class j extends v{async getPresignedUrl(s,e){const{selectById:n}=this.selectors,c=this.select(n(s));if(!c)throw new Error(`Could not find ${this.name}: ${s} in store.`);if(c.object_url)return c.object_url;const r=await this.client.files.getPresignedUrlFromCache(c.file_sha1);if(r)return r;const a=await this.performRequest({url:`${this.url}/${s}/presigned-url/`,method:o.GET},e);return await this.client.files.cachePresignedUrl(c.file_sha1,a),a}async add(s){const{addOne:e,updateOne:n,deleteOne:c}=this.actions;let r,a=null,u=null;if("file"in s){const{file:_,...b}=s;a=await this.client.files.getFilePayload(_),u=URL.createObjectURL(_),r={...b,file_sha1:a.sha1,file_type:a.file_type,file_name:_.name,file_extension:a.extension,object_url:u}}else r=s;const d=this.buildModel(r),p=this.buildPayload(d);this.dispatch(e(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...p,...a?{file:a}:{}},blockers:this.getBlockers(d),blocks:this.getBlocks(d)});m.then(({instance:_})=>{this.dispatch(n(_))}).catch(_=>{throw this.dispatch(c(this.getId(d))),_}).finally(()=>{u&&URL.revokeObjectURL(u)});const f=m.then(({instance:_})=>_),I=m.then(async({instance:_,presigned_url:b})=>{try{return b&&await this.client.files.processPresignedUrl(_.file_sha1,b),_.file_sha1}catch(M){throw console.error("Upload to s3 using presigned url failed.",M),M}});return[d,f,I]}async bulkAdd(s,e){const{addMany:n,updateMany:c,deleteMany:r}=this.actions,a=new Date().toISOString(),u=[],d=new Set,p=dt(s,Math.min(e??s.length,N)),m=[];for(const b of p){const M=[],g={},E=[],B=[];for(const z of b){let D;if("file"in z){const{file:Sc,...ER}=z,wt=await this.client.files.getFilePayload(Sc);wt.sha1 in g||(g[wt.sha1]=wt);const Ib=URL.createObjectURL(Sc);d.add(Ib),D={...ER,file_sha1:wt.sha1,file_type:wt.file_type,file_name:Sc.name,file_extension:wt.extension,object_url:Ib}}else D=z;const At=this.buildModel(D);u.push(At);const q=this.buildBulkPayload(At);M.push(q);const G=this.getBlockers(At);E.push(...G);const ls=this.getBlocks(At);B.push(...ls)}const C={payloads:M,submittedAt:a,files:Object.values(g),blockers:E,blocks:B};m.push(C)}this.dispatch(n(u));const f=m.map(b=>{const{submittedAt:M,files:g,payloads:E,blocks:B,blockers:C}=b;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:M,files:g,payloads:E},blockers:C,blocks:B})});Promise.all(f).then(b=>{const M=b.flatMap(g=>g.instances);this.dispatch(c(M))}).catch(b=>{throw this.dispatch(r(u.map(M=>this.getId(M)))),console.error(b),b}).finally(()=>{for(const b of d)URL.revokeObjectURL(b)});const I=Promise.all(f).then(b=>b.flatMap(({instances:M})=>M)),_=Promise.all(f).then(async b=>{const M=[];for(const{presigned_urls:g}of b){const E=this.client.files.processPresignedUrls(g);for(const[B,C]of Object.entries(E))try{await C,M.push(B)}catch(z){throw console.error("Upload to s3 using presigned url failed.",z),z}}return M});return[u,I,_]}async delete(s){const{addOne:e,deleteOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(s));if(!r)throw new Error(`Attempting to delete ${this.name} with pk ${s} that does not exist in the store`);this.dispatch(n(this.getId(r)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${s}/`,blockers:[s],blocks:[]})}catch(a){throw this.dispatch(e(r)),a}}}class rM extends j{constructor(){super(...arguments);h(this,"name","Asset attachment");h(this,"url","/asset-attachments");h(this,"actions",{addOne:xc,addMany:Ts,setOne:ea,setMany:ta,updateOne:sa,updateMany:ia,deleteOne:na,deleteMany:Os,initialize:Qc});h(this,"selectors",{selectById:aa,selectByIds:ra})}getId(e){return e.uuid}getBlockers(e){const{asset:n}=e;return[n]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(c(a)),a}}class dM extends v{constructor(){super(...arguments);h(this,"name","Asset Comment");h(this,"url","/asset-comments");h(this,"actions",{addOne:ha,addMany:Ut,setOne:ma,setMany:pa,updateOne:ya,updateMany:fa,deleteOne:Sa,deleteMany:Lt,initialize:oa});h(this,"selectors",{selectById:Ia,selectByIds:Ta})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.asset],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Asset comment with uuid ${e.uuid} not found in store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Asset comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(c(a)),a}}class uM extends v{constructor(){super(...arguments);h(this,"url","/assets");h(this,"name","Asset");h(this,"actions",{addOne:ga,addMany:_s,setOne:va,setMany:Ea,updateOne:Ma,updateMany:Ra,deleteOne:wa,deleteMany:gs,initialize:_a});h(this,"selectors",{selectById:za,selectByIds:Da})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{addOne:n,deleteOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No asset with uuid ${e} found in the store`);const u=this.select(da(e)),d=this.select(Oa(e)),p=this.select(Oh(e)),m=this.select(GA(e)),f=this.select(Ho(e));this.dispatch(c(e)),this.dispatch(Os(w(u))),this.dispatch(Lt(w(d))),this.dispatch(Pt(w(p))),this.dispatch(_t(w(m))),this.dispatch(ot(w(f)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(I){throw this.dispatch(n(a)),this.dispatch(Ts(u)),this.dispatch(Ut(d)),this.dispatch(Ot(p)),this.dispatch(bt(m)),this.dispatch(lt(f)),I}}bulkAdd(e,n){const{addMany:c}=this.actions,r=new Date().toISOString(),a=dt(e,Math.min(n??e.length,N)).map(p=>{const m=p.map(f=>O(f));return{batchId:ut.v4(),payload:{submitted_at:r,assets:m}}}),u=[];let d=null;for(const p of a){const{batchId:m,payload:f}=p,I=f.assets.map(({uuid:E})=>E),_=f.assets.map(({asset_type:E})=>E),b=f.assets.map(({project:E})=>E),M=f.assets.map(({status:E})=>E),g=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(d?[d]:[]).concat(_).concat(b).concat(M),blocks:[m].concat(I)});d=p.batchId,u.push(g)}return Promise.all(u).then(p=>{const m=p.flat();this.dispatch(c(m))}),u}bulkUpdate(e,n){const{updateMany:c}=this.actions,{selectByIds:r}=this.selectors,a=w(e).toSorted($t);if(a.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(a)).toSorted(fs);if(a.length!=u.length)throw new Error(`Attempting to bulk update ${a.length-u.length} assets that dont exist in the store`);const d=[];for(let I=0;I<a.length;I++)d.push({...u[I],...e[I]});this.dispatch(c(d));const p=dt(e,Math.min(n??e.length,N)),m=[];let f=null;for(const I of p){const _=ut.v4(),b=w(I),M=I.map(({status:E})=>E).filter(Boolean),g=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(f?[f]:[]).concat(b).concat(M),blocks:[_].concat(b)});m.push(g),f=_}return Promise.all(m).then(I=>{this.dispatch(c(I.flat()))}).catch(()=>{this.dispatch(c(u))}),[d,m]}async bulkDelete(e){const{addMany:n,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e)),u=this.select(Pa(e)),d=this.select(Ph(e)),p=this.select(HA(e)),m=this.select(Wo(e));this.dispatch(c(e)),this.dispatch(Lt(w(u))),this.dispatch(Pt(w(d))),this.dispatch(_t(w(p))),this.dispatch(ot(w(m)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(f){throw this.dispatch(n(a)),this.dispatch(Ut(u)),this.dispatch(Ot(d)),this.dispatch(bt(p)),this.dispatch(lt(m)),f}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class lM extends j{constructor(){super(...arguments);h(this,"name","Asset Type Attachment");h(this,"url","/asset-type-attachments");h(this,"actions",{addOne:$a,addMany:Rs,setOne:Ua,setMany:La,updateOne:ka,updateMany:Na,deleteOne:Ga,deleteMany:ws,initialize:Ca});h(this,"selectors",{selectById:Wa,selectByIds:Ka})}getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(c(r)),r}}class oM extends j{constructor(){super(...arguments);h(this,"name","Asset Type Fields Attachment");h(this,"url","/asset-type-fields-attachments");h(this,"actions",{addOne:Qa,addMany:xa,setOne:er,setMany:tr,updateOne:sr,updateMany:ir,deleteOne:nr,deleteMany:cr,initialize:Xa});h(this,"selectors",{selectById:rr,selectByIds:dr})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(c(r)),r}}class hM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Fields");h(this,"url","/asset-type-fields");h(this,"actions",{addOne:hr,addMany:mr,setOne:pr,setMany:yr,updateOne:fr,updateMany:Sr,deleteOne:Ar,deleteMany:Ir,initialize:or});h(this,"selectors",{selectById:Or,selectByIds:Pr})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(m=>{throw this.dispatch(r(d.uuid)),m}),[d,p]}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(c(r)),r}}class mM extends j{constructor(){super(...arguments);h(this,"name","Asset Type Field Values Attachment");h(this,"url","/asset-type-field-values-attachments");h(this,"actions",{addOne:gr,addMany:Ds,setOne:Mr,setMany:Rr,updateOne:wr,updateMany:vr,deleteOne:Er,deleteMany:js,initialize:_r});h(this,"selectors",{selectById:Vr,selectByIds:zr})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class pM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Field Values");h(this,"url","/asset-type-field-values");h(this,"actions",{addOne:$r,addMany:Ur,setOne:Lr,setMany:kr,updateOne:Nr,updateMany:Gr,deleteOne:Hr,deleteMany:Wr,initialize:Cr});h(this,"selectors",{selectById:Yr,selectByIds:Zr})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.asset,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{payloads:c,values:r}=e,{addMany:a,setMany:u,deleteMany:d}=this.actions,p=new Date().toISOString(),m=[],f=dt(c,Math.min(n??c.length,N)),I=[];for(const b of f){const M=[];for(const g of b){const E=O({...g,values:g.values,created_by:this.select(B=>{var C;return((C=B.userReducer.currentUser)==null?void 0:C.id)??null}),submitted_at:p});m.push(E),M.push({uuid:E.uuid,asset:g.asset,fields_revision:g.fields_revision,published_at:g.published_at,values:E.values})}I.push({submitted_at:p,values:r,field_values:M})}this.dispatch(a(m));const _=[];for(const b of I){const{field_values:M}=b,g=M.map(({asset:z})=>z),E=M.map(({fields_revision:z})=>z),B=M.map(({uuid:z})=>z),C=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:g.concat(E),blocks:B});_.push(C)}return Promise.all(_).then(b=>{this.dispatch(u(b.flat()))}).catch(()=>{this.dispatch(d(w(m)))}),[m,_]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid,a.fields_revision,a.asset],blocks:[a.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(Dr(e));this.dispatch(n(e)),this.dispatch(js(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(Ds(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class yM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Identifier");h(this,"url","/asset-type-identifiers");h(this,"actions",{addOne:xr,addMany:ed,setOne:td,setMany:sd,updateOne:id,updateMany:nd,deleteOne:cd,deleteMany:ad,initialize:Qr});h(this,"selectors",{selectById:dd,selectByIds:ud})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(c(r)),r}}class fM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Identifier Value");h(this,"url","/asset-type-identifier-values");h(this,"actions",{addOne:md,addMany:pd,setOne:yd,setMany:fd,updateOne:Sd,updateMany:Ad,deleteOne:Id,deleteMany:Td,initialize:hd});h(this,"selectors",{selectById:Pd,selectByIds:Fd})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.asset,e.asset_type_identifier],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{addMany:c,updateMany:r,deleteMany:a}=this.actions,u=new Date().toISOString(),d=this.select(b=>{var M;return((M=b.userReducer.currentUser)==null?void 0:M.id)??null}),p=dt(e,Math.min(n??e.length,N)),m=[],f=[];for(const b of p){const M=[],g=[],E=[];for(const C of b){const z=O({...C,submitted_at:u,created_by:d});f.push(z);const D={uuid:z.uuid,asset:z.asset,asset_type_identifier:z.asset_type_identifier,value:z.value};M.push(D),g.push(z.asset),g.push(z.asset_type_identifier),E.push(z.uuid)}const B={payloads:M,submitted_at:u,blockers:g,blocks:E};m.push(B)}this.dispatch(c(f));const I=m.map(b=>{const{payloads:M,submitted_at:g,blockers:E,blocks:B}=b;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:g,payloads:M},blockers:E,blocks:B})});Promise.all(I).then(b=>{this.dispatch(r(b.flat()))}).catch(b=>{throw this.dispatch(a(w(f))),b});const _=Promise.all(I).then(b=>b.flat());return[f,_]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class SM extends v{constructor(){super(...arguments);h(this,"name","Asset Type");h(this,"url","/asset-types");h(this,"actions",{addOne:wd,addMany:vd,setOne:Md,setMany:Rd,updateOne:Ed,updateMany:Bd,deleteOne:Vd,deleteMany:zd,initialize:gd});h(this,"selectors",{selectById:jd,selectByIds:qd})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected asset type with uuid ${e} to exist`);const u=this.select(Va(e)),d=this.select(Ya(e));this.dispatch(n(e)),this.dispatch(gs(w(u))),this.dispatch(ws(w(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(a)),this.dispatch(_s(u)),this.dispatch(Rs(d)),p}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class AM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Status");h(this,"url","/asset-type-statuses");h(this,"actions",{addOne:Ld,addMany:kd,setOne:Nd,setMany:Gd,updateOne:Hd,updateMany:Wd,deleteOne:Kd,deleteMany:Yd,initialize:Ud});h(this,"selectors",{selectById:Jd,selectByIds:Xd})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(c(r)),r}}class IM extends j{constructor(){super(...arguments);h(this,"name","Document Attachment");h(this,"url","/document-attachments");h(this,"actions",{addOne:nu,addMany:cu,setOne:au,setMany:ru,updateOne:du,updateMany:uu,deleteOne:lu,deleteMany:ou,initialize:iu});h(this,"selectors",{selectById:mu,selectByIds:pu})}getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}async bulkAdd(e,n){const[c,r,a]=await super.bulkAdd(e,n),u={};for(const{file_sha1:d,uuid:p}of c)d in u||(u[d]=[]),u[d].push(p);return a.then(d=>{const p=d.flatMap(m=>u[m]??[]);for(const m of p)this.makeReadable(m)}),[c,r,a]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:o.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,n){const{initialize:c}=this.actions,r=this.list({queryParams:{document__project__organization:e}},n),a=this.list({queryParams:{document__organization:e}},n),d=(await Promise.all([r,a])).flat();return this.dispatch(c(d)),d}}class TM extends v{constructor(){super(...arguments);h(this,"name","Document");h(this,"url","/documents");h(this,"actions",{addOne:Au,addMany:Iu,setOne:Tu,setMany:Ou,updateOne:Pu,updateMany:Fu,deleteOne:bu,deleteMany:_u,initialize:Su});h(this,"selectors",{selectById:Mu,selectByIds:Ru})}add(e){const{addOne:n,deleteOne:c,updateOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:d.parent_document?[d.parent_document]:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(r(m))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c,addMany:r,deleteMany:a}=this.actions,{selectById:u}=this.selectors,d=this.select(u(e));if(!d)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=this.select(wu(e));this.dispatch(n(e)),this.dispatch(a(w(p)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(c(d)),this.dispatch(r(p)),m}}async refreshStore(e,n){const{initialize:c}=this.actions,r=this.list({queryParams:{project__organization:e}},n),a=this.list({queryParams:{organization:e}},n),d=(await Promise.all([r,a])).flat();return this.dispatch(c(d)),d}}class ft extends yt{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:o.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:o.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:o.GET,...s},e)}}class OM extends ft{constructor(){super(...arguments);h(this,"name","Email Domains");h(this,"url","/organization-email-domains");h(this,"actions",{addOne:Bu,addMany:Vu,setOne:zu,setMany:Du,updateOne:ju,updateMany:qu,deleteOne:Cu,deleteMany:$u,initialize:Eu});h(this,"selectors",{selectById:Lu,selectByIds:ku})}async add(e,n){return this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{email:n,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:n,addOne:c}=this.actions;this.dispatch(n(e.uuid));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(r){throw this.dispatch(c(e)),r}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class PM extends yt{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:o.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:o.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const qt={},hc=new Set,mc=new Set;class FM extends yt{constructor(){super(...arguments);h(this,"host");h(this,"dbPromise",bb.openDB("fileCache",2,{upgrade(e,n){n<1&&e.createObjectStore("files"),n<2&&e.createObjectStore("presignedUrls")}}))}async getDB(){return await this.dbPromise}async cacheFile(e){if(!e.name)throw new Error(`Cant add a file without a name to cache: ${e.name}`);if(!e.type)throw new Error(`Cant add a file without a type to cache: ${e.name}`);if(!e.size)throw new Error(`Cant add an empty file to cache: ${e.name}`);const n=await Ct(e);if(hc.has(n))return;const c=await this.getDB();!!await c.get("files",n)?console.warn(`Attempting to add a file already cached, ${e.name}`):await c.put("files",e,n),hc.add(n)}async uncacheFile(e){await(await this.getDB()).delete("files",e),hc.delete(e)}async getFileFromCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,n,c=n,r){const a=e.split("?")[0]??e,u=await this.getFileFromCache(n);if(u)return u;let d;a in qt?d=qt[a]:zc(e)?(d=Vc(e,c),qt[a]=d):(d=new Promise(f=>{this.performRequest({method:o.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1},r).then(I=>{const _=new File([I],c,{type:I.type});f(_)})}),qt[a]=d);let p;try{p=await d}catch(f){throw f instanceof U&&delete qt[a],f}const m=await Ct(p);if(m!==n){const f=`The hash of the file returned from the server (${m}) does not match the
|
|
7
|
+
`)}catch(c){console.error("Failed to extract error message from response body",c)}}else typeof t.body=="string"&&(e=t.body);else t!=null&&t.text?e=t.text:s instanceof Error&&(e=s.message);return!e||e.length>iM?gt:e}class U extends Error{constructor(e){super(gt);h(this,"status");h(this,"response");h(this,"message");h(this,"options");const{response:n,innerError:c}=e;this.message=e.message??nM(n,c)??gt,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function rb(t){function s(e){return typeof e=="object"&&e!==null&&["ok","redirect","clientError","serverError","error"].every(c=>c in e)}if(s(t))return t;if(typeof t=="object"&&t!==null){const e=t;if(s(e.response))return e.response;if(e.response&&s(e.response.response))return e.response.response}}class cM extends tb{constructor(s){super(s)}}class yt extends tb{constructor(e,n){super(e);h(this,"auth");this.auth=n}}class aM extends yt{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:o.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(Kc(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:o.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(c=>{this.dispatch(Zc(c))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:o.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(Yc(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:o.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:o.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(Wc(n)),n}}function dt(t,s){const e=[];let n=0;const c=t.length;for(;n<c;)e.push(t.slice(n,n+=s));return e}function A(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case o.GET:return`Get ${n}`;case o.POST:return`Create ${n}`;case o.PATCH:return`Update ${n}`;case o.PUT:return`Update ${n}`;case o.DELETE:return`Delete ${n}`}}function R(t){const s={...t};for(const e of[...Fc,"created_by"])e in s&&delete s[e];return s}class v extends yt{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:o.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:o.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:o.GET,...s},e)}}class j extends v{async getPresignedUrl(s,e){const{selectById:n}=this.selectors,c=this.select(n(s));if(!c)throw new Error(`Could not find ${this.name}: ${s} in store.`);if(c.object_url)return c.object_url;const r=await this.client.files.getPresignedUrlFromCache(c.file_sha1);if(r)return r;const a=await this.performRequest({url:`${this.url}/${s}/presigned-url/`,method:o.GET},e);return await this.client.files.cachePresignedUrl(c.file_sha1,a),a}async add(s){const{addOne:e,updateOne:n,deleteOne:c}=this.actions;let r,a=null,u=null;if("file"in s){const{file:_,...b}=s;a=await this.client.files.getFilePayload(_),u=URL.createObjectURL(_),r={...b,file_sha1:a.sha1,file_type:a.file_type,file_name:_.name,file_extension:a.extension,object_url:u}}else r=s;const d=this.buildModel(r),p=this.buildPayload(d);this.dispatch(e(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...p,...a?{file:a}:{}},blockers:this.getBlockers(d),blocks:this.getBlocks(d)});m.then(({instance:_})=>{this.dispatch(n(_))}).catch(_=>{throw this.dispatch(c(this.getId(d))),_}).finally(()=>{u&&URL.revokeObjectURL(u)});const f=m.then(({instance:_})=>_),I=m.then(async({instance:_,presigned_url:b})=>{try{return b&&await this.client.files.processPresignedUrl(_.file_sha1,b),_.file_sha1}catch(M){throw console.error("Upload to s3 using presigned url failed.",M),M}});return[d,f,I]}async bulkAdd(s,e){const{addMany:n,updateMany:c,deleteMany:r}=this.actions,a=new Date().toISOString(),u=[],d=new Set,p=dt(s,Math.min(e??s.length,N)),m=[];for(const b of p){const M=[],g={},E=[],B=[];for(const z of b){let D;if("file"in z){const{file:Sc,...ER}=z,wt=await this.client.files.getFilePayload(Sc);wt.sha1 in g||(g[wt.sha1]=wt);const Ib=URL.createObjectURL(Sc);d.add(Ib),D={...ER,file_sha1:wt.sha1,file_type:wt.file_type,file_name:Sc.name,file_extension:wt.extension,object_url:Ib}}else D=z;const At=this.buildModel(D);u.push(At);const q=this.buildBulkPayload(At);M.push(q);const G=this.getBlockers(At);E.push(...G);const ls=this.getBlocks(At);B.push(...ls)}const C={payloads:M,submittedAt:a,files:Object.values(g),blockers:E,blocks:B};m.push(C)}this.dispatch(n(u));const f=m.map(b=>{const{submittedAt:M,files:g,payloads:E,blocks:B,blockers:C}=b;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:M,files:g,payloads:E},blockers:C,blocks:B})});Promise.all(f).then(b=>{const M=b.flatMap(g=>g.instances);this.dispatch(c(M))}).catch(b=>{throw this.dispatch(r(u.map(M=>this.getId(M)))),console.error(b),b}).finally(()=>{for(const b of d)URL.revokeObjectURL(b)});const I=Promise.all(f).then(b=>b.flatMap(({instances:M})=>M)),_=Promise.all(f).then(async b=>{const M=[];for(const{presigned_urls:g}of b){const E=this.client.files.processPresignedUrls(g);for(const[B,C]of Object.entries(E))try{await C,M.push(B)}catch(z){throw console.error("Upload to s3 using presigned url failed.",z),z}}return M});return[u,I,_]}async delete(s){const{addOne:e,deleteOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(s));if(!r)throw new Error(`Attempting to delete ${this.name} with pk ${s} that does not exist in the store`);this.dispatch(n(this.getId(r)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${s}/`,blockers:[s],blocks:[]})}catch(a){throw this.dispatch(e(r)),a}}}class rM extends j{constructor(){super(...arguments);h(this,"name","Asset attachment");h(this,"url","/asset-attachments");h(this,"actions",{addOne:xc,addMany:Ts,setOne:ea,setMany:ta,updateOne:sa,updateMany:ia,deleteOne:na,deleteMany:Os,initialize:Qc});h(this,"selectors",{selectById:aa,selectByIds:ra})}getId(e){return e.uuid}getBlockers(e){const{asset:n}=e;return[n]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(c(a)),a}}class dM extends v{constructor(){super(...arguments);h(this,"name","Asset Comment");h(this,"url","/asset-comments");h(this,"actions",{addOne:ha,addMany:Ut,setOne:ma,setMany:pa,updateOne:ya,updateMany:fa,deleteOne:Sa,deleteMany:Lt,initialize:oa});h(this,"selectors",{selectById:Ia,selectByIds:Ta})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.asset],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Asset comment with uuid ${e.uuid} not found in store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Asset comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(c(a)),a}}class uM extends v{constructor(){super(...arguments);h(this,"url","/assets");h(this,"name","Asset");h(this,"actions",{addOne:ga,addMany:_s,setOne:va,setMany:Ea,updateOne:Ma,updateMany:Ra,deleteOne:wa,deleteMany:gs,initialize:_a});h(this,"selectors",{selectById:za,selectByIds:Da})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{addOne:n,deleteOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No asset with uuid ${e} found in the store`);const u=this.select(da(e)),d=this.select(Oa(e)),p=this.select(Oh(e)),m=this.select(GA(e)),f=this.select(Ho(e));this.dispatch(c(e)),this.dispatch(Os(w(u))),this.dispatch(Lt(w(d))),this.dispatch(Pt(w(p))),this.dispatch(_t(w(m))),this.dispatch(ot(w(f)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(I){throw this.dispatch(n(a)),this.dispatch(Ts(u)),this.dispatch(Ut(d)),this.dispatch(Ot(p)),this.dispatch(bt(m)),this.dispatch(lt(f)),I}}bulkAdd(e,n){const{addMany:c}=this.actions,r=new Date().toISOString(),a=dt(e,Math.min(n??e.length,N)).map(p=>{const m=p.map(f=>O(f));return{batchId:ut.v4(),payload:{submitted_at:r,assets:m}}}),u=[];let d=null;for(const p of a){const{batchId:m,payload:f}=p,I=f.assets.map(({uuid:E})=>E),_=f.assets.map(({asset_type:E})=>E),b=f.assets.map(({project:E})=>E),M=f.assets.map(({status:E})=>E),g=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(d?[d]:[]).concat(_).concat(b).concat(M),blocks:[m].concat(I)});d=p.batchId,u.push(g)}return Promise.all(u).then(p=>{const m=p.flat();this.dispatch(c(m))}),u}bulkUpdate(e,n){const{updateMany:c}=this.actions,{selectByIds:r}=this.selectors,a=w(e).toSorted($t);if(a.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(a)).toSorted(fs);if(a.length!=u.length)throw new Error(`Attempting to bulk update ${a.length-u.length} assets that dont exist in the store`);const d=[];for(let I=0;I<a.length;I++)d.push({...u[I],...e[I]});this.dispatch(c(d));const p=dt(e,Math.min(n??e.length,N)),m=[];let f=null;for(const I of p){const _=ut.v4(),b=w(I),M=I.map(({status:E})=>E).filter(Boolean),g=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(f?[f]:[]).concat(b).concat(M),blocks:[_].concat(b)});m.push(g),f=_}return Promise.all(m).then(I=>{this.dispatch(c(I.flat()))}).catch(()=>{this.dispatch(c(u))}),[d,m]}async bulkDelete(e){const{addMany:n,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e)),u=this.select(Pa(e)),d=this.select(Ph(e)),p=this.select(HA(e)),m=this.select(Wo(e));this.dispatch(c(e)),this.dispatch(Lt(w(u))),this.dispatch(Pt(w(d))),this.dispatch(_t(w(p))),this.dispatch(ot(w(m)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(f){throw this.dispatch(n(a)),this.dispatch(Ut(u)),this.dispatch(Ot(d)),this.dispatch(bt(p)),this.dispatch(lt(m)),f}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class lM extends j{constructor(){super(...arguments);h(this,"name","Asset Type Attachment");h(this,"url","/asset-type-attachments");h(this,"actions",{addOne:$a,addMany:Rs,setOne:Ua,setMany:La,updateOne:ka,updateMany:Na,deleteOne:Ga,deleteMany:ws,initialize:Ca});h(this,"selectors",{selectById:Wa,selectByIds:Ka})}getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(c(r)),r}}class oM extends j{constructor(){super(...arguments);h(this,"name","Asset Type Fields Attachment");h(this,"url","/asset-type-fields-attachments");h(this,"actions",{addOne:Qa,addMany:xa,setOne:er,setMany:tr,updateOne:sr,updateMany:ir,deleteOne:nr,deleteMany:cr,initialize:Xa});h(this,"selectors",{selectById:rr,selectByIds:dr})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(c(r)),r}}class hM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Fields");h(this,"url","/asset-type-fields");h(this,"actions",{addOne:hr,addMany:mr,setOne:pr,setMany:yr,updateOne:fr,updateMany:Sr,deleteOne:Ar,deleteMany:Ir,initialize:or});h(this,"selectors",{selectById:Or,selectByIds:Pr})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(c(r)),r}}class mM extends j{constructor(){super(...arguments);h(this,"name","Asset Type Field Values Attachment");h(this,"url","/asset-type-field-values-attachments");h(this,"actions",{addOne:gr,addMany:Ds,setOne:Mr,setMany:Rr,updateOne:wr,updateMany:vr,deleteOne:Er,deleteMany:js,initialize:_r});h(this,"selectors",{selectById:Vr,selectByIds:zr})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class pM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Field Values");h(this,"url","/asset-type-field-values");h(this,"actions",{addOne:$r,addMany:Ur,setOne:Lr,setMany:kr,updateOne:Nr,updateMany:Gr,deleteOne:Hr,deleteMany:Wr,initialize:Cr});h(this,"selectors",{selectById:Yr,selectByIds:Zr})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.asset,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{payloads:c,values:r}=e,{addMany:a,setMany:u,deleteMany:d}=this.actions,p=new Date().toISOString(),m=[],f=dt(c,Math.min(n??c.length,N)),I=[];for(const b of f){const M=[];for(const g of b){const E=O({...g,values:g.values,created_by:this.select(B=>{var C;return((C=B.userReducer.currentUser)==null?void 0:C.id)??null}),submitted_at:p});m.push(E),M.push({uuid:E.uuid,asset:g.asset,fields_revision:g.fields_revision,published_at:g.published_at,values:E.values})}I.push({submitted_at:p,values:r,field_values:M})}this.dispatch(a(m));const _=[];for(const b of I){const{field_values:M}=b,g=M.map(({asset:z})=>z),E=M.map(({fields_revision:z})=>z),B=M.map(({uuid:z})=>z),C=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:g.concat(E),blocks:B});_.push(C)}return Promise.all(_).then(b=>{this.dispatch(u(b.flat()))}).catch(()=>{this.dispatch(d(w(m)))}),[m,_]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid,a.fields_revision,a.asset],blocks:[a.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(Dr(e));this.dispatch(n(e)),this.dispatch(js(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(Ds(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class yM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Identifier");h(this,"url","/asset-type-identifiers");h(this,"actions",{addOne:xr,addMany:ed,setOne:td,setMany:sd,updateOne:id,updateMany:nd,deleteOne:cd,deleteMany:ad,initialize:Qr});h(this,"selectors",{selectById:dd,selectByIds:ud})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(c(r)),r}}class fM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Identifier Value");h(this,"url","/asset-type-identifier-values");h(this,"actions",{addOne:md,addMany:pd,setOne:yd,setMany:fd,updateOne:Sd,updateMany:Ad,deleteOne:Id,deleteMany:Td,initialize:hd});h(this,"selectors",{selectById:Pd,selectByIds:Fd})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.asset,e.asset_type_identifier],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{addMany:c,updateMany:r,deleteMany:a}=this.actions,u=new Date().toISOString(),d=this.select(b=>{var M;return((M=b.userReducer.currentUser)==null?void 0:M.id)??null}),p=dt(e,Math.min(n??e.length,N)),m=[],f=[];for(const b of p){const M=[],g=[],E=[];for(const C of b){const z=O({...C,submitted_at:u,created_by:d});f.push(z);const D={uuid:z.uuid,asset:z.asset,asset_type_identifier:z.asset_type_identifier,value:z.value};M.push(D),g.push(z.asset),g.push(z.asset_type_identifier),E.push(z.uuid)}const B={payloads:M,submitted_at:u,blockers:g,blocks:E};m.push(B)}this.dispatch(c(f));const I=m.map(b=>{const{payloads:M,submitted_at:g,blockers:E,blocks:B}=b;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:g,payloads:M},blockers:E,blocks:B})});Promise.all(I).then(b=>{this.dispatch(r(b.flat()))}).catch(b=>{throw this.dispatch(a(w(f))),b});const _=Promise.all(I).then(b=>b.flat());return[f,_]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class SM extends v{constructor(){super(...arguments);h(this,"name","Asset Type");h(this,"url","/asset-types");h(this,"actions",{addOne:wd,addMany:vd,setOne:Md,setMany:Rd,updateOne:Ed,updateMany:Bd,deleteOne:Vd,deleteMany:zd,initialize:gd});h(this,"selectors",{selectById:jd,selectByIds:qd})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected asset type with uuid ${e} to exist`);const u=this.select(Va(e)),d=this.select(Ya(e));this.dispatch(n(e)),this.dispatch(gs(w(u))),this.dispatch(ws(w(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(a)),this.dispatch(_s(u)),this.dispatch(Rs(d)),p}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class AM extends v{constructor(){super(...arguments);h(this,"name","Asset Type Status");h(this,"url","/asset-type-statuses");h(this,"actions",{addOne:Ld,addMany:kd,setOne:Nd,setMany:Gd,updateOne:Hd,updateMany:Wd,deleteOne:Kd,deleteMany:Yd,initialize:Ud});h(this,"selectors",{selectById:Jd,selectByIds:Xd})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.asset_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(c(r)),r}}class IM extends j{constructor(){super(...arguments);h(this,"name","Document Attachment");h(this,"url","/document-attachments");h(this,"actions",{addOne:nu,addMany:cu,setOne:au,setMany:ru,updateOne:du,updateMany:uu,deleteOne:lu,deleteMany:ou,initialize:iu});h(this,"selectors",{selectById:mu,selectByIds:pu})}getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}async bulkAdd(e,n){const[c,r,a]=await super.bulkAdd(e,n),u={};for(const{file_sha1:d,uuid:p}of c)d in u||(u[d]=[]),u[d].push(p);return a.then(d=>{const p=d.flatMap(m=>u[m]??[]);for(const m of p)this.makeReadable(m)}),[c,r,a]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:o.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,n){const{initialize:c}=this.actions,r=this.list({queryParams:{document__project__organization:e}},n),a=this.list({queryParams:{document__organization:e}},n),d=(await Promise.all([r,a])).flat();return this.dispatch(c(d)),d}}class TM extends v{constructor(){super(...arguments);h(this,"name","Document");h(this,"url","/documents");h(this,"actions",{addOne:Au,addMany:Iu,setOne:Tu,setMany:Ou,updateOne:Pu,updateMany:Fu,deleteOne:bu,deleteMany:_u,initialize:Su});h(this,"selectors",{selectById:Mu,selectByIds:Ru})}add(e){const{addOne:n,deleteOne:c,updateOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:d.parent_document?[d.parent_document]:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(r(m))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c,addMany:r,deleteMany:a}=this.actions,{selectById:u}=this.selectors,d=this.select(u(e));if(!d)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=this.select(wu(e));this.dispatch(n(e)),this.dispatch(a(w(p)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(c(d)),this.dispatch(r(p)),m}}async refreshStore(e,n){const{initialize:c}=this.actions,r=this.list({queryParams:{project__organization:e}},n),a=this.list({queryParams:{organization:e}},n),d=(await Promise.all([r,a])).flat();return this.dispatch(c(d)),d}}class ft extends yt{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:o.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:o.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:o.GET,...s},e)}}class OM extends ft{constructor(){super(...arguments);h(this,"name","Email Domains");h(this,"url","/organization-email-domains");h(this,"actions",{addOne:Bu,addMany:Vu,setOne:zu,setMany:Du,updateOne:ju,updateMany:qu,deleteOne:Cu,deleteMany:$u,initialize:Eu});h(this,"selectors",{selectById:Lu,selectByIds:ku})}async add(e,n){return this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{email:n,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:n,addOne:c}=this.actions;this.dispatch(n(e.uuid));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(r){throw this.dispatch(c(e)),r}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class PM extends yt{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:o.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:o.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const qt={},hc=new Set,mc=new Set;class FM extends yt{constructor(){super(...arguments);h(this,"host");h(this,"dbPromise",bb.openDB("fileCache",2,{upgrade(e,n){n<1&&e.createObjectStore("files"),n<2&&e.createObjectStore("presignedUrls")}}))}async getDB(){return await this.dbPromise}async cacheFile(e){if(!e.name)throw new Error(`Cant add a file without a name to cache: ${e.name}`);if(!e.type)throw new Error(`Cant add a file without a type to cache: ${e.name}`);if(!e.size)throw new Error(`Cant add an empty file to cache: ${e.name}`);const n=await Ct(e);if(hc.has(n))return;const c=await this.getDB();!!await c.get("files",n)?console.warn(`Attempting to add a file already cached, ${e.name}`):await c.put("files",e,n),hc.add(n)}async uncacheFile(e){await(await this.getDB()).delete("files",e),hc.delete(e)}async getFileFromCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,n,c=n,r){const a=e.split("?")[0]??e,u=await this.getFileFromCache(n);if(u)return u;let d;a in qt?d=qt[a]:zc(e)?(d=Vc(e,c),qt[a]=d):(d=new Promise(f=>{this.performRequest({method:o.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1},r).then(I=>{const _=new File([I],c,{type:I.type});f(_)})}),qt[a]=d);let p;try{p=await d}catch(f){throw f instanceof U&&delete qt[a],f}const m=await Ct(p);if(m!==n){const f=`The hash of the file returned from the server (${m}) does not match the
|
|
8
8
|
expected hash (${n}). This can happen if you're using a local development server and the
|
|
9
9
|
isExternalUrl flag in the request details is set to true, because instead of requesting the local
|
|
10
10
|
REST API, you will be requesting localhost:80 (where this app runs), resulting in a transformed blob
|
|
11
11
|
(with an uuid attached) being returned. Alternatively, you may be running with
|
|
12
12
|
import.meta.env.PROD, which will result in some file requests being treated as
|
|
13
|
-
external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}return await this.cacheFile(p),p}processPresignedUrl(e,n){if("warning"in n){if(n.warning==="already_uploaded")return Promise.resolve(void 0);throw console.error(n.warning),new Error(n.warning)}return this.enqueueRequest({url:n.url,description:"Upload file to S3",method:o.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${n.fields.key}`],blocks:[e],s3url:n})}processPresignedUrls(e){const n={};for(const[c,r]of Object.entries(e))n[c]=this.processPresignedUrl(c,r);return n}async getFilePayload(e){const c={sha1:await Ct(e),file_type:e.type,extension:Ec(e),size:e.size};return await this.client.files.cacheFile(e),c}async cachePresignedUrl(e,n){if(mc.has(e))return;const c=await this.getDB();!!await c.get("presignedUrls",e)?console.warn(`Attempting to add a presigned url already cached, ${n}`):await c.put("presignedUrls",n,e),mc.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),mc.delete(e)}async getPresignedUrlFromCache(e){const n=await(await this.getDB()).get("presignedUrls",e);if(!n)return;if(Cc(n)){await this.uncachePresignedUrl(e);return}return n}}class bM extends v{constructor(){super(...arguments);h(this,"name","Form Identifier");h(this,"url","/form-identifiers");h(this,"actions",{addOne:Wu,addMany:Ku,setOne:Yu,setMany:Zu,updateOne:Ju,updateMany:Xu,deleteOne:Qu,deleteMany:xu,initialize:Hu});h(this,"selectors",{selectById:tl,selectByIds:sl})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.form],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(c(r)),r}}class _M extends v{constructor(){super(...arguments);h(this,"name","Form Identifier Value");h(this,"url","/form-identifier-values");h(this,"actions",{addOne:al,addMany:rl,setOne:dl,setMany:ul,updateOne:ll,updateMany:ol,deleteOne:hl,deleteMany:ml,initialize:cl});h(this,"selectors",{selectById:yl,selectByIds:fl})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.form_submission,e.form_identifier],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await Promise.all([this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_submission__organization:e}},n),this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_submission__project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(c(a)),a}}class gM extends j{constructor(){super(...arguments);h(this,"name","Form Revision Attachment");h(this,"url","/form-revision-attachments");h(this,"actions",{addOne:Tl,addMany:Ol,setOne:Pl,setMany:Fl,updateOne:bl,updateMany:_l,deleteOne:gl,deleteMany:Ml,initialize:Il});h(this,"selectors",{selectById:wl,selectByIds:vl})}getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,form_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,form_revision:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,form_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,form_revision:r,file_sha1:a,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(c(r)),r}}class MM extends v{constructor(){super(...arguments);h(this,"name","Form Revision");h(this,"url","/form-revisions");h(this,"actions",{addOne:zl,addMany:ii,setOne:Dl,setMany:jl,updateOne:ql,updateMany:Cl,deleteOne:$l,deleteMany:ni,initialize:Vl});h(this,"selectors",{selectById:Ll,selectByIds:kl})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.form],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(c(r)),r}}class RM extends v{constructor(){super(...arguments);h(this,"name","Form");h(this,"url","/forms");h(this,"actions",{addOne:ao,addMany:ro,setOne:uo,setMany:lo,updateOne:oo,updateMany:ho,deleteOne:mo,deleteMany:po,initialize:co});h(this,"selectors",{selectById:So,selectByIds:Ao})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:a,created_by:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error("Expected form to exist");const u=this.select(ko(e)),d=this.select(Nl(e)),p=this.select(so(e));this.dispatch(n(e)),this.dispatch(ot(w(u))),this.dispatch(ni(w(d))),this.dispatch(ri(w(p)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(c(a)),this.dispatch(ii(d)),this.dispatch(lt(u)),this.dispatch(ai(p)),m}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class wM extends v{constructor(){super(...arguments);h(this,"name","Form Subscriber");h(this,"url","/form-subscribers");h(this,"actions",{addOne:Kl,addMany:ai,setOne:Yl,setMany:Zl,updateOne:Jl,updateMany:Xl,deleteOne:Ql,deleteMany:ri,initialize:Wl});h(this,"selectors",{selectById:eo,selectByIds:to})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,created_by:u,submitted_at:a});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.form],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected form subscriber with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(c(r)),r}}class vM extends j{constructor(){super(...arguments);h(this,"name","Form Submission Attachment");h(this,"url","/form-submission-attachments");h(this,"actions",{addOne:Oo,addMany:oi,setOne:Po,setMany:Fo,updateOne:bo,updateMany:_o,deleteOne:go,deleteMany:hi,initialize:To});h(this,"selectors",{selectById:Mo,selectByIds:Ro})}getId(e){return e.uuid}getBlockers(e){return[e.form_submission]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,form_submission:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,form_submission:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,form_submission:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,form_submission:r,file_sha1:a,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,r=this.select(yi(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(a){throw this.dispatch(c(r)),a}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await Promise.all([this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_submission__organization:e}},n),this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_submission__project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(c(a)),a}}class EM extends v{constructor(){super(...arguments);h(this,"name","Form Submission");h(this,"url","/form-submissions");h(this,"actions",{addOne:Do,addMany:lt,setOne:Vo,setMany:zo,updateOne:jo,updateMany:qo,deleteOne:Co,deleteMany:ot,initialize:Bo});h(this,"selectors",{selectById:Uo,selectByIds:Lo})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.form_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${a.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(wo(e));this.dispatch(n(e)),this.dispatch(hi(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(oi(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await Promise.all([this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,organization:e}},n),this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(c(a)),a}}class BM extends j{constructor(){super(...arguments);h(this,"name","Geo Image");h(this,"url","/geo-images");h(this,"actions",{addOne:Qo,addMany:xo,setOne:Jo,setMany:Xo,updateOne:eh,updateMany:th,deleteOne:sh,deleteMany:ih,initialize:Zo});h(this,"selectors",{selectById:ch,selectByIds:ah})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,canvas_marker:e.canvas_marker,direction:e.direction,original_date:e.original_date,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,canvas_marker:e.canvas_marker,direction:e.direction,original_date:e.original_date,project:e.project}}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{project:e}},n);return this.dispatch(c(r)),r}}class VM extends v{constructor(){super(...arguments);h(this,"name","Issue Association");h(this,"url","/issue-associations");h(this,"actions",{addOne:ph,addMany:Ot,setOne:oh,setMany:lh,updateOne:hh,updateMany:mh,deleteOne:yh,deleteMany:Pt,initialize:uh});h(this,"selectors",{selectById:Sh,selectByIds:Ah})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:a,created_by:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue,e.asset],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e){const{addMany:n,deleteMany:c,updateMany:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(m=>O({...m,submitted_at:u,created_by:a}));this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{payloads:d.map(m=>R(m)),submitted_at:u},blockers:d.flatMap(m=>[m.issue,m.asset]),blocks:w(d)});return p.then(m=>{this.dispatch(r(m))}).catch(()=>{this.dispatch(c(w(d)))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(c(a)),a}}class zM extends j{constructor(){super(...arguments);h(this,"name","Issue Attachment");h(this,"url","/issue-attachments");h(this,"actions",{addOne:gh,addMany:Oi,setOne:Mh,setMany:Rh,updateOne:wh,updateMany:vh,deleteOne:Eh,deleteMany:Pi,initialize:_h});h(this,"selectors",{selectById:zh,selectByIds:Dh})}getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(c(a)),a}}class DM extends j{constructor(){super(...arguments);h(this,"name","Issue Comment Attachment");h(this,"url","/issue-comment-attachments");h(this,"actions",{addOne:$h,addMany:Uh,setOne:Lh,setMany:kh,updateOne:Nh,updateMany:Gh,deleteOne:Hh,deleteMany:Wh,initialize:Ch});h(this,"selectors",{selectById:Yh,selectByIds:Zh})}getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},n)).flat();return this.dispatch(c(a)),a}}class jM extends v{constructor(){super(...arguments);h(this,"name","Issue Comment");h(this,"url","/issue-comments");h(this,"actions",{addOne:xh,addMany:em,setOne:tm,setMany:sm,updateOne:im,updateMany:nm,deleteOne:cm,deleteMany:am,initialize:Qh});h(this,"selectors",{selectById:rm,selectByIds:dm})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>d.userReducer.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[e.issue],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{setMany:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(c(a)),a}}class qM extends v{constructor(){super(...arguments);h(this,"name","Issue");h(this,"url","/issues");h(this,"actions",{addOne:hm,addMany:wi,setOne:mm,setMany:pm,updateOne:ym,updateMany:fm,deleteOne:Sm,deleteMany:vi,initialize:om});h(this,"selectors",{selectById:Im,selectByIds:Tm})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:a,created_by:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.project,d.issue_type,d.status,d.priority],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(m=>{throw this.dispatch(r(d.uuid)),m}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const a={...r,...e};this.dispatch(n(a));const u={};for(const m of[$.TITLE,$.DESCRIPTION,$.STATUS,$.PRIORITY,$.ASSIGNED_TO,$.DUE_DATE])if(m in e&&e[m]!==r[m])switch(m){case $.PRIORITY:{const f=e[m],I=this.select(Wi(f));if(!I)throw new Error(`Trying to update issue type priority with ${f} which does not exist in store`);u[m]={name:I.name,color:I.color,uuid:I.uuid};break}case $.DUE_DATE:u[m]=e.due_date;break;case $.DESCRIPTION:u[m]=e.description??"";break;case $.TITLE:u[m]=e.title??"";break;case $.STATUS:{const f=e[m],I=this.select(Xi(f));if(!I)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);u[m]={name:I.name,color:I.color,uuid:I.uuid};break}case $.ASSIGNED_TO:{const f=e[m];if(f===null)u[m]=null;else{const I=this.select(ss(f));if(!I)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);u[m]={full_name:I.username,id:I.id}}break}}const d=O({created_by:this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),submitted_at:new Date().toISOString(),issue:r.uuid,changes:u});this.dispatch(xi(d));const p=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return p.then(m=>{this.dispatch(n(m))}).catch(()=>{this.dispatch(n(r)),this.dispatch(tn(d.uuid))}),[a,p]}bulkUpdate(e,n){const{updateMany:c}=this.actions,{selectByIds:r}=this.selectors,a=w(e).toSorted($t);if(a.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(a)).toSorted(fs);if(a.length!=u.length)throw new Error(`Attempting to bulk update ${a.length-u.length} issues that dont exist in the store`);const d=[];for(let I=0;I<a.length;I++)d.push({...u[I],...e[I]});this.dispatch(c(d));const p=dt(e,Math.min(n??e.length,N)),m=[];let f=null;for(const I of p){const _=ut.v4(),b=w(I),M=I.map(({status:B})=>B).filter(Boolean),g=I.map(({priority:B})=>B).filter(Boolean),E=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(f?[f]:[]).concat(b).concat(M).concat(g),blocks:[_].concat(b)});m.push(E),f=_}return Promise.all(m).then(I=>{this.dispatch(c(I.flat()))}).catch(()=>{this.dispatch(c(u))}),[d,m]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No issue with uuid ${e} found in the store`);const u=this.select(Th(e)),d=this.select(Vh(e)),p=this.select(rf(e)),m=this.select(No(e));this.dispatch(n(e)),this.dispatch(Pi(w(d))),this.dispatch(sn(w(p))),this.dispatch(Pt(w(u))),this.dispatch(ot(w(m)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(c(a)),this.dispatch(Oi(d)),this.dispatch(en(p)),this.dispatch(Ot(u)),this.dispatch(lt(m)),f}}async bulkDelete(e){const{addMany:n,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e)),u=this.select(Ih(e)),d=this.select(Go(e));this.dispatch(c(e)),this.dispatch(Pt(w(u))),this.dispatch(ot(w(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(n(a)),this.dispatch(Ot(u)),this.dispatch(lt(d)),p}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class CM extends j{constructor(){super(...arguments);h(this,"name","Issue Type Attachment");h(this,"url","/issue-type-attachments");h(this,"actions",{addOne:_m,addMany:gm,setOne:Mm,setMany:Rm,updateOne:wm,updateMany:vm,deleteOne:Em,deleteMany:Bm,initialize:bm});h(this,"selectors",{selectById:zm,selectByIds:Dm})}getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class $M extends j{constructor(){super(...arguments);h(this,"name","Issue Type Fields Attachment");h(this,"url","/issue-type-fields-attachments");h(this,"actions",{addOne:$m,addMany:Um,setOne:Lm,setMany:km,updateOne:Nm,updateMany:Gm,deleteOne:Hm,deleteMany:Wm,initialize:Cm});h(this,"selectors",{selectById:Ym,selectByIds:Zm})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class UM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Fields");h(this,"url","/issue-type-fields");h(this,"actions",{addOne:mp,addMany:pp,setOne:yp,setMany:fp,updateOne:Sp,updateMany:Ap,deleteOne:Ip,deleteMany:Tp,initialize:hp});h(this,"selectors",{selectById:Pp,selectByIds:Fp})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(m=>{throw this.dispatch(r(d.uuid)),m}),[d,p]}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class LM extends j{constructor(){super(...arguments);h(this,"name","Issue Type Field Values Attachment");h(this,"url","/issue-type-field-values-attachments");h(this,"actions",{addOne:Mp,addMany:Ci,setOne:Rp,setMany:wp,updateOne:vp,updateMany:Ep,deleteOne:Bp,deleteMany:$i,initialize:gp});h(this,"selectors",{selectById:zp,selectByIds:Dp})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class kM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Field Values");h(this,"url","/issue-type-field-values");h(this,"actions",{addOne:xm,addMany:ep,setOne:tp,setMany:sp,updateOne:ip,updateMany:np,deleteOne:cp,deleteMany:ap,initialize:Qm});h(this,"selectors",{selectById:dp,selectByIds:up})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid,a.fields_revision,a.issue],blocks:[a.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(jp(e));this.dispatch(n(e)),this.dispatch($i(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(Ci(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class NM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Identifier");h(this,"url","/issue-type-identifiers");h(this,"actions",{addOne:Up,addMany:Lp,setOne:kp,setMany:Np,updateOne:Gp,updateMany:Hp,deleteOne:Wp,deleteMany:Kp,initialize:$p});h(this,"selectors",{selectById:Zp,selectByIds:Jp})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class GM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Identifier Value");h(this,"url","/issue-type-identifier-values");h(this,"actions",{addOne:ey,addMany:ty,setOne:sy,setMany:iy,updateOne:ny,updateMany:cy,deleteOne:ay,deleteMany:ry,initialize:xp});h(this,"selectors",{selectById:uy,selectByIds:ly})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue,e.issue_type_identifier],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class HM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Priority");h(this,"url","/issue-type-priorities");h(this,"actions",{addOne:py,addMany:yy,setOne:fy,setMany:Sy,updateOne:Ay,updateMany:Iy,deleteOne:Ty,deleteMany:Oy,initialize:my});h(this,"selectors",{selectById:Wi,selectByIds:Fy})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected an existing issue type priority with uuid ${e.uuid}`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No issue type priority with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class WM extends v{constructor(){super(...arguments);h(this,"name","Issue Type");h(this,"url","/issue-types");h(this,"actions",{addOne:My,addMany:Ry,setOne:wy,setMany:vy,updateOne:Ey,updateMany:By,deleteOne:Vy,deleteMany:zy,initialize:gy});h(this,"selectors",{selectById:jy,selectByIds:qy})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,submitted_at:u,created_by:a});this.dispatch(n(d));const p=this.enqueueRequest({method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,setOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const u=this.select(Om(e));this.dispatch(n(e)),this.dispatch(vi(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(wi(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class KM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Status");h(this,"url","/issue-type-statuses");h(this,"actions",{addOne:Ly,addMany:ky,setOne:Ny,setMany:Gy,updateOne:Hy,updateMany:Wy,deleteOne:Ky,deleteMany:Yy,initialize:Uy});h(this,"selectors",{selectById:Xi,selectByIds:Jy})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class YM extends v{constructor(){super(...arguments);h(this,"name","Issue Update");h(this,"url","/issue-updates");h(this,"actions",{addOne:xi,addMany:en,setOne:ef,setMany:tf,updateOne:sf,updateMany:nf,deleteOne:tn,deleteMany:sn,initialize:xy});h(this,"selectors",{selectById:cf,selectByIds:af})}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(c(a)),a}}const ZM=1800;function JM(t){if(!t.access)throw new Error("Missing access token");if(!t.refresh)throw new Error("Missing refresh token");return{accessToken:t.access,refreshToken:t.refresh}}class XM extends cM{constructor(){super(...arguments);h(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:o.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let c;try{c=await n}catch(r){console.error("Could not renew tokens; clearing auth",r),this.clearAuth();return}if(!c.access)throw new Error("Missing access token");return{accessToken:c.access,refreshToken:c.refresh??this.getRefreshToken()}})}clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(eu(!1)),this.clearTokens(),this.dispatch(T()),this.dispatch(T())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const n=await this._getRenewedTokens(e);if(!n)return;console.debug("Got renewed tokens"),this.setTokens(n)}catch(n){throw console.error("Could not renew tokens; clearing auth",n),this.clearAuth(),n}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const n=Date.now()/1e3;let c;try{c=_b(e).exp??n}catch{c=n}return c-n<ZM}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(e){return e instanceof U&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??gt).toString()))}}}async handleUnauthorized(e,n){if(e.url.endsWith("/token/refresh/"))throw this.select(c=>c.authReducer.isLoggedIn)&&console.warn("No signed-in user to sign out."),this.clearAuth(),new U({message:"You have been signed out due to inactivity.",response:n,discard:!0});if(this.select(c=>c.authReducer.isLoggedIn))await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new U({message:"Incorrect username or password.",response:n,discard:!0})}async initAuth(e){const n=ut.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:n,method:o.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(c=>{this.setTokens(JM(c))})}}class QM extends ft{constructor(){super(...arguments);h(this,"name","Organization Access");h(this,"url","/organization-accesses");h(this,"actions",{addOne:Pf,addMany:Ff,setOne:bf,setMany:_f,updateOne:gf,updateMany:Mf,deleteOne:Rf,deleteMany:wf,initialize:Of});h(this,"selectors",{selectById:Ef,selectByIds:Bf})}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid)),a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(d=>{throw this.dispatch(n(r)),d}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e)),u=this.select(ss(a.user));this.dispatch(n(a.uuid)),this.dispatch(dn(a.user));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${a.uuid}/`,blockers:[a.uuid],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(rn(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class xM extends ft{constructor(){super(...arguments);h(this,"name","Organization");h(this,"url","/organizations");h(this,"actions",{addOne:$f,addMany:Cf,setOne:qf,setMany:jf,updateOne:Lf,updateMany:Uf,deleteOne:kf,deleteMany:Nf,initialize:Df});h(this,"selectors",{selectById:Wf,selectByIds:Kf})}async add(e){const{addOne:n}=this.actions,c=await this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(n(c)),c}async update(e){const{setOne:n}=this.actions,c=await this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(n(c)),c}async invite(e,n){return this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/${e}/invite/${n}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:n}=this.actions,c=await this.list({},e);return this.dispatch(n(c)),c}}class eR extends v{constructor(){super(...arguments);h(this,"name","Project Access");h(this,"url","/project-accesses");h(this,"actions",{addOne:iS,addMany:nS,setOne:cS,setMany:aS,updateOne:rS,updateMany:dS,deleteOne:uS,deleteMany:lS,initialize:sS});h(this,"selectors",{selectById:hS,selectByIds:mS})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null})});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.organization_access,a.project],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(d=>{throw this.dispatch(r(a.uuid)),d}),[a,u]}bulkAdd(e){const{addMany:n,deleteMany:c,updateMany:r}=this.actions,a=this.select(p=>{var m;return((m=p.userReducer.currentUser)==null?void 0:m.id)??null}),u=e.map(p=>O({...p,created_by:a}));this.dispatch(n(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{project_accesses:u.map(p=>R(p))},blockers:u.flatMap(p=>[p.project,p.organization_access]),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(r(p))}).catch(p=>{throw this.dispatch(c(u.map(m=>m.uuid))),p}),[u,d]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid)),a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return u.then(d=>{this.dispatch(n(d))}).catch(d=>{throw this.dispatch(n(r)),d}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(c(r)),r}}class tR extends j{constructor(){super(...arguments);h(this,"name","Project Attachment");h(this,"url","/project-attachments");h(this,"actions",{addOne:fS,addMany:SS,setOne:AS,setMany:IS,updateOne:TS,updateMany:OS,deleteOne:PS,deleteMany:FS,initialize:yS});h(this,"selectors",{selectById:_S,selectByIds:gS})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(c(r)),r}}class sR extends v{constructor(){super(...arguments);h(this,"name","Project Comment");h(this,"url","/project-comments");h(this,"actions",{addOne:vS,addMany:ES,setOne:BS,setMany:VS,updateOne:zS,updateMany:DS,deleteOne:jS,deleteMany:qS,initialize:wS});h(this,"selectors",{selectById:$S,selectByIds:US})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.project],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Project comment with uuid ${e.uuid} not found in store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Project comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class iR extends j{constructor(){super(...arguments);h(this,"name","Project File");h(this,"url","/project-files");h(this,"actions",{addOne:WS,addMany:KS,setOne:GS,setMany:HS,updateOne:YS,updateMany:ZS,deleteOne:JS,deleteMany:XS,initialize:NS});h(this,"selectors",{selectById:eA,selectByIds:tA})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,canvas_bounds:e.canvas_bounds,bounds:e.bounds}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,canvas_bounds:e.canvas_bounds,bounds:e.bounds}}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class nR extends ft{constructor(){super(...arguments);h(this,"name","Project");h(this,"url","/projects");h(this,"actions",{addOne:dA,addMany:rA,setOne:aA,setMany:cA,updateOne:lA,updateMany:uA,deleteOne:oA,deleteMany:hA,initialize:nA});h(this,"selectors",{selectById:yA,selectByIds:fA})}async add(e){const{addOne:n}=this.actions,c=await this.performRequest({method:o.POST,url:`${this.url}/`,payload:R(e)});return this.dispatch(n(c)),c}async update(e){const{updateOne:n}=this.actions,c=await this.performRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:R(e)});return this.dispatch(n(c)),c}async delete(e){const{deleteOne:n}=this.actions,c=await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(n(e)),c}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class cR extends v{constructor(){super(...arguments);h(this,"name","Procedure");h(this,"url","/procedures");h(this,"actions",{addOne:VA,addMany:bt,setOne:zA,setMany:DA,updateOne:jA,updateMany:qA,deleteOne:CA,deleteMany:_t,initialize:BA});h(this,"selectors",{selectById:LA,selectByIds:kA})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure_type,a.project,a.asset,...a.procedure_initiative?[a.procedure_initiative]:[]],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}bulkAdd(e,n){var b;const{store:c}=this.client,{addMany:r,updateMany:a,deleteMany:u}=this.actions,d=new Date().toISOString(),p=((b=c.getState().userReducer.currentUser)==null?void 0:b.id)??null,m=[],f=dt(e,Math.min(n??e.length,N)),I=[];for(const M of f){const g=[],E=[],B=[];for(const z of M){const D=O({...z,submitted_at:d,created_by:p});m.push(D),g.push(R(D)),E.push(D.procedure_type,D.project,D.asset,...D.procedure_initiative?[D.procedure_initiative]:[]),B.push(D.uuid)}const C={payload:{submitted_at:d,payloads:g},blockers:E,blocks:B};I.push(C)}this.dispatch(r(m));const _=I.map(M=>{const{payload:g,blocks:E,blockers:B}=M;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:g,blockers:B,blocks:E})});return Promise.all(_).then(M=>{this.dispatch(a(M.flat()))}).catch(()=>{this.dispatch(u(w(m)))}),[m,Promise.all(_).then(M=>M.flat())]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async bulkDelete(e){const{addMany:n,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(c(w(a)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(n(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class aR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Assignee");h(this,"url","/procedure-step-assignees");h(this,"actions",{addOne:ZA,addMany:JA,setOne:XA,setMany:QA,updateOne:xA,updateMany:eI,deleteOne:tI,deleteMany:sI,initialize:YA});h(this,"selectors",{selectById:nI,selectByIds:cI})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure,a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}bulkAdd(e){const{addMany:n,setMany:c,deleteMany:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(m=>O({...m,created_by:a,submitted_at:u}));this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_assignees:d.map(m=>R(m)),submitted_at:u},blockers:d.flatMap(m=>[m.procedure,m.procedure_step]),blocks:w(d)});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(w(d)))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure step assignee with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class rR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Comment");h(this,"url","/procedure-step-comments");h(this,"actions",{addOne:uI,addMany:lI,setOne:oI,setMany:hI,updateOne:mI,updateMany:pI,deleteOne:yI,deleteMany:fI,initialize:dI});h(this,"selectors",{selectById:AI,selectByIds:II})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure,a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Procedure step comment with uuid ${e.uuid} not found in store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Procedure step comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class dR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Default Assignee");h(this,"url","/procedure-step-default-assignees");h(this,"actions",{addOne:FI,addMany:bI,setOne:_I,setMany:gI,updateOne:MI,updateMany:RI,deleteOne:wI,deleteMany:vI,initialize:PI});h(this,"selectors",{selectById:BI,selectByIds:VI})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure step default assignee with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class uR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Default Reviewer");h(this,"url","/procedure-step-default-reviewers");h(this,"actions",{addOne:qI,addMany:CI,setOne:$I,setMany:UI,updateOne:LI,updateMany:kI,deleteOne:NI,deleteMany:GI,initialize:jI});h(this,"selectors",{selectById:WI,selectByIds:KI})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure step default reviewer with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class lR extends ft{constructor(){super(...arguments);h(this,"name","Procedure Step Event");h(this,"url","/procedure-step-events");h(this,"actions",{addOne:XI,addMany:QI,setOne:xI,setMany:eT,updateOne:tT,updateMany:sT,deleteOne:iT,deleteMany:nT,initialize:JI});h(this,"selectors",{selectById:aT,selectByIds:rT})}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class oR extends j{constructor(){super(...arguments);h(this,"name","Procedure Step Fields Attachment");h(this,"url","/procedure-step-fields-attachments");h(this,"actions",{addOne:oT,addMany:vn,setOne:hT,setMany:mT,updateOne:pT,updateMany:yT,deleteOne:fT,deleteMany:En,initialize:lT});h(this,"selectors",{selectById:IT,selectByIds:TT})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){return O({...e,created_by:this.select(n=>{var c;return((c=n.userReducer.currentUser)==null?void 0:c.id)??null}),submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{fields_revision__procedure_step__procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class hR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Fields");h(this,"url","/procedure-step-fields");h(this,"actions",{addOne:bT,addMany:_T,setOne:gT,setMany:MT,updateOne:RT,updateMany:wT,deleteOne:vT,deleteMany:ET,initialize:FT});h(this,"selectors",{selectById:BT,selectByIds:VT})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const u=this.select(AT(e));this.dispatch(n(e)),this.dispatch(En(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(vn(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class mR extends j{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values Attachment");h(this,"url","/procedure-step-field-values-attachments");h(this,"actions",{addOne:qT,addMany:jn,setOne:CT,setMany:$T,updateOne:UT,updateMany:LT,deleteOne:kT,deleteMany:qn,initialize:jT});h(this,"selectors",{selectById:GT,selectByIds:HT})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class pR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values Review");h(this,"url","/procedure-step-field-values-reviews");h(this,"actions",{addOne:lO,addMany:Ln,setOne:oO,setMany:hO,updateOne:mO,updateMany:pO,deleteOne:yO,deleteMany:kn,initialize:uO});h(this,"selectors",{selectById:SO,selectByIds:AO})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.field_values],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Procedure step field values review with uuid ${e.uuid} not found in store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Procedure step field values review with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{field_values__procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class yR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values");h(this,"url","/procedure-step-field-values");h(this,"actions",{addOne:JT,addMany:XT,setOne:QT,setMany:xT,updateOne:eO,updateMany:tO,deleteOne:sO,deleteMany:iO,initialize:ZT});h(this,"selectors",{selectById:aO,selectByIds:rO})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{addMany:c,updateMany:r,deleteMany:a}=this.actions,u=new Date().toISOString(),d=this.select(_=>{var b;return((b=_.userReducer.currentUser)==null?void 0:b.id)??null}),p=[],m=dt(e,Math.min(n??e.length,N)),f=[];for(const _ of m){const b=[],M=[],g=[];for(const E of _){const B=O({...E,values:E.values,created_by:d,submitted_at:u});p.push(B),b.push(R(B)),M.push(B.procedure_step,B.procedure,B.fields_revision),g.push(B.uuid)}f.push({payload:{payloads:b,submitted_at:u},blockers:M,blocks:g})}this.dispatch(c(p));const I=f.map(_=>{const{payload:b,blocks:M,blockers:g}=_;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:g,blocks:M})});return Promise.all(I).then(_=>{this.dispatch(r(_.flat()))}).catch(()=>{this.dispatch(a(w(p)))}),[p,Promise.all(I).then(_=>_.flat())]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid,a.procedure,a.procedure_step,a.fields_revision],blocks:[a.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e} to exist`);const u=this.select(WT(e)),d=this.select(IO(e));this.dispatch(n(e)),this.dispatch(qn(w(u))),this.dispatch(kn(w(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(a)),this.dispatch(jn(u)),this.dispatch(Ln(d)),p}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class fR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Reviewer");h(this,"url","/procedure-step-reviewers");h(this,"actions",{addOne:FO,addMany:bO,setOne:_O,setMany:gO,updateOne:MO,updateMany:RO,deleteOne:wO,deleteMany:vO,initialize:PO});h(this,"selectors",{selectById:BO,selectByIds:VO})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure,a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}bulkAdd(e){const{addMany:n,setMany:c,deleteMany:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(m=>O({...m,created_by:a,submitted_at:u}));this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_reviewers:d.map(m=>R(m)),submitted_at:u},blockers:d.flatMap(m=>[m.procedure,m.procedure_step]),blocks:d.map(m=>m.uuid)});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.map(m=>m.uuid)))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure step reviewer with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class SR extends v{constructor(){super(...arguments);h(this,"name","Procedure Initiative");h(this,"url","/procedure-initiatives");h(this,"actions",{addOne:IA,addMany:TA,setOne:OA,setMany:PA,updateOne:FA,updateMany:bA,deleteOne:_A,deleteMany:gA,initialize:AA});h(this,"selectors",{selectById:wA,selectByIds:vA})}add(e){var p;const{store:n}=this.client,{addOne:c,setOne:r,deleteOne:a}=this.actions,u=O({...e,created_by:((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,submitted_at:new Date().toISOString()});this.dispatch(c(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(u),blockers:[u.procedure_type,u.project],blocks:[u.uuid]});return d.then(m=>{this.dispatch(r(m))}).catch(()=>{this.dispatch(a(u.uuid))}),[u,d]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected ${this.name} with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected ${this.name} with uuid ${e} to exist`);const u=this.select(WA(e));this.dispatch(n(e)),this.dispatch(_t(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(bt(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class AR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step");h(this,"url","/procedure-steps");h(this,"actions",{addOne:$O,addMany:UO,setOne:qO,setMany:CO,updateOne:LO,updateMany:kO,deleteOne:NO,deleteMany:GO,initialize:jO});h(this,"selectors",{selectById:WO,selectByIds:KO})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure_type],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`No procedure step with uuid ${e.uuid} found in the store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{addOne:n,deleteOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No procedure step with uuid ${e} found in the store`);this.dispatch(c(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(n(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class IR extends j{constructor(){super(...arguments);h(this,"name","Procedure Type Attachment");h(this,"url","/procedure-type-attachments");h(this,"actions",{addOne:JO,addMany:XO,setOne:QO,setMany:xO,updateOne:eP,updateMany:tP,deleteOne:sP,deleteMany:iP,initialize:ZO});h(this,"selectors",{selectById:aP,selectByIds:rP})}getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class TR extends j{constructor(){super(...arguments);h(this,"name","Procedure Type Fields Attachment");h(this,"url","/procedure-type-fields-attachments");h(this,"actions",{addOne:lP,addMany:oP,setOne:hP,setMany:mP,updateOne:pP,updateMany:yP,deleteOne:fP,deleteMany:SP,initialize:uP});h(this,"selectors",{selectById:TP,selectByIds:OP})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{fields_revision__procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class OR extends v{constructor(){super(...arguments);h(this,"name","Procedure Type Fields");h(this,"url","/procedure-type-fields");h(this,"actions",{addOne:bP,addMany:_P,setOne:gP,setMany:MP,updateOne:RP,updateMany:wP,deleteOne:vP,deleteMany:EP,initialize:FP});h(this,"selectors",{selectById:zP,selectByIds:DP})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.procedure_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(m=>{throw this.dispatch(r(d.uuid)),m}),[d,p]}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class PR extends j{constructor(){super(...arguments);h(this,"name","Procedure Field Values Attachment");h(this,"url","/procedure-field-values-attachments");h(this,"actions",{addOne:CP,addMany:xn,setOne:$P,setMany:UP,updateOne:LP,updateMany:kP,deleteOne:NP,deleteMany:ec,initialize:qP});h(this,"selectors",{selectById:WP,selectByIds:KP})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class FR extends v{constructor(){super(...arguments);h(this,"name","Procedure Field Values");h(this,"url","/procedure-field-values");h(this,"actions",{addOne:XP,addMany:QP,setOne:xP,setMany:eF,updateOne:tF,updateMany:sF,deleteOne:iF,deleteMany:nF,initialize:JP});h(this,"selectors",{selectById:rF,selectByIds:dF})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.fields_revision,e.procedure],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{addMany:c,updateMany:r,deleteMany:a}=this.actions,u=new Date().toISOString(),d=this.select(_=>{var b;return((b=_.userReducer.currentUser)==null?void 0:b.id)??null}),p=[],m=dt(e,Math.min(n??e.length,N)),f=[];for(const _ of m){const b=[],M=[],g=[];for(const E of _){const B=O({...E,values:E.values,created_by:d,submitted_at:u});p.push(B),b.push(R(B)),M.push(B.procedure,B.fields_revision),g.push(B.uuid)}f.push({payload:{payloads:b,submitted_at:u},blockers:M,blocks:g})}this.dispatch(c(p));const I=f.map(_=>{const{payload:b,blocks:M,blockers:g}=_;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:g,blocks:M})});return Promise.all(I).then(_=>{this.dispatch(r(_.flat()))}).catch(()=>{this.dispatch(a(w(p)))}),[p,Promise.all(I).then(_=>_.flat())]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.fields_revision,a.procedure],blocks:[a.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(YP(e));this.dispatch(n(e)),this.dispatch(ec(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(xn(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class bR extends v{constructor(){super(...arguments);h(this,"name","Procedure Type");h(this,"url","/procedure-types");h(this,"actions",{addOne:oF,addMany:hF,setOne:mF,setMany:pF,updateOne:yF,updateMany:fF,deleteOne:SF,deleteMany:AF,initialize:lF});h(this,"selectors",{selectById:OF,selectByIds:PF})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected procedure type with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure type with uuid ${e} to exist`);const u=this.select(NA(e));this.dispatch(n(e)),this.dispatch(_t(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(bt(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class _R extends v{constructor(){super(...arguments);h(this,"name","Team Membership");h(this,"url","/team-memberships");h(this,"actions",{addOne:gF,addMany:MF,setOne:RF,setMany:wF,updateOne:vF,updateMany:EF,deleteOne:BF,deleteMany:VF,initialize:_F});h(this,"selectors",{selectById:jF,selectByIds:qF})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null})});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[e.team],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}bulkAdd(e){const{addMany:n,setMany:c,deleteMany:r}=this.actions,a=this.select(p=>{var m;return((m=p.userReducer.currentUser)==null?void 0:m.id)??null}),u=e.map(p=>O({...p,created_by:a}));this.dispatch(n(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{team_memberships:u.map(p=>R(p))},blockers:u.map(p=>p.team),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(u.map(p=>p.uuid)))}),[u,d]}async delete(e){const{deleteOne:n,setOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(c(r)),r}}class gR extends v{constructor(){super(...arguments);h(this,"name","Team");h(this,"url","/teams");h(this,"actions",{addOne:UF,addMany:LF,setOne:kF,setMany:NF,updateOne:GF,updateMany:HF,deleteOne:WF,deleteMany:KF,initialize:$F});h(this,"selectors",{selectById:ZF,selectByIds:JF})}add(e){const{addOne:n,setOne:c,deleteOne:r}=this.actions,a=O({...e,submitted_at:new Date().toISOString(),created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null})});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{setOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:R(e),blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,setOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class MR extends ft{constructor(){super(...arguments);h(this,"name","User");h(this,"url","/user");h(this,"actions",{addOne:rn,addMany:mf,setOne:hf,setMany:of,updateOne:yf,updateMany:pf,deleteOne:dn,deleteMany:ff,initialize:lf});h(this,"selectors",{selectById:ss,selectByIds:If})}async list(e,n){const{organizationUuid:c,...r}=e,a=c?`/organizations/${c}${this.url}s/`:`/${this.url}`;return this.performRequest({method:o.GET,url:a,...r},n)}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({organizationUuid:e},n);return this.dispatch(c(r)),r}}async function pc(t,s,e,n,c){const r=n instanceof yt;r&&s.checkAuth!==!1&&await n.auth.prepareAuth();const a={queryParams:"",isAuthNeeded:!0},{s3url:u,payload:d,headers:p,method:m,queryParams:f,attachmentHash:I,isExternalUrl:_,isAuthNeeded:b,isResponseBlob:M}={...a,...s};let g=s.url;const E=I?await e.files.getFileFromCache(I):void 0;if(I&&!E)throw new Error(`Cannot upload file ${I} because it's not cached.`);!_&&!g.startsWith("http")&&(!g.startsWith("/")&&!g.startsWith("blob:")&&(g="/"+g),g=t+g);const B=q=>{if(I){if(!u)throw new Error(`No S3 URL for file ${I}`);if("warning"in u)throw new Error(`S3 URL warning for file ${I}`);if(!E)throw new Error(`No file for file ${I}`);const G=u.fields["x-amz-checksum-sha1"];if(!G)throw new Error(`No checksum for file ${I}`);return q.set("x-amz-checksum-sha1",G).field({...d,...u.fields}).attach("file",E)}return q.send(d)},z={[o.GET]:()=>M?It.get(g.toString()).responseType("blob"):It.get(g.toString()),[o.POST]:()=>{const q=It.post(g.toString());return B(q)},[o.PATCH]:()=>{const q=It.patch(g.toString());return B(q)},[o.PUT]:()=>{const q=It.put(g.toString());return B(q)},[o.DELETE]:()=>{const q=It.delete(g.toString());return B(q)}}[m];let D=z();const At=()=>{console.debug("aborting request:",s.url),D.abort()};if(c==null||c.addEventListener("abort",At),b&&r){const q=n.auth.getAuthHeader();D=D.set("Authorization",q)}p&&(D=D.set(p));try{return await D.query(f)}catch(q){const G=rb(q),ls=G==null?void 0:G.status;if(r&&ls===401)return await n.auth.handleUnauthorized(D,G),D.query(f);throw new U({response:G,innerError:q,discard:oc.includes(ls)})}finally{c==null||c.removeEventListener("abort",At)}}class RR{constructor(s){h(this,"store");this.store=s}_performRequest(s,e,n,c){const r=new os,a={...e,uuid:e.uuid??ut.v4()};return pc(s,a,this,n,c).then(u=>{r.resolve(u.body)}).catch(u=>{u instanceof Error?r.reject(u):r.reject(new Error((u??gt).toString()))}),r}async performRequest(s,e,n,c){return this._performRequest(s,e,n,c).then(r=>{if(r instanceof U)throw r;return r})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(c=>{if(c instanceof U)throw c;return c})}_enqueueRequest(s,e,n){const c=new os,r={...s,BASE_URL:e,serviceName:n},a=this.store.dispatch(Xf(r)),u=p=>{if(p)c.resolve(p.body);else{const m=new U({message:"Could not get a response from the server.",response:p,discard:!0});c.reject(m)}},d=p=>{p instanceof U?p.options.discard=!0:(console.error("Received an unexpected error while processing a request:",p,`
|
|
13
|
+
external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}return await this.cacheFile(p),p}processPresignedUrl(e,n){if("warning"in n){if(n.warning==="already_uploaded")return Promise.resolve(void 0);throw console.error(n.warning),new Error(n.warning)}return this.enqueueRequest({url:n.url,description:"Upload file to S3",method:o.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${n.fields.key}`],blocks:[e],s3url:n})}processPresignedUrls(e){const n={};for(const[c,r]of Object.entries(e))n[c]=this.processPresignedUrl(c,r);return n}async getFilePayload(e){const c={sha1:await Ct(e),file_type:e.type,extension:Ec(e),size:e.size};return await this.client.files.cacheFile(e),c}async cachePresignedUrl(e,n){if(mc.has(e))return;const c=await this.getDB();!!await c.get("presignedUrls",e)?console.warn(`Attempting to add a presigned url already cached, ${n}`):await c.put("presignedUrls",n,e),mc.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),mc.delete(e)}async getPresignedUrlFromCache(e){const n=await(await this.getDB()).get("presignedUrls",e);if(!n)return;if(Cc(n)){await this.uncachePresignedUrl(e);return}return n}}class bM extends v{constructor(){super(...arguments);h(this,"name","Form Identifier");h(this,"url","/form-identifiers");h(this,"actions",{addOne:Wu,addMany:Ku,setOne:Yu,setMany:Zu,updateOne:Ju,updateMany:Xu,deleteOne:Qu,deleteMany:xu,initialize:Hu});h(this,"selectors",{selectById:tl,selectByIds:sl})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.form],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(c(r)),r}}class _M extends v{constructor(){super(...arguments);h(this,"name","Form Identifier Value");h(this,"url","/form-identifier-values");h(this,"actions",{addOne:al,addMany:rl,setOne:dl,setMany:ul,updateOne:ll,updateMany:ol,deleteOne:hl,deleteMany:ml,initialize:cl});h(this,"selectors",{selectById:yl,selectByIds:fl})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.form_submission,e.form_identifier],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await Promise.all([this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_submission__organization:e}},n),this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_submission__project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(c(a)),a}}class gM extends j{constructor(){super(...arguments);h(this,"name","Form Revision Attachment");h(this,"url","/form-revision-attachments");h(this,"actions",{addOne:Tl,addMany:Ol,setOne:Pl,setMany:Fl,updateOne:bl,updateMany:_l,deleteOne:gl,deleteMany:Ml,initialize:Il});h(this,"selectors",{selectById:wl,selectByIds:vl})}getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,form_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,form_revision:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,form_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,form_revision:r,file_sha1:a,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(c(r)),r}}class MM extends v{constructor(){super(...arguments);h(this,"name","Form Revision");h(this,"url","/form-revisions");h(this,"actions",{addOne:zl,addMany:ii,setOne:Dl,setMany:jl,updateOne:ql,updateMany:Cl,deleteOne:$l,deleteMany:ni,initialize:Vl});h(this,"selectors",{selectById:Ll,selectByIds:kl})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.form],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(c(r)),r}}class RM extends v{constructor(){super(...arguments);h(this,"name","Form");h(this,"url","/forms");h(this,"actions",{addOne:ao,addMany:ro,setOne:uo,setMany:lo,updateOne:oo,updateMany:ho,deleteOne:mo,deleteMany:po,initialize:co});h(this,"selectors",{selectById:So,selectByIds:Ao})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:a,created_by:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error("Expected form to exist");const u=this.select(ko(e)),d=this.select(Nl(e)),p=this.select(so(e));this.dispatch(n(e)),this.dispatch(ot(w(u))),this.dispatch(ni(w(d))),this.dispatch(ri(w(p)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(c(a)),this.dispatch(ii(d)),this.dispatch(lt(u)),this.dispatch(ai(p)),m}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class wM extends v{constructor(){super(...arguments);h(this,"name","Form Subscriber");h(this,"url","/form-subscribers");h(this,"actions",{addOne:Kl,addMany:ai,setOne:Yl,setMany:Zl,updateOne:Jl,updateMany:Xl,deleteOne:Ql,deleteMany:ri,initialize:Wl});h(this,"selectors",{selectById:eo,selectByIds:to})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,created_by:u,submitted_at:a});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.form],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected form subscriber with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(c(r)),r}}class vM extends j{constructor(){super(...arguments);h(this,"name","Form Submission Attachment");h(this,"url","/form-submission-attachments");h(this,"actions",{addOne:Oo,addMany:oi,setOne:Po,setMany:Fo,updateOne:bo,updateMany:_o,deleteOne:go,deleteMany:hi,initialize:To});h(this,"selectors",{selectById:Mo,selectByIds:Ro})}getId(e){return e.uuid}getBlockers(e){return[e.form_submission]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,form_submission:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,form_submission:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,form_submission:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,form_submission:r,file_sha1:a,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,r=this.select(yi(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(a){throw this.dispatch(c(r)),a}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await Promise.all([this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_submission__organization:e}},n),this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_submission__project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(c(a)),a}}class EM extends v{constructor(){super(...arguments);h(this,"name","Form Submission");h(this,"url","/form-submissions");h(this,"actions",{addOne:Do,addMany:lt,setOne:Vo,setMany:zo,updateOne:jo,updateMany:qo,deleteOne:Co,deleteMany:ot,initialize:Bo});h(this,"selectors",{selectById:Uo,selectByIds:Lo})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.form_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${a.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(wo(e));this.dispatch(n(e)),this.dispatch(hi(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(oi(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await Promise.all([this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,organization:e}},n),this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(c(a)),a}}class BM extends j{constructor(){super(...arguments);h(this,"name","Geo Image");h(this,"url","/geo-images");h(this,"actions",{addOne:Qo,addMany:xo,setOne:Jo,setMany:Xo,updateOne:eh,updateMany:th,deleteOne:sh,deleteMany:ih,initialize:Zo});h(this,"selectors",{selectById:ch,selectByIds:ah})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,canvas_marker:e.canvas_marker,direction:e.direction,original_date:e.original_date,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,canvas_marker:e.canvas_marker,direction:e.direction,original_date:e.original_date,project:e.project}}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{project:e}},n);return this.dispatch(c(r)),r}}class VM extends v{constructor(){super(...arguments);h(this,"name","Issue Association");h(this,"url","/issue-associations");h(this,"actions",{addOne:ph,addMany:Ot,setOne:oh,setMany:lh,updateOne:hh,updateMany:mh,deleteOne:yh,deleteMany:Pt,initialize:uh});h(this,"selectors",{selectById:Sh,selectByIds:Ah})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:a,created_by:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue,e.asset],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e){const{addMany:n,deleteMany:c,updateMany:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(m=>O({...m,submitted_at:u,created_by:a}));this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{payloads:d.map(m=>R(m)),submitted_at:u},blockers:d.flatMap(m=>[m.issue,m.asset]),blocks:w(d)});return p.then(m=>{this.dispatch(r(m))}).catch(()=>{this.dispatch(c(w(d)))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(c(a)),a}}class zM extends j{constructor(){super(...arguments);h(this,"name","Issue Attachment");h(this,"url","/issue-attachments");h(this,"actions",{addOne:gh,addMany:Oi,setOne:Mh,setMany:Rh,updateOne:wh,updateMany:vh,deleteOne:Eh,deleteMany:Pi,initialize:_h});h(this,"selectors",{selectById:zh,selectByIds:Dh})}getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(c(a)),a}}class DM extends j{constructor(){super(...arguments);h(this,"name","Issue Comment Attachment");h(this,"url","/issue-comment-attachments");h(this,"actions",{addOne:$h,addMany:Uh,setOne:Lh,setMany:kh,updateOne:Nh,updateMany:Gh,deleteOne:Hh,deleteMany:Wh,initialize:Ch});h(this,"selectors",{selectById:Yh,selectByIds:Zh})}getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},n)).flat();return this.dispatch(c(a)),a}}class jM extends v{constructor(){super(...arguments);h(this,"name","Issue Comment");h(this,"url","/issue-comments");h(this,"actions",{addOne:xh,addMany:em,setOne:tm,setMany:sm,updateOne:im,updateMany:nm,deleteOne:cm,deleteMany:am,initialize:Qh});h(this,"selectors",{selectById:rm,selectByIds:dm})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>d.userReducer.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[e.issue],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{setMany:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(c(a)),a}}class qM extends v{constructor(){super(...arguments);h(this,"name","Issue");h(this,"url","/issues");h(this,"actions",{addOne:hm,addMany:wi,setOne:mm,setMany:pm,updateOne:ym,updateMany:fm,deleteOne:Sm,deleteMany:vi,initialize:om});h(this,"selectors",{selectById:Im,selectByIds:Tm})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=new Date().toISOString(),u=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:a,created_by:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.project,d.issue_type,d.status,d.priority],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(m=>{throw this.dispatch(r(d.uuid)),m}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const a={...r,...e};this.dispatch(n(a));const u={};for(const m of[$.TITLE,$.DESCRIPTION,$.STATUS,$.PRIORITY,$.ASSIGNED_TO,$.DUE_DATE])if(m in e&&e[m]!==r[m])switch(m){case $.PRIORITY:{const f=e[m],I=this.select(Wi(f));if(!I)throw new Error(`Trying to update issue type priority with ${f} which does not exist in store`);u[m]={name:I.name,color:I.color,uuid:I.uuid};break}case $.DUE_DATE:u[m]=e.due_date;break;case $.DESCRIPTION:u[m]=e.description??"";break;case $.TITLE:u[m]=e.title??"";break;case $.STATUS:{const f=e[m],I=this.select(Xi(f));if(!I)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);u[m]={name:I.name,color:I.color,uuid:I.uuid};break}case $.ASSIGNED_TO:{const f=e[m];if(f===null)u[m]=null;else{const I=this.select(ss(f));if(!I)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);u[m]={full_name:I.username,id:I.id}}break}}const d=O({created_by:this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),submitted_at:new Date().toISOString(),issue:r.uuid,changes:u});this.dispatch(xi(d));const p=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return p.then(m=>{this.dispatch(n(m))}).catch(()=>{this.dispatch(n(r)),this.dispatch(tn(d.uuid))}),[a,p]}bulkUpdate(e,n){const{updateMany:c}=this.actions,{selectByIds:r}=this.selectors,a=w(e).toSorted($t);if(a.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(a)).toSorted(fs);if(a.length!=u.length)throw new Error(`Attempting to bulk update ${a.length-u.length} issues that dont exist in the store`);const d=[];for(let I=0;I<a.length;I++)d.push({...u[I],...e[I]});this.dispatch(c(d));const p=dt(e,Math.min(n??e.length,N)),m=[];let f=null;for(const I of p){const _=ut.v4(),b=w(I),M=I.map(({status:B})=>B).filter(Boolean),g=I.map(({priority:B})=>B).filter(Boolean),E=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(f?[f]:[]).concat(b).concat(M).concat(g),blocks:[_].concat(b)});m.push(E),f=_}return Promise.all(m).then(I=>{this.dispatch(c(I.flat()))}).catch(()=>{this.dispatch(c(u))}),[d,m]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No issue with uuid ${e} found in the store`);const u=this.select(Th(e)),d=this.select(Vh(e)),p=this.select(rf(e)),m=this.select(No(e));this.dispatch(n(e)),this.dispatch(Pi(w(d))),this.dispatch(sn(w(p))),this.dispatch(Pt(w(u))),this.dispatch(ot(w(m)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(c(a)),this.dispatch(Oi(d)),this.dispatch(en(p)),this.dispatch(Ot(u)),this.dispatch(lt(m)),f}}async bulkDelete(e){const{addMany:n,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e)),u=this.select(Ih(e)),d=this.select(Go(e));this.dispatch(c(e)),this.dispatch(Pt(w(u))),this.dispatch(ot(w(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(n(a)),this.dispatch(Ot(u)),this.dispatch(lt(d)),p}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class CM extends j{constructor(){super(...arguments);h(this,"name","Issue Type Attachment");h(this,"url","/issue-type-attachments");h(this,"actions",{addOne:_m,addMany:gm,setOne:Mm,setMany:Rm,updateOne:wm,updateMany:vm,deleteOne:Em,deleteMany:Bm,initialize:bm});h(this,"selectors",{selectById:zm,selectByIds:Dm})}getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class $M extends j{constructor(){super(...arguments);h(this,"name","Issue Type Fields Attachment");h(this,"url","/issue-type-fields-attachments");h(this,"actions",{addOne:$m,addMany:Um,setOne:Lm,setMany:km,updateOne:Nm,updateMany:Gm,deleteOne:Hm,deleteMany:Wm,initialize:Cm});h(this,"selectors",{selectById:Ym,selectByIds:Zm})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class UM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Fields");h(this,"url","/issue-type-fields");h(this,"actions",{addOne:mp,addMany:pp,setOne:yp,setMany:fp,updateOne:Sp,updateMany:Ap,deleteOne:Ip,deleteMany:Tp,initialize:hp});h(this,"selectors",{selectById:Pp,selectByIds:Fp})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(m=>{throw this.dispatch(r(d.uuid)),m}),[d,p]}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class LM extends j{constructor(){super(...arguments);h(this,"name","Issue Type Field Values Attachment");h(this,"url","/issue-type-field-values-attachments");h(this,"actions",{addOne:Mp,addMany:Ci,setOne:Rp,setMany:wp,updateOne:vp,updateMany:Ep,deleteOne:Bp,deleteMany:$i,initialize:gp});h(this,"selectors",{selectById:zp,selectByIds:Dp})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class kM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Field Values");h(this,"url","/issue-type-field-values");h(this,"actions",{addOne:xm,addMany:ep,setOne:tp,setMany:sp,updateOne:ip,updateMany:np,deleteOne:cp,deleteMany:ap,initialize:Qm});h(this,"selectors",{selectById:dp,selectByIds:up})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid,a.fields_revision,a.issue],blocks:[a.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(jp(e));this.dispatch(n(e)),this.dispatch($i(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(Ci(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class NM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Identifier");h(this,"url","/issue-type-identifiers");h(this,"actions",{addOne:Up,addMany:Lp,setOne:kp,setMany:Np,updateOne:Gp,updateMany:Hp,deleteOne:Wp,deleteMany:Kp,initialize:$p});h(this,"selectors",{selectById:Zp,selectByIds:Jp})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class GM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Identifier Value");h(this,"url","/issue-type-identifier-values");h(this,"actions",{addOne:ey,addMany:ty,setOne:sy,setMany:iy,updateOne:ny,updateMany:cy,deleteOne:ay,deleteMany:ry,initialize:xp});h(this,"selectors",{selectById:uy,selectByIds:ly})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue,e.issue_type_identifier],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class HM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Priority");h(this,"url","/issue-type-priorities");h(this,"actions",{addOne:py,addMany:yy,setOne:fy,setMany:Sy,updateOne:Ay,updateMany:Iy,deleteOne:Ty,deleteMany:Oy,initialize:my});h(this,"selectors",{selectById:Wi,selectByIds:Fy})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected an existing issue type priority with uuid ${e.uuid}`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No issue type priority with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class WM extends v{constructor(){super(...arguments);h(this,"name","Issue Type");h(this,"url","/issue-types");h(this,"actions",{addOne:My,addMany:Ry,setOne:wy,setMany:vy,updateOne:Ey,updateMany:By,deleteOne:Vy,deleteMany:zy,initialize:gy});h(this,"selectors",{selectById:jy,selectByIds:qy})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,submitted_at:u,created_by:a});this.dispatch(n(d));const p=this.enqueueRequest({method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{addOne:n,deleteOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const u=this.select(Om(e));this.dispatch(c(e)),this.dispatch(vi(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(n(a)),this.dispatch(wi(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class KM extends v{constructor(){super(...arguments);h(this,"name","Issue Type Status");h(this,"url","/issue-type-statuses");h(this,"actions",{addOne:Ly,addMany:ky,setOne:Ny,setMany:Gy,updateOne:Hy,updateMany:Wy,deleteOne:Ky,deleteMany:Yy,initialize:Uy});h(this,"selectors",{selectById:Xi,selectByIds:Jy})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(c(r)),r}}class YM extends v{constructor(){super(...arguments);h(this,"name","Issue Update");h(this,"url","/issue-updates");h(this,"actions",{addOne:xi,addMany:en,setOne:ef,setMany:tf,updateOne:sf,updateMany:nf,deleteOne:tn,deleteMany:sn,initialize:xy});h(this,"selectors",{selectById:cf,selectByIds:af})}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(c(a)),a}}const ZM=1800;function JM(t){if(!t.access)throw new Error("Missing access token");if(!t.refresh)throw new Error("Missing refresh token");return{accessToken:t.access,refreshToken:t.refresh}}class XM extends cM{constructor(){super(...arguments);h(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:o.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let c;try{c=await n}catch(r){console.error("Could not renew tokens; clearing auth",r),this.clearAuth();return}if(!c.access)throw new Error("Missing access token");return{accessToken:c.access,refreshToken:c.refresh??this.getRefreshToken()}})}clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(eu(!1)),this.clearTokens(),this.dispatch(T()),this.dispatch(T())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const n=await this._getRenewedTokens(e);if(!n)return;console.debug("Got renewed tokens"),this.setTokens(n)}catch(n){throw console.error("Could not renew tokens; clearing auth",n),this.clearAuth(),n}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const n=Date.now()/1e3;let c;try{c=_b(e).exp??n}catch{c=n}return c-n<ZM}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(e){return e instanceof U&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??gt).toString()))}}}async handleUnauthorized(e,n){if(e.url.endsWith("/token/refresh/"))throw this.select(c=>c.authReducer.isLoggedIn)&&console.warn("No signed-in user to sign out."),this.clearAuth(),new U({message:"You have been signed out due to inactivity.",response:n,discard:!0});if(this.select(c=>c.authReducer.isLoggedIn))await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new U({message:"Incorrect username or password.",response:n,discard:!0})}async initAuth(e){const n=ut.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:n,method:o.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(c=>{this.setTokens(JM(c))})}}class QM extends ft{constructor(){super(...arguments);h(this,"name","Organization Access");h(this,"url","/organization-accesses");h(this,"actions",{addOne:Pf,addMany:Ff,setOne:bf,setMany:_f,updateOne:gf,updateMany:Mf,deleteOne:Rf,deleteMany:wf,initialize:Of});h(this,"selectors",{selectById:Ef,selectByIds:Bf})}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid)),a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(d=>{throw this.dispatch(n(r)),d}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e)),u=this.select(ss(a.user));this.dispatch(n(a.uuid)),this.dispatch(dn(a.user));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${a.uuid}/`,blockers:[a.uuid],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(rn(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class xM extends ft{constructor(){super(...arguments);h(this,"name","Organization");h(this,"url","/organizations");h(this,"actions",{addOne:$f,addMany:Cf,setOne:qf,setMany:jf,updateOne:Lf,updateMany:Uf,deleteOne:kf,deleteMany:Nf,initialize:Df});h(this,"selectors",{selectById:Wf,selectByIds:Kf})}async add(e){const{addOne:n}=this.actions,c=await this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(n(c)),c}async update(e){const{updateOne:n}=this.actions,c=await this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(n(c)),c}async invite(e,n){return this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/${e}/invite/${n}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:n}=this.actions,c=await this.list({},e);return this.dispatch(n(c)),c}}class eR extends v{constructor(){super(...arguments);h(this,"name","Project Access");h(this,"url","/project-accesses");h(this,"actions",{addOne:iS,addMany:nS,setOne:cS,setMany:aS,updateOne:rS,updateMany:dS,deleteOne:uS,deleteMany:lS,initialize:sS});h(this,"selectors",{selectById:hS,selectByIds:mS})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null})});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.organization_access,a.project],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(d=>{throw this.dispatch(r(a.uuid)),d}),[a,u]}bulkAdd(e){const{addMany:n,deleteMany:c,updateMany:r}=this.actions,a=this.select(p=>{var m;return((m=p.userReducer.currentUser)==null?void 0:m.id)??null}),u=e.map(p=>O({...p,created_by:a}));this.dispatch(n(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{project_accesses:u.map(p=>R(p))},blockers:u.flatMap(p=>[p.project,p.organization_access]),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(r(p))}).catch(p=>{throw this.dispatch(c(u.map(m=>m.uuid))),p}),[u,d]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid)),a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return u.then(d=>{this.dispatch(n(d))}).catch(d=>{throw this.dispatch(n(r)),d}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(c(r)),r}}class tR extends j{constructor(){super(...arguments);h(this,"name","Project Attachment");h(this,"url","/project-attachments");h(this,"actions",{addOne:fS,addMany:SS,setOne:AS,setMany:IS,updateOne:TS,updateMany:OS,deleteOne:PS,deleteMany:FS,initialize:yS});h(this,"selectors",{selectById:_S,selectByIds:gS})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(c(r)),r}}class sR extends v{constructor(){super(...arguments);h(this,"name","Project Comment");h(this,"url","/project-comments");h(this,"actions",{addOne:vS,addMany:ES,setOne:BS,setMany:VS,updateOne:zS,updateMany:DS,deleteOne:jS,deleteMany:qS,initialize:wS});h(this,"selectors",{selectById:$S,selectByIds:US})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.project],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Project comment with uuid ${e.uuid} not found in store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Project comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class iR extends j{constructor(){super(...arguments);h(this,"name","Project File");h(this,"url","/project-files");h(this,"actions",{addOne:WS,addMany:KS,setOne:GS,setMany:HS,updateOne:YS,updateMany:ZS,deleteOne:JS,deleteMany:XS,initialize:NS});h(this,"selectors",{selectById:eA,selectByIds:tA})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,canvas_bounds:e.canvas_bounds,bounds:e.bounds}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,canvas_bounds:e.canvas_bounds,bounds:e.bounds}}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class nR extends ft{constructor(){super(...arguments);h(this,"name","Project");h(this,"url","/projects");h(this,"actions",{addOne:dA,addMany:rA,setOne:aA,setMany:cA,updateOne:lA,updateMany:uA,deleteOne:oA,deleteMany:hA,initialize:nA});h(this,"selectors",{selectById:yA,selectByIds:fA})}async add(e){const{addOne:n}=this.actions,c=await this.performRequest({method:o.POST,url:`${this.url}/`,payload:R(e)});return this.dispatch(n(c)),c}async update(e){const{updateOne:n}=this.actions,c=await this.performRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:R(e)});return this.dispatch(n(c)),c}async delete(e){const{deleteOne:n}=this.actions,c=await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(n(e)),c}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class cR extends v{constructor(){super(...arguments);h(this,"name","Procedure");h(this,"url","/procedures");h(this,"actions",{addOne:VA,addMany:bt,setOne:zA,setMany:DA,updateOne:jA,updateMany:qA,deleteOne:CA,deleteMany:_t,initialize:BA});h(this,"selectors",{selectById:LA,selectByIds:kA})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure_type,a.project,a.asset,...a.procedure_initiative?[a.procedure_initiative]:[]],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}bulkAdd(e,n){var b;const{store:c}=this.client,{addMany:r,updateMany:a,deleteMany:u}=this.actions,d=new Date().toISOString(),p=((b=c.getState().userReducer.currentUser)==null?void 0:b.id)??null,m=[],f=dt(e,Math.min(n??e.length,N)),I=[];for(const M of f){const g=[],E=[],B=[];for(const z of M){const D=O({...z,submitted_at:d,created_by:p});m.push(D),g.push(R(D)),E.push(D.procedure_type,D.project,D.asset,...D.procedure_initiative?[D.procedure_initiative]:[]),B.push(D.uuid)}const C={payload:{submitted_at:d,payloads:g},blockers:E,blocks:B};I.push(C)}this.dispatch(r(m));const _=I.map(M=>{const{payload:g,blocks:E,blockers:B}=M;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:g,blockers:B,blocks:E})});return Promise.all(_).then(M=>{this.dispatch(a(M.flat()))}).catch(()=>{this.dispatch(u(w(m)))}),[m,Promise.all(_).then(M=>M.flat())]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async bulkDelete(e){const{addMany:n,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(c(w(a)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(n(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class aR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Assignee");h(this,"url","/procedure-step-assignees");h(this,"actions",{addOne:ZA,addMany:JA,setOne:XA,setMany:QA,updateOne:xA,updateMany:eI,deleteOne:tI,deleteMany:sI,initialize:YA});h(this,"selectors",{selectById:nI,selectByIds:cI})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure,a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}bulkAdd(e){const{addMany:n,setMany:c,deleteMany:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(m=>O({...m,created_by:a,submitted_at:u}));this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_assignees:d.map(m=>R(m)),submitted_at:u},blockers:d.flatMap(m=>[m.procedure,m.procedure_step]),blocks:w(d)});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(w(d)))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure step assignee with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class rR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Comment");h(this,"url","/procedure-step-comments");h(this,"actions",{addOne:uI,addMany:lI,setOne:oI,setMany:hI,updateOne:mI,updateMany:pI,deleteOne:yI,deleteMany:fI,initialize:dI});h(this,"selectors",{selectById:AI,selectByIds:II})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure,a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Procedure step comment with uuid ${e.uuid} not found in store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Procedure step comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class dR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Default Assignee");h(this,"url","/procedure-step-default-assignees");h(this,"actions",{addOne:FI,addMany:bI,setOne:_I,setMany:gI,updateOne:MI,updateMany:RI,deleteOne:wI,deleteMany:vI,initialize:PI});h(this,"selectors",{selectById:BI,selectByIds:VI})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure step default assignee with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class uR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Default Reviewer");h(this,"url","/procedure-step-default-reviewers");h(this,"actions",{addOne:qI,addMany:CI,setOne:$I,setMany:UI,updateOne:LI,updateMany:kI,deleteOne:NI,deleteMany:GI,initialize:jI});h(this,"selectors",{selectById:WI,selectByIds:KI})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure step default reviewer with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class lR extends ft{constructor(){super(...arguments);h(this,"name","Procedure Step Event");h(this,"url","/procedure-step-events");h(this,"actions",{addOne:XI,addMany:QI,setOne:xI,setMany:eT,updateOne:tT,updateMany:sT,deleteOne:iT,deleteMany:nT,initialize:JI});h(this,"selectors",{selectById:aT,selectByIds:rT})}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class oR extends j{constructor(){super(...arguments);h(this,"name","Procedure Step Fields Attachment");h(this,"url","/procedure-step-fields-attachments");h(this,"actions",{addOne:oT,addMany:vn,setOne:hT,setMany:mT,updateOne:pT,updateMany:yT,deleteOne:fT,deleteMany:En,initialize:lT});h(this,"selectors",{selectById:IT,selectByIds:TT})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){return O({...e,created_by:this.select(n=>{var c;return((c=n.userReducer.currentUser)==null?void 0:c.id)??null}),submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{fields_revision__procedure_step__procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class hR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Fields");h(this,"url","/procedure-step-fields");h(this,"actions",{addOne:bT,addMany:_T,setOne:gT,setMany:MT,updateOne:RT,updateMany:wT,deleteOne:vT,deleteMany:ET,initialize:FT});h(this,"selectors",{selectById:BT,selectByIds:VT})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const u=this.select(AT(e));this.dispatch(n(e)),this.dispatch(En(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(vn(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class mR extends j{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values Attachment");h(this,"url","/procedure-step-field-values-attachments");h(this,"actions",{addOne:qT,addMany:jn,setOne:CT,setMany:$T,updateOne:UT,updateMany:LT,deleteOne:kT,deleteMany:qn,initialize:jT});h(this,"selectors",{selectById:GT,selectByIds:HT})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class pR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values Review");h(this,"url","/procedure-step-field-values-reviews");h(this,"actions",{addOne:lO,addMany:Ln,setOne:oO,setMany:hO,updateOne:mO,updateMany:pO,deleteOne:yO,deleteMany:kn,initialize:uO});h(this,"selectors",{selectById:SO,selectByIds:AO})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.field_values],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Procedure step field values review with uuid ${e.uuid} not found in store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Procedure step field values review with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{field_values__procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class yR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values");h(this,"url","/procedure-step-field-values");h(this,"actions",{addOne:JT,addMany:XT,setOne:QT,setMany:xT,updateOne:eO,updateMany:tO,deleteOne:sO,deleteMany:iO,initialize:ZT});h(this,"selectors",{selectById:aO,selectByIds:rO})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{addMany:c,updateMany:r,deleteMany:a}=this.actions,u=new Date().toISOString(),d=this.select(_=>{var b;return((b=_.userReducer.currentUser)==null?void 0:b.id)??null}),p=[],m=dt(e,Math.min(n??e.length,N)),f=[];for(const _ of m){const b=[],M=[],g=[];for(const E of _){const B=O({...E,values:E.values,created_by:d,submitted_at:u});p.push(B),b.push(R(B)),M.push(B.procedure_step,B.procedure,B.fields_revision),g.push(B.uuid)}f.push({payload:{payloads:b,submitted_at:u},blockers:M,blocks:g})}this.dispatch(c(p));const I=f.map(_=>{const{payload:b,blocks:M,blockers:g}=_;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:g,blocks:M})});return Promise.all(I).then(_=>{this.dispatch(r(_.flat()))}).catch(()=>{this.dispatch(a(w(p)))}),[p,Promise.all(I).then(_=>_.flat())]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.uuid,a.procedure,a.procedure_step,a.fields_revision],blocks:[a.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e} to exist`);const u=this.select(WT(e)),d=this.select(IO(e));this.dispatch(n(e)),this.dispatch(qn(w(u))),this.dispatch(kn(w(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(a)),this.dispatch(jn(u)),this.dispatch(Ln(d)),p}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class fR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step Reviewer");h(this,"url","/procedure-step-reviewers");h(this,"actions",{addOne:FO,addMany:bO,setOne:_O,setMany:gO,updateOne:MO,updateMany:RO,deleteOne:wO,deleteMany:vO,initialize:PO});h(this,"selectors",{selectById:BO,selectByIds:VO})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure,a.procedure_step],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}bulkAdd(e){const{addMany:n,setMany:c,deleteMany:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(m=>O({...m,created_by:a,submitted_at:u}));this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_reviewers:d.map(m=>R(m)),submitted_at:u},blockers:d.flatMap(m=>[m.procedure,m.procedure_step]),blocks:d.map(m=>m.uuid)});return p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.map(m=>m.uuid)))}),[d,p]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure step reviewer with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(c(a)),a}}class SR extends v{constructor(){super(...arguments);h(this,"name","Procedure Initiative");h(this,"url","/procedure-initiatives");h(this,"actions",{addOne:IA,addMany:TA,setOne:OA,setMany:PA,updateOne:FA,updateMany:bA,deleteOne:_A,deleteMany:gA,initialize:AA});h(this,"selectors",{selectById:wA,selectByIds:vA})}add(e){var p;const{store:n}=this.client,{addOne:c,updateOne:r,deleteOne:a}=this.actions,u=O({...e,created_by:((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,submitted_at:new Date().toISOString()});this.dispatch(c(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(u),blockers:[u.procedure_type,u.project],blocks:[u.uuid]});return d.then(m=>{this.dispatch(r(m))}).catch(()=>{this.dispatch(a(u.uuid))}),[u,d]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected ${this.name} with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected ${this.name} with uuid ${e} to exist`);const u=this.select(WA(e));this.dispatch(n(e)),this.dispatch(_t(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(bt(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(c(a)),a}}class AR extends v{constructor(){super(...arguments);h(this,"name","Procedure Step");h(this,"url","/procedure-steps");h(this,"actions",{addOne:$O,addMany:UO,setOne:qO,setMany:CO,updateOne:LO,updateMany:kO,deleteOne:NO,deleteMany:GO,initialize:jO});h(this,"selectors",{selectById:WO,selectByIds:KO})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[a.procedure_type],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`No procedure step with uuid ${e.uuid} found in the store`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{addOne:n,deleteOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`No procedure step with uuid ${e} found in the store`);this.dispatch(c(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(n(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class IR extends j{constructor(){super(...arguments);h(this,"name","Procedure Type Attachment");h(this,"url","/procedure-type-attachments");h(this,"actions",{addOne:JO,addMany:XO,setOne:QO,setMany:xO,updateOne:eP,updateMany:tP,deleteOne:sP,deleteMany:iP,initialize:ZO});h(this,"selectors",{selectById:aP,selectByIds:rP})}getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class TR extends j{constructor(){super(...arguments);h(this,"name","Procedure Type Fields Attachment");h(this,"url","/procedure-type-fields-attachments");h(this,"actions",{addOne:lP,addMany:oP,setOne:hP,setMany:mP,updateOne:pP,updateMany:yP,deleteOne:fP,deleteMany:SP,initialize:uP});h(this,"selectors",{selectById:TP,selectByIds:OP})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,fields_revision:r,file_sha1:a,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{fields_revision__procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class OR extends v{constructor(){super(...arguments);h(this,"name","Procedure Type Fields");h(this,"url","/procedure-type-fields");h(this,"actions",{addOne:bP,addMany:_P,setOne:gP,setMany:MP,updateOne:RP,updateMany:wP,deleteOne:vP,deleteMany:EP,initialize:FP});h(this,"selectors",{selectById:zP,selectByIds:DP})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u});this.dispatch(n(d));const p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[d.procedure_type],blocks:[d.uuid]});return p.then(m=>{this.dispatch(c(m))}).catch(m=>{throw this.dispatch(r(d.uuid)),m}),[d,p]}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(c(r)),r}}class PR extends j{constructor(){super(...arguments);h(this,"name","Procedure Field Values Attachment");h(this,"url","/procedure-field-values-attachments");h(this,"actions",{addOne:CP,addMany:xn,setOne:$P,setMany:UP,updateOne:LP,updateMany:kP,deleteOne:NP,deleteMany:ec,initialize:qP});h(this,"selectors",{selectById:WP,selectByIds:KP})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var a;return((a=r.userReducer.currentUser)==null?void 0:a.id)??null}),c=new Date().toISOString();return O({...e,created_by:n,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:c,field_values:r,file_sha1:a,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:c}=this.actions,{selectByIds:r}=this.selectors,a=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class FR extends v{constructor(){super(...arguments);h(this,"name","Procedure Field Values");h(this,"url","/procedure-field-values");h(this,"actions",{addOne:XP,addMany:QP,setOne:xP,setMany:eF,updateOne:tF,updateMany:sF,deleteOne:iF,deleteMany:nF,initialize:JP});h(this,"selectors",{selectById:rF,selectByIds:dF})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=this.select(m=>{var f;return((f=m.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:a,submitted_at:u}),p=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(d),blockers:[e.fields_revision,e.procedure],blocks:[d.uuid]});return this.dispatch(n(d)),p.then(m=>{this.dispatch(c(m))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,p]}bulkAdd(e,n){const{addMany:c,updateMany:r,deleteMany:a}=this.actions,u=new Date().toISOString(),d=this.select(_=>{var b;return((b=_.userReducer.currentUser)==null?void 0:b.id)??null}),p=[],m=dt(e,Math.min(n??e.length,N)),f=[];for(const _ of m){const b=[],M=[],g=[];for(const E of _){const B=O({...E,values:E.values,created_by:d,submitted_at:u});p.push(B),b.push(R(B)),M.push(B.procedure,B.fields_revision),g.push(B.uuid)}f.push({payload:{payloads:b,submitted_at:u},blockers:M,blocks:g})}this.dispatch(c(p));const I=f.map(_=>{const{payload:b,blocks:M,blockers:g}=_;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:g,blocks:M})});return Promise.all(I).then(_=>{this.dispatch(r(_.flat()))}).catch(()=>{this.dispatch(a(w(p)))}),[p,Promise.all(I).then(_=>_.flat())]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[a.fields_revision,a.procedure],blocks:[a.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(YP(e));this.dispatch(n(e)),this.dispatch(ec(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(xn(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,a=(await this.listPaginated({queryParams:{procedure__project:e,latest:!0}},n)).flat();return this.dispatch(c(a)),a}}class bR extends v{constructor(){super(...arguments);h(this,"name","Procedure Type");h(this,"url","/procedure-types");h(this,"actions",{addOne:oF,addMany:hF,setOne:mF,setMany:pF,updateOne:yF,updateMany:fF,deleteOne:SF,deleteMany:AF,initialize:lF});h(this,"selectors",{selectById:OF,selectByIds:PF})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected procedure type with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{deleteOne:n,addOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected procedure type with uuid ${e} to exist`);const u=this.select(NA(e));this.dispatch(n(e)),this.dispatch(_t(w(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(a)),this.dispatch(bt(u)),d}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class _R extends v{constructor(){super(...arguments);h(this,"name","Team Membership");h(this,"url","/team-memberships");h(this,"actions",{addOne:gF,addMany:MF,setOne:RF,setMany:wF,updateOne:vF,updateMany:EF,deleteOne:BF,deleteMany:VF,initialize:_F});h(this,"selectors",{selectById:jF,selectByIds:qF})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null})});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[e.team],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}bulkAdd(e){const{addMany:n,setMany:c,deleteMany:r}=this.actions,a=this.select(p=>{var m;return((m=p.userReducer.currentUser)==null?void 0:m.id)??null}),u=e.map(p=>O({...p,created_by:a}));this.dispatch(n(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{team_memberships:u.map(p=>R(p))},blockers:u.map(p=>p.team),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(u.map(p=>p.uuid)))}),[u,d]}async delete(e){const{addOne:n,deleteOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(c(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(n(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(c(r)),r}}class gR extends v{constructor(){super(...arguments);h(this,"name","Team");h(this,"url","/teams");h(this,"actions",{addOne:UF,addMany:LF,setOne:kF,setMany:NF,updateOne:GF,updateMany:HF,deleteOne:WF,deleteMany:KF,initialize:$F});h(this,"selectors",{selectById:ZF,selectByIds:JF})}add(e){const{addOne:n,updateOne:c,deleteOne:r}=this.actions,a=O({...e,submitted_at:new Date().toISOString(),created_by:this.select(d=>{var p;return((p=d.userReducer.currentUser)==null?void 0:p.id)??null})});this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:R(a),blockers:[],blocks:[a.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(a.uuid))}),[a,u]}update(e){const{updateOne:n}=this.actions,{selectById:c}=this.selectors,r=this.select(c(e.uuid));if(!r)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const a={...r,...e};this.dispatch(n(a));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:R(e),blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[a,u]}async delete(e){const{addOne:n,deleteOne:c}=this.actions,{selectById:r}=this.selectors,a=this.select(r(e));if(!a)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(c(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(n(a)),u}}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(c(r)),r}}class MR extends ft{constructor(){super(...arguments);h(this,"name","User");h(this,"url","/user");h(this,"actions",{addOne:rn,addMany:mf,setOne:hf,setMany:of,updateOne:yf,updateMany:pf,deleteOne:dn,deleteMany:ff,initialize:lf});h(this,"selectors",{selectById:ss,selectByIds:If})}async list(e,n){const{organizationUuid:c,...r}=e,a=c?`/organizations/${c}${this.url}s/`:`/${this.url}`;return this.performRequest({method:o.GET,url:a,...r},n)}async refreshStore(e,n){const{initialize:c}=this.actions,r=await this.list({organizationUuid:e},n);return this.dispatch(c(r)),r}}async function pc(t,s,e,n,c){const r=n instanceof yt;r&&s.checkAuth!==!1&&await n.auth.prepareAuth();const a={queryParams:"",isAuthNeeded:!0},{s3url:u,payload:d,headers:p,method:m,queryParams:f,attachmentHash:I,isExternalUrl:_,isAuthNeeded:b,isResponseBlob:M}={...a,...s};let g=s.url;const E=I?await e.files.getFileFromCache(I):void 0;if(I&&!E)throw new Error(`Cannot upload file ${I} because it's not cached.`);!_&&!g.startsWith("http")&&(!g.startsWith("/")&&!g.startsWith("blob:")&&(g="/"+g),g=t+g);const B=q=>{if(I){if(!u)throw new Error(`No S3 URL for file ${I}`);if("warning"in u)throw new Error(`S3 URL warning for file ${I}`);if(!E)throw new Error(`No file for file ${I}`);const G=u.fields["x-amz-checksum-sha1"];if(!G)throw new Error(`No checksum for file ${I}`);return q.set("x-amz-checksum-sha1",G).field({...d,...u.fields}).attach("file",E)}return q.send(d)},z={[o.GET]:()=>M?It.get(g.toString()).responseType("blob"):It.get(g.toString()),[o.POST]:()=>{const q=It.post(g.toString());return B(q)},[o.PATCH]:()=>{const q=It.patch(g.toString());return B(q)},[o.PUT]:()=>{const q=It.put(g.toString());return B(q)},[o.DELETE]:()=>{const q=It.delete(g.toString());return B(q)}}[m];let D=z();const At=()=>{console.debug("aborting request:",s.url),D.abort()};if(c==null||c.addEventListener("abort",At),b&&r){const q=n.auth.getAuthHeader();D=D.set("Authorization",q)}p&&(D=D.set(p));try{return await D.query(f)}catch(q){const G=rb(q),ls=G==null?void 0:G.status;if(r&&ls===401)return await n.auth.handleUnauthorized(D,G),D.query(f);throw new U({response:G,innerError:q,discard:oc.includes(ls)})}finally{c==null||c.removeEventListener("abort",At)}}class RR{constructor(s){h(this,"store");this.store=s}_performRequest(s,e,n,c){const r=new os,a={...e,uuid:e.uuid??ut.v4()};return pc(s,a,this,n,c).then(u=>{r.resolve(u.body)}).catch(u=>{u instanceof Error?r.reject(u):r.reject(new Error((u??gt).toString()))}),r}async performRequest(s,e,n,c){return this._performRequest(s,e,n,c).then(r=>{if(r instanceof U)throw r;return r})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(c=>{if(c instanceof U)throw c;return c})}_enqueueRequest(s,e,n){const c=new os,r={...s,BASE_URL:e,serviceName:n},a=this.store.dispatch(Xf(r)),u=p=>{if(p)c.resolve(p.body);else{const m=new U({message:"Could not get a response from the server.",response:p,discard:!0});c.reject(m)}},d=p=>{p instanceof U?p.options.discard=!0:(console.error("Received an unexpected error while processing a request:",p,`
|
|
14
14
|
Converting error to APIError and discarding.`),p=new U({message:"An error occurred while processing the request.",innerError:p,discard:!0})),c.reject(p)};return a.then(u,d),c}async performPagination(s,e,n,c,r){const a={...e,queryParams:{...e.queryParams,paginate:!0,limit:n}},{method:u}=a,d=[];let p=await this.performRequest(s,a,c,r);for(d.push(p.results);p.next;)p=await this.performRequest(s,{url:p.next,method:u},c,r),d.push(p.results);return d}}class Mt{constructor(){h(this,"graph");h(this,"requestAttemptCounter");this.graph=new gb.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new Mt;for(let n=0;n<s.length;n++){const c=s[n];if(!c){console.error("Outbox item was undefined");continue}e.sneakRequest(c);for(let r=0;r<n;r++){const a=s[r];if(!a){console.error("Previous outbox item was undefined");continue}a.payload.uuid!==c.payload.uuid&&a.payload.blocks.some(u=>c.payload.blockers.includes(u))&&Mt._addDependency(c.payload.uuid,a.payload.uuid,e.graph)}}return e}_addDependency(s,e){Mt._addDependency(s,e,this.graph)}static _addDependency(s,e,n){if(s===e)throw new Error(`Tried to add dependency from node to itself: ${s}`);if(!n.hasNode(s))throw new Error(`Tried to add dependency from non-existent node: ${s} (to node: ${e})`);if(!n.hasNode(e))throw new Error(`Tried to add dependency to non-existent node: ${e} (from node: ${s})`);n.addDependency(s,e)}addRequest(s){if(this.graph.addNode(s.payload.uuid,s),!(s.payload.blockers.length===0||this.graph.size()===1))for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;const n=this.graph.getNodeData(e),c=new Set(n.payload.blocks);s.payload.blockers.some(r=>c.has(r))&&this._addDependency(s.payload.uuid,e)}}insertRequest(s){this.graph.addNode(s.payload.uuid,s);for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;const n=this.graph.getNodeData(e),c=new Set(s.payload.blocks);n.payload.blockers.some(r=>c.has(r))&&this._addDependency(e,s.payload.uuid)}}sneakRequest(s){this.graph.addNode(s.payload.uuid,s)}_getNextNode(){const s=this.graph.overallOrder(!0);let e=1/0,n;for(const c of s){const r=this.requestAttemptCounter[c]||0;r<e&&(e=r,n=c)}return n}peek(){const s=this._getNextNode();if(s)return this.graph.getNodeData(s)}remove(s){this.graph.removeNode(s),delete this.requestAttemptCounter[s]}pop(){const s=this.peek();return s&&this.graph.removeNode(s.payload.uuid),s}getQueue(){const s=this.graph.overallOrder().map(n=>this.graph.getNodeData(n)),e=this._getNextNode();if(e){const n=this.graph.getNodeData(e),c=s.findIndex(r=>r.payload.uuid===n.payload.uuid);c!==-1&&(s.splice(c,1),s.unshift(n))}return s}getReady(){let s=this.graph.overallOrder(!0).map(e=>this.graph.getNodeData(e));return s=s.sort((e,n)=>e.meta.offline.effect.timestamp.localeCompare(n.meta.offline.effect.timestamp)),s=s.sort((e,n)=>{const c=this.requestAttemptCounter[e.payload.uuid]||0,r=this.requestAttemptCounter[n.payload.uuid]||0;return c-r}),s}registerRetry(s){this.requestAttemptCounter[s]=(this.requestAttemptCounter[s]||0)+1}}let db;function ub(t){db=t}function Rt(){return db}let lb;function ob(t){lb=t}function hb(){return lb}let yc=null;function St(){const t=Rt();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(yc)return yc;const s=t.getState().offline.outbox,e=Mt._fromOutbox(s);return yc=e,e}const wR=(t,s)=>{const e=new s(t);return ob(e),ub(t),e};class vR{constructor(s){h(this,"_all");h(this,"_previous");this._all=[s],this._previous=s,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(s){return this._previous&&(this._previous.next=s),this._all.push(s),this._previous=s,{then:this.then,compile:this.compile}}compile(){return this._all}}class fc{constructor(){h(this,"next");this.next=null}then(s){return new vR(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s.payload.url),!Rt())throw new Error("Client store not set");const n=hb();if(!n)throw new Error("Client SDK not set");return nb(s,n)}}}class mb extends fc{async run(s){return super.run(s)}}class pb extends fc{async run(s){return super.run(s)}}const yb=new mb().then(new pb).compile();function fb(t){var s;return(s=yb[0])==null?void 0:s.run(t)}var Sb=(t=>(t[t.USER_REGISTRATION=0]="USER_REGISTRATION",t[t.APPLICATION_INVITE=2]="APPLICATION_INVITE",t[t.PROJECT_INVITE=4]="PROJECT_INVITE",t[t.ORGANIZATION_INVITE=6]="ORGANIZATION_INVITE",t[t.ADD_EMAIL_DOMAIN=8]="ADD_EMAIL_DOMAIN",t[t.RESET_PASSWORD=10]="RESET_PASSWORD",t))(Sb||{});i.ALL_MIDDLEWARE=yb,i.APIError=U,i.AgentService=aM,i.AssetAttachmentService=rM,i.AssetCommentService=dM,i.AssetService=uM,i.AssetStatusType=_c,i.AssetTypeAttachmentService=lM,i.AssetTypeFieldValuesAttachmentService=mM,i.AssetTypeFieldValuesService=pM,i.AssetTypeFieldsAttachmentService=oM,i.AssetTypeFieldsService=hM,i.AssetTypeIdentifierService=yM,i.AssetTypeIdentifierValueService=fM,i.AssetTypeService=SM,i.AssetTypeStatusService=AM,i.BaseApiService=yt,i.BaseModelApiService=ft,i.BaseOfflineFileModelApiService=j,i.BaseOfflineModelApiService=v,i.BaseSDK=RR,i.COMMON_AUTO_FIELDS=Fc,i.DEFAULT_PAGE_SIZE=xF,i.DISCARD_HTTP_STATUSES=oc,i.DeferredPromise=os,i.DocumentAttachmentService=IM,i.DocumentService=TM,i.EMPTY_ARRAY=Tc,i.EMPTY_OBJECT=Oc,i.EmailDomainsService=OM,i.EmailVerificationService=PM,i.FileService=FM,i.FormIdentifierService=bM,i.FormIdentifierValueService=_M,i.FormRevisionAttachmentService=gM,i.FormRevisionService=MM,i.FormService=RM,i.FormSubmissionAttachmentService=vM,i.FormSubmissionService=EM,i.FormSubscriberService=wM,i.GeoImageService=BM,i.HttpMethod=o,i.IssueAssociationService=VM,i.IssueAttachmentService=zM,i.IssueCommentAttachmentService=DM,i.IssueCommentService=jM,i.IssuePriorityType=Mc,i.IssueService=qM,i.IssueStatusType=gc,i.IssueTypeAttachmentService=CM,i.IssueTypeFieldValuesAttachmentService=LM,i.IssueTypeFieldValuesService=kM,i.IssueTypeFieldsAttachmentService=$M,i.IssueTypeFieldsService=UM,i.IssueTypeIdentifierService=NM,i.IssueTypeIdentifierValueService=GM,i.IssueTypePriorityService=HM,i.IssueTypeService=WM,i.IssueTypeStatusService=KM,i.IssueUpdateChange=$,i.IssueUpdateService=YM,i.JWTService=XM,i.MAX_SERVICE_BATCH_SIZE=N,i.OUTBOX_RETRY_DELAY=Pc,i.OfflineAnalyticsMiddleware=mb,i.OfflineMiddleware=fc,i.OrganizationAccessLevel=bc,i.OrganizationAccessService=QM,i.OrganizationService=xM,i.OutboxCoordinator=Mt,i.ProcdureInitiativeService=SR,i.ProcedureFieldValuesAttachmentService=PR,i.ProcedureFieldValuesService=FR,i.ProcedureService=cR,i.ProcedureStepAssigneeService=aR,i.ProcedureStepCommentService=rR,i.ProcedureStepDefaultAssigneeService=dR,i.ProcedureStepDefaultReviewerService=uR,i.ProcedureStepEventService=lR,i.ProcedureStepEventType=Rc,i.ProcedureStepFieldValuesAttachmentService=mR,i.ProcedureStepFieldValuesReviewService=pR,i.ProcedureStepFieldValuesReviewType=wc,i.ProcedureStepFieldValuesService=yR,i.ProcedureStepFieldsAttachmentService=oR,i.ProcedureStepFieldsService=hR,i.ProcedureStepReviewerService=fR,i.ProcedureStepService=AR,i.ProcedureTypeAttachmentService=IR,i.ProcedureTypeFieldsAttachmentService=TR,i.ProcedureTypeFieldsService=OR,i.ProcedureTypeService=bR,i.ProjectAccessService=eR,i.ProjectAttachmentService=tR,i.ProjectCommentService=sR,i.ProjectFileService=iR,i.ProjectService=nR,i.RESET_ORGANIZATION_STATE=F,i.RESET_PROJECT_STATE=V,i.RESET_STATE=T,i.RateLimitingMiddleware=pb,i.SelectorBuilder=Kb,i.TeamMembershipService=_R,i.TeamService=gR,i.UNKNOWN_ERROR_MESSAGE=gt,i.UserService=MR,i.VerificationCodeType=Sb,i._setLatestRetryTime=xf,i.addAsset=ga,i.addAssetAttachment=xc,i.addAssetAttachments=Ts,i.addAssetComment=ha,i.addAssetComments=Ut,i.addAssetType=wd,i.addAssetTypeAttachment=$a,i.addAssetTypeAttachments=Rs,i.addAssetTypeFieldValues=$r,i.addAssetTypeFieldValuesAttachment=gr,i.addAssetTypeFieldValuesAttachments=Ds,i.addAssetTypeFieldValuesMany=Ur,i.addAssetTypeFields=hr,i.addAssetTypeFieldsAttachment=Qa,i.addAssetTypeFieldsAttachments=xa,i.addAssetTypeFieldsMany=mr,i.addAssetTypeIdentifier=xr,i.addAssetTypeIdentifierValue=md,i.addAssetTypeIdentifierValues=pd,i.addAssetTypeIdentifiers=ed,i.addAssetTypeStatus=Ld,i.addAssetTypeStatuses=kd,i.addAssetTypes=vd,i.addAssets=_s,i.addConversation=Kc,i.addConversations=Yb,i.addDocument=Au,i.addDocumentAttachment=nu,i.addDocumentAttachments=cu,i.addDocuments=Iu,i.addEmailDomain=Bu,i.addEmailDomains=Vu,i.addForm=ao,i.addFormIdentifier=Wu,i.addFormIdentifierValue=al,i.addFormIdentifierValues=rl,i.addFormIdentifiers=Ku,i.addFormRevision=zl,i.addFormRevisionAttachment=Tl,i.addFormRevisionAttachments=Ol,i.addFormRevisions=ii,i.addFormSubmission=Do,i.addFormSubmissionAttachment=Oo,i.addFormSubmissionAttachments=oi,i.addFormSubmissions=lt,i.addFormSubscriber=Kl,i.addFormSubscribers=ai,i.addForms=ro,i.addGeoImage=Qo,i.addGeoImages=xo,i.addIssue=hm,i.addIssueAssociation=ph,i.addIssueAssociations=Ot,i.addIssueAttachment=gh,i.addIssueAttachments=Oi,i.addIssueComment=xh,i.addIssueCommentAttachment=$h,i.addIssueCommentAttachments=Uh,i.addIssueComments=em,i.addIssueType=My,i.addIssueTypeAttachment=_m,i.addIssueTypeAttachments=gm,i.addIssueTypeFieldValues=xm,i.addIssueTypeFieldValuesAttachment=Mp,i.addIssueTypeFieldValuesAttachments=Ci,i.addIssueTypeFieldValuesMany=ep,i.addIssueTypeFields=mp,i.addIssueTypeFieldsAttachment=$m,i.addIssueTypeFieldsAttachments=Um,i.addIssueTypeFieldsMany=pp,i.addIssueTypeIdentifier=Up,i.addIssueTypeIdentifierValue=ey,i.addIssueTypeIdentifierValues=ty,i.addIssueTypeIdentifiers=Lp,i.addIssueTypePriorities=yy,i.addIssueTypePriority=py,i.addIssueTypeStatus=Ly,i.addIssueTypeStatuses=ky,i.addIssueTypes=Ry,i.addIssueUpdate=xi,i.addIssueUpdates=en,i.addIssues=wi,i.addOrganization=$f,i.addOrganizationAccess=Pf,i.addOrganizationAccesses=Ff,i.addOrganizations=Cf,i.addProcedure=VA,i.addProcedureFieldValues=XP,i.addProcedureFieldValuesAttachment=CP,i.addProcedureFieldValuesAttachments=xn,i.addProcedureFieldValuesMany=QP,i.addProcedureInitiative=IA,i.addProcedureInitiatives=TA,i.addProcedureStep=$O,i.addProcedureStepAssignee=ZA,i.addProcedureStepAssignees=JA,i.addProcedureStepComment=uI,i.addProcedureStepComments=lI,i.addProcedureStepDefaultAssignee=FI,i.addProcedureStepDefaultAssignees=bI,i.addProcedureStepDefaultReviewer=qI,i.addProcedureStepDefaultReviewers=CI,i.addProcedureStepEvent=XI,i.addProcedureStepEvents=QI,i.addProcedureStepFieldValues=JT,i.addProcedureStepFieldValuesAttachment=qT,i.addProcedureStepFieldValuesAttachments=jn,i.addProcedureStepFieldValuesMany=XT,i.addProcedureStepFieldValuesReview=lO,i.addProcedureStepFieldValuesReviews=Ln,i.addProcedureStepFields=bT,i.addProcedureStepFieldsAttachment=oT,i.addProcedureStepFieldsAttachments=vn,i.addProcedureStepFieldsMany=_T,i.addProcedureStepReviewer=FO,i.addProcedureStepReviewers=bO,i.addProcedureSteps=UO,i.addProcedureType=oF,i.addProcedureTypeAttachment=JO,i.addProcedureTypeAttachments=XO,i.addProcedureTypeFields=bP,i.addProcedureTypeFieldsAttachment=lP,i.addProcedureTypeFieldsAttachments=oP,i.addProcedureTypeFieldsMany=_P,i.addProcedureTypes=hF,i.addProcedures=bt,i.addProject=dA,i.addProjectAccess=iS,i.addProjectAccesses=nS,i.addProjectAttachment=fS,i.addProjectAttachments=SS,i.addProjectComment=vS,i.addProjectComments=ES,i.addProjectFile=WS,i.addProjectFiles=KS,i.addProjects=rA,i.addTeam=UF,i.addTeamMembership=gF,i.addTeamMemberships=MF,i.addTeams=LF,i.addUser=rn,i.addUsers=mf,i.agentsReducer=Jc,i.agentsSlice=Ss,i.areArraysEqual=vb,i.assetAttachmentReducer=ua,i.assetAttachmentSlice=Is,i.assetCommentReducer=Fa,i.assetCommentSlice=Fs,i.assetReducer=ja,i.assetSlice=bs,i.assetTypeAttachmentReducer=Za,i.assetTypeAttachmentSlice=Ms,i.assetTypeFieldValuesAttachmentReducer=jr,i.assetTypeFieldValuesAttachmentSlice=zs,i.assetTypeFieldValuesReducer=Jr,i.assetTypeFieldValuesSlice=Cs,i.assetTypeFieldsAttachmentReducer=ur,i.assetTypeFieldsAttachmentSlice=Es,i.assetTypeFieldsReducer=Fr,i.assetTypeFieldsSlice=Vs,i.assetTypeIdentifierReducer=ld,i.assetTypeIdentifierSlice=$s,i.assetTypeIdentifierValueReducer=bd,i.assetTypeIdentifierValueSlice=Ls,i.assetTypeReducer=Cd,i.assetTypeSlice=ks,i.assetTypeStatusReducer=Qd,i.assetTypeStatusSlice=Gs,i.assetTypeStatusSortFn=Uc,i.authReducer=tu,i.authSlice=Wt,i.baseReducer=Zg,i.baseReducers=lc,i.clearTokens=m_,i.createModelAdapter=P,i.createOfflineAction=Zf,i.createPayload=R,i.createSelectionAdapter=Mb,i.deleteAsset=wa,i.deleteAssetAttachment=na,i.deleteAssetAttachments=Os,i.deleteAssetComment=Sa,i.deleteAssetComments=Lt,i.deleteAssetType=Vd,i.deleteAssetTypeAttachment=Ga,i.deleteAssetTypeAttachments=ws,i.deleteAssetTypeFieldValues=Hr,i.deleteAssetTypeFieldValuesAttachment=Er,i.deleteAssetTypeFieldValuesAttachments=js,i.deleteAssetTypeFieldValuesMany=Wr,i.deleteAssetTypeFields=Ar,i.deleteAssetTypeFieldsAttachment=nr,i.deleteAssetTypeFieldsAttachments=cr,i.deleteAssetTypeFieldsMany=Ir,i.deleteAssetTypeIdentifier=cd,i.deleteAssetTypeIdentifierValue=Id,i.deleteAssetTypeIdentifierValues=Td,i.deleteAssetTypeIdentifiers=ad,i.deleteAssetTypeStatus=Kd,i.deleteAssetTypeStatuses=Yd,i.deleteAssetTypes=zd,i.deleteAssets=gs,i.deleteConversation=Xb,i.deleteConversations=Qb,i.deleteDocument=bu,i.deleteDocumentAttachment=lu,i.deleteDocumentAttachments=ou,i.deleteDocuments=_u,i.deleteEmailDomain=Cu,i.deleteEmailDomains=$u,i.deleteForm=mo,i.deleteFormIdentifier=Qu,i.deleteFormIdentifierValue=hl,i.deleteFormIdentifierValues=ml,i.deleteFormIdentifiers=xu,i.deleteFormRevision=$l,i.deleteFormRevisionAttachment=gl,i.deleteFormRevisionAttachments=Ml,i.deleteFormRevisions=ni,i.deleteFormSubmission=Co,i.deleteFormSubmissionAttachment=go,i.deleteFormSubmissionAttachments=hi,i.deleteFormSubmissions=ot,i.deleteFormSubscriber=Ql,i.deleteFormSubscribers=ri,i.deleteForms=po,i.deleteGeoImage=sh,i.deleteGeoImages=ih,i.deleteIssue=Sm,i.deleteIssueAssociation=yh,i.deleteIssueAssociations=Pt,i.deleteIssueAttachment=Eh,i.deleteIssueAttachments=Pi,i.deleteIssueComment=cm,i.deleteIssueCommentAttachment=Hh,i.deleteIssueCommentAttachments=Wh,i.deleteIssueComments=am,i.deleteIssueType=Vy,i.deleteIssueTypeAttachment=Em,i.deleteIssueTypeAttachments=Bm,i.deleteIssueTypeFieldValues=cp,i.deleteIssueTypeFieldValuesAttachment=Bp,i.deleteIssueTypeFieldValuesAttachments=$i,i.deleteIssueTypeFieldValuesMany=ap,i.deleteIssueTypeFields=Ip,i.deleteIssueTypeFieldsAttachment=Hm,i.deleteIssueTypeFieldsAttachments=Wm,i.deleteIssueTypeFieldsMany=Tp,i.deleteIssueTypeIdentifier=Wp,i.deleteIssueTypeIdentifierValue=ay,i.deleteIssueTypeIdentifierValues=ry,i.deleteIssueTypeIdentifiers=Kp,i.deleteIssueTypePriorities=Oy,i.deleteIssueTypePriority=Ty,i.deleteIssueTypeStatus=Ky,i.deleteIssueTypeStatuses=Yy,i.deleteIssueTypes=zy,i.deleteIssueUpdate=tn,i.deleteIssueUpdates=sn,i.deleteIssues=vi,i.deleteOrganization=kf,i.deleteOrganizationAccess=Rf,i.deleteOrganizationAccesses=wf,i.deleteOrganizations=Nf,i.deleteProcedure=CA,i.deleteProcedureFieldValues=iF,i.deleteProcedureFieldValuesAttachment=NP,i.deleteProcedureFieldValuesAttachments=ec,i.deleteProcedureFieldValuesMany=nF,i.deleteProcedureInitiative=_A,i.deleteProcedureInitiatives=gA,i.deleteProcedureStep=NO,i.deleteProcedureStepAssignee=tI,i.deleteProcedureStepAssignees=sI,i.deleteProcedureStepComment=yI,i.deleteProcedureStepComments=fI,i.deleteProcedureStepDefaultAssignee=wI,i.deleteProcedureStepDefaultAssignees=vI,i.deleteProcedureStepDefaultReviewer=NI,i.deleteProcedureStepDefaultReviewers=GI,i.deleteProcedureStepEvent=iT,i.deleteProcedureStepEvents=nT,i.deleteProcedureStepFieldValues=sO,i.deleteProcedureStepFieldValuesAttachment=kT,i.deleteProcedureStepFieldValuesAttachments=qn,i.deleteProcedureStepFieldValuesMany=iO,i.deleteProcedureStepFieldValuesReview=yO,i.deleteProcedureStepFieldValuesReviews=kn,i.deleteProcedureStepFields=vT,i.deleteProcedureStepFieldsAttachment=fT,i.deleteProcedureStepFieldsAttachments=En,i.deleteProcedureStepFieldsMany=ET,i.deleteProcedureStepReviewer=wO,i.deleteProcedureStepReviewers=vO,i.deleteProcedureSteps=GO,i.deleteProcedureType=SF,i.deleteProcedureTypeAttachment=sP,i.deleteProcedureTypeAttachments=iP,i.deleteProcedureTypeFields=vP,i.deleteProcedureTypeFieldsAttachment=fP,i.deleteProcedureTypeFieldsAttachments=SP,i.deleteProcedureTypeFieldsMany=EP,i.deleteProcedureTypes=AF,i.deleteProcedures=_t,i.deleteProject=oA,i.deleteProjectAccess=uS,i.deleteProjectAccesses=lS,i.deleteProjectAttachment=PS,i.deleteProjectAttachments=FS,i.deleteProjectComment=jS,i.deleteProjectComments=qS,i.deleteProjectFile=JS,i.deleteProjectFiles=XS,i.deleteProjects=hA,i.deleteTeam=WF,i.deleteTeamMembership=BF,i.deleteTeamMemberships=VF,i.deleteTeams=KF,i.deleteUser=dn,i.deleteUsers=ff,i.dequeue=ib,i.discard=cb,i.documentAttachmentReducer=yu,i.documentAttachmentSlice=Ws,i.documentSlice=Ys,i.documentsReducer=gu,i.emailDomainsReducer=Nu,i.emailDomainsSlice=Js,i.emailRegex=Hb,i.enqueue=sb,i.enqueueRequest=Xf,i.extractResponseFromError=rb,i.fallbackToEmptyArray=S,i.fallbackToEmptyObject=ps,i.fetchBlobFromObjectUrl=Bc,i.fetchFileFromObjectUrl=Vc,i.formIdentifierReducer=il,i.formIdentifierSlice=Qs,i.formIdentifierValueReducer=Sl,i.formIdentifierValueSlice=ei,i.formReducer=yo,i.formRevisionAttachmentReducer=El,i.formRevisionAttachmentSlice=ti,i.formRevisionReducer=Gl,i.formRevisionsSlice=si,i.formSlice=di,i.formSubmissionAttachmentReducer=vo,i.formSubmissionAttachmentSlice=li,i.formSubmissionReducer=Ko,i.formSubmissionSlice=fi,i.formSubscriberReducer=io,i.formSubscriberSlice=ci,i.geoImageReducer=rh,i.geoImageSlice=Si,i.getClientSDK=hb,i.getClientStore=Rt,i.getDocumentSubTree=Gc,i.getDocumentTrees=Wb,i.getFileExtension=Ec,i.getLocalDateString=vc,i.getLocalRelativeDateString=zb,i.getOutboxCoordinator=St,i.getPresignedUrlExpiryDate=qc,i.getRenamedFile=qb,i.getRequestDescription=A,i.getS3FileKey=jb,i.hashFile=Ct,i.initSDK=wR,i.initializeAssetAttachments=Qc,i.initializeAssetComments=oa,i.initializeAssetTypeAttachments=Ca,i.initializeAssetTypeFieldValues=Cr,i.initializeAssetTypeFieldValuesAttachments=_r,i.initializeAssetTypeFields=or,i.initializeAssetTypeFieldsAttachments=Xa,i.initializeAssetTypeIdentifierValues=hd,i.initializeAssetTypeIdentifiers=Qr,i.initializeAssetTypeStatuses=Ud,i.initializeAssetTypes=gd,i.initializeAssets=_a,i.initializeConversations=Wc,i.initializeDocumentAttachments=iu,i.initializeDocuments=Su,i.initializeEmailDomains=Eu,i.initializeFormIdentifierValues=cl,i.initializeFormIdentifiers=Hu,i.initializeFormRevisionAttachments=Il,i.initializeFormRevisions=Vl,i.initializeFormSubmissionAttachments=To,i.initializeFormSubmissions=Bo,i.initializeFormSubscribers=Wl,i.initializeForms=co,i.initializeGeoImages=Zo,i.initializeIssueAssociations=uh,i.initializeIssueAttachments=_h,i.initializeIssueCommentAttachments=Ch,i.initializeIssueComments=Qh,i.initializeIssueTypeAttachments=bm,i.initializeIssueTypeFieldValues=Qm,i.initializeIssueTypeFieldValuesAttachments=gp,i.initializeIssueTypeFields=hp,i.initializeIssueTypeFieldsAttachments=Cm,i.initializeIssueTypeIdentifierValues=xp,i.initializeIssueTypeIdentifiers=$p,i.initializeIssueTypePriorities=my,i.initializeIssueTypeStatuses=Uy,i.initializeIssueTypes=gy,i.initializeIssueUpdates=xy,i.initializeIssues=om,i.initializeOrganizationAccesses=Of,i.initializeOrganizations=Df,i.initializeProcedureFieldValues=JP,i.initializeProcedureFieldValuesAttachments=qP,i.initializeProcedureInitiatives=AA,i.initializeProcedureStepAssignees=YA,i.initializeProcedureStepComments=dI,i.initializeProcedureStepDefaultAssignees=PI,i.initializeProcedureStepDefaultReviewers=jI,i.initializeProcedureStepEvents=JI,i.initializeProcedureStepFieldValues=ZT,i.initializeProcedureStepFieldValuesAttachments=jT,i.initializeProcedureStepFieldValuesReviews=uO,i.initializeProcedureStepFields=FT,i.initializeProcedureStepFieldsAttachments=lT,i.initializeProcedureStepReviewers=PO,i.initializeProcedureSteps=jO,i.initializeProcedureTypeAttachments=ZO,i.initializeProcedureTypeFields=FP,i.initializeProcedureTypeFieldsAttachments=uP,i.initializeProcedureTypes=lF,i.initializeProcedures=BA,i.initializeProjectAccesses=sS,i.initializeProjectAttachments=yS,i.initializeProjectComments=wS,i.initializeProjectFiles=NS,i.initializeProjects=nA,i.initializeTeamMemberships=_F,i.initializeTeams=$F,i.initializeUsers=lf,i.isCloudfrontUrl=Dc,i.isImageFile=Cb,i.isObjectUrl=zc,i.isPresignedUrlExpired=Cc,i.isS3Url=jc,i.isToday=Vb,i.issueAssociationReducer=Fh,i.issueAssociationSlice=Ii,i.issueAttachmentReducer=jh,i.issueAttachmentSlice=Ti,i.issueCommentAttachmentReducer=Jh,i.issueCommentAttachmentSlice=bi,i.issueCommentReducer=um,i.issueCommentSlice=gi,i.issueReducer=Pm,i.issueSlice=Ri,i.issueTypeAttachmentReducer=jm,i.issueTypeAttachmentSlice=Ei,i.issueTypeFieldValuesAttachmentReducer=qp,i.issueTypeFieldValuesAttachmentSlice=qi,i.issueTypeFieldValuesReducer=lp,i.issueTypeFieldValuesSlice=Di,i.issueTypeFieldsAttachmentReducer=Jm,i.issueTypeFieldsAttachmentSlice=Vi,i.issueTypeFieldsReducer=bp,i.issueTypeFieldsSlice=ji,i.issueTypeIdentifierReducer=Xp,i.issueTypeIdentifierSlice=Li,i.issueTypeIdentifierValueReducer=oy,i.issueTypeIdentifierValueSlice=Ni,i.issueTypePriorityReducer=by,i.issueTypePrioritySlice=Gi,i.issueTypePrioritySortFn=kc,i.issueTypeReducer=Cy,i.issueTypeSlice=Ki,i.issueTypeStatusReducer=Xy,i.issueTypeStatusSlice=Zi,i.issueTypeStatusSortFn=Lc,i.issueUpdateReducer=df,i.issueUpdateSlice=Qi,i.logOnlyOnce=$b,i.markAsDeleted=Qf,i.markForDeletion=x_,i.memoize=ms,i.organizationAccessReducer=vf,i.organizationAccessSlice=ln,i.organizationReducer=Yf,i.organizationSlice=on,i.outboxReducer=eS,i.outboxSlice=hn,i.overmapEnhancer=eM,i.overmapReducer=Jg,i.overmapReducers=QF,i.performRequest=pc,i.performRequestFromAction=nb,i.procedureFieldValuesAttachmentReducer=GP,i.procedureFieldValuesAttachmentSlice=Qn,i.procedureFieldValuesReducer=cF,i.procedureFieldValuesSlice=sc,i.procedureInitiativeReducer=MA,i.procedureInitiativeSlice=Tn,i.procedureReducer=$A,i.procedureSlice=On,i.procedureStepAssigneeReducer=aI,i.procedureStepAssigneeSlice=Pn,i.procedureStepCommentReducer=TI,i.procedureStepCommentSlice=Fn,i.procedureStepDefaultAssigneeReducer=zI,i.procedureStepDefaultAssigneeSlice=bn,i.procedureStepDefaultReviewerReducer=YI,i.procedureStepDefaultReviewerSlice=gn,i.procedureStepEventReducer=dT,i.procedureStepEventSlice=Rn,i.procedureStepFieldValuesAttachmentReducer=KT,i.procedureStepFieldValuesAttachmentSlice=Dn,i.procedureStepFieldValuesReducer=nO,i.procedureStepFieldValuesReviewReducer=TO,i.procedureStepFieldValuesReviewSlice=Un,i.procedureStepFieldValuesSlice=$n,i.procedureStepFieldsAttachmentReducer=OT,i.procedureStepFieldsAttachmentSlice=wn,i.procedureStepFieldsReducer=zT,i.procedureStepFieldsSlice=Vn,i.procedureStepReducer=HO,i.procedureStepReviewerReducer=zO,i.procedureStepReviewerSlice=Nn,i.procedureStepSlice=Gn,i.procedureTypeAttachmentReducer=nP,i.procedureTypeAttachmentSlice=Kn,i.procedureTypeFieldsAttachmentReducer=AP,i.procedureTypeFieldsAttachmentSlice=Zn,i.procedureTypeFieldsReducer=BP,i.procedureTypeFieldsSlice=Xn,i.procedureTypeReducer=IF,i.procedureTypeSlice=nc,i.projectAccessReducer=oS,i.projectAccessSlice=mn,i.projectAttachmentReducer=MS,i.projectAttachmentSlice=yn,i.projectCommentReducer=LS,i.projectCommentSlice=Sn,i.projectFileReducer=sA,i.projectFileSlice=An,i.projectReducer=mA,i.projectSlice=In,i.rehydratedReducer=FF,i.rehydratedSlice=ac,i.restructureSelectorWithArgs=y,i.runMiddleware=fb,i.selectAccessToken=p_,i.selectAccessesByUserOfProject=tg,i.selectAccessibleProjects=ag,i.selectActiveOrganizationAccess=Z_,i.selectAllDocumentAttachments=Ks,i.selectAssetAttachmentById=aa,i.selectAssetAttachmentMapping=ca,i.selectAssetAttachments=Ps,i.selectAssetAttachmentsByIds=ra,i.selectAssetById=za,i.selectAssetCommentById=Ia,i.selectAssetCommentMapping=Aa,i.selectAssetComments=kt,i.selectAssetCommentsByIds=Ta,i.selectAssetTypeAttachmentById=Wa,i.selectAssetTypeAttachmentMapping=Ha,i.selectAssetTypeAttachments=vs,i.selectAssetTypeAttachmentsByIds=Ka,i.selectAssetTypeById=jd,i.selectAssetTypeFieldValues=Gt,i.selectAssetTypeFieldValuesAttachmentById=Vr,i.selectAssetTypeFieldValuesAttachments=qs,i.selectAssetTypeFieldValuesAttachmentsByIds=zr,i.selectAssetTypeFieldValuesAttachmentsMapping=Br,i.selectAssetTypeFieldValuesById=Yr,i.selectAssetTypeFieldValuesByIds=Zr,i.selectAssetTypeFieldValuesMapping=Kr,i.selectAssetTypeFieldValuesOfAsset=c_,i.selectAssetTypeFields=vt,i.selectAssetTypeFieldsAttachmentById=rr,i.selectAssetTypeFieldsAttachments=Bs,i.selectAssetTypeFieldsAttachmentsByIds=dr,i.selectAssetTypeFieldsAttachmentsMapping=ar,i.selectAssetTypeFieldsById=Or,i.selectAssetTypeFieldsByIds=Pr,i.selectAssetTypeFieldsMapping=Tr,i.selectAssetTypeFieldsOfAssetType=i_,i.selectAssetTypeIdentifierById=dd,i.selectAssetTypeIdentifierMapping=rd,i.selectAssetTypeIdentifierValueById=Pd,i.selectAssetTypeIdentifierValueMapping=Od,i.selectAssetTypeIdentifierValues=Ht,i.selectAssetTypeIdentifierValuesByIds=Fd,i.selectAssetTypeIdentifierValuesOfAsset=d_,i.selectAssetTypeIdentifierValuesOfIdentifier=u_,i.selectAssetTypeIdentifiers=Us,i.selectAssetTypeIdentifiersByIds=ud,i.selectAssetTypeIdentifiersOfAssetType=r_,i.selectAssetTypeStatusById=Jd,i.selectAssetTypeStatusMapping=Zd,i.selectAssetTypeStatuses=Hs,i.selectAssetTypeStatusesByIds=Xd,i.selectAssetTypeStatusesOfAssetType=o_,i.selectAssetTypeValuesOfAssetType=a_,i.selectAssetTypes=Ns,i.selectAssetTypesByIds=qd,i.selectAssetTypesMapping=Dd,i.selectAssetTypesOfOrganization=l_,i.selectAssets=Nt,i.selectAssetsByIds=Da,i.selectAssetsMapping=Ba,i.selectAssetsOfAssetType=Va,i.selectAssetsOfProject=t_,i.selectAttachmentsOfAsset=da,i.selectAttachmentsOfAssetType=Ya,i.selectAttachmentsOfAssetTypeFieldValues=Dr,i.selectAttachmentsOfAssetTypeFields=s_,i.selectAttachmentsOfDocument=f_,i.selectAttachmentsOfFormRevision=F_,i.selectAttachmentsOfFormSubmission=wo,i.selectAttachmentsOfIssue=Vh,i.selectAttachmentsOfIssueComment=B_,i.selectAttachmentsOfIssueType=D_,i.selectAttachmentsOfIssueTypeFieldValues=jp,i.selectAttachmentsOfIssueTypeFields=j_,i.selectAttachmentsOfProcedureFieldValues=YP,i.selectAttachmentsOfProcedureStepFieldValues=WT,i.selectAttachmentsOfProcedureStepFields=AT,i.selectAttachmentsOfProcedureType=qg,i.selectAttachmentsOfProcedureTypeFields=Cg,i.selectAttachmentsOfProject=ig,i.selectCommentsOfAsset=Oa,i.selectCommentsOfAssets=Pa,i.selectCommentsOfIssue=V_,i.selectCommentsOfProject=ng,i.selectCommentsOfProjects=cg,i.selectConversation=e_,i.selectConversationMapping=As,i.selectConversations=xb,i.selectCurrentUser=Af,i.selectDeletedRequests=X_,i.selectDescendantsOfDocument=wu,i.selectDocumentAttachmentById=mu,i.selectDocumentAttachmentMapping=hu,i.selectDocumentAttachmentsByIds=pu,i.selectDocumentById=Mu,i.selectDocuments=Kt,i.selectDocumentsByIds=Ru,i.selectDocumentsMapping=Zs,i.selectEmailDomainById=Lu,i.selectEmailDomains=Xs,i.selectEmailDomainsAsMapping=Uu,i.selectEmailDomainsByIds=ku,i.selectEmailDomainsOfOrganization=I_,i.selectFieldValuesOfProcedure=Lg,i.selectFormById=So,i.selectFormIdentifierById=tl,i.selectFormIdentifierMapping=el,i.selectFormIdentifierValueById=yl,i.selectFormIdentifierValueMapping=pl,i.selectFormIdentifierValues=Yt,i.selectFormIdentifierValuesByIds=fl,i.selectFormIdentifierValuesOfFormSubmission=O_,i.selectFormIdentifierValuesOfIdentifier=P_,i.selectFormIdentifiers=xs,i.selectFormIdentifiersByIds=sl,i.selectFormIdentifiersOfForm=T_,i.selectFormMapping=fo,i.selectFormRevisionAttachmentById=wl,i.selectFormRevisionAttachments=Rl,i.selectFormRevisionAttachmentsByIds=vl,i.selectFormRevisionAttachmentsMapping=Zt,i.selectFormRevisionById=Ll,i.selectFormRevisionMapping=Ul,i.selectFormRevisions=Jt,i.selectFormRevisionsByIds=kl,i.selectFormRevisionsOfForm=Nl,i.selectFormSubmissionAttachemntsByIds=yi,i.selectFormSubmissionAttachmentById=Mo,i.selectFormSubmissionAttachments=pi,i.selectFormSubmissionAttachmentsByIds=Ro,i.selectFormSubmissionAttachmentsMapping=mi,i.selectFormSubmissionById=Uo,i.selectFormSubmissions=k,i.selectFormSubmissionsByIds=Lo,i.selectFormSubmissionsMapping=$o,i.selectFormSubmissionsOfAsset=Ho,i.selectFormSubmissionsOfAssets=Wo,i.selectFormSubmissionsOfForm=ko,i.selectFormSubmissionsOfIssue=No,i.selectFormSubmissionsOfIssues=Go,i.selectFormSubmissionsOfOrganization=M_,i.selectFormSubmissionsOfOrganizationAndForm=v_,i.selectFormSubmissionsOfProject=R_,i.selectFormSubmissionsOfProjectAndForm=w_,i.selectFormSubscriberById=eo,i.selectFormSubscriberMapping=xl,i.selectFormSubscribers=Xt,i.selectFormSubscribersByIds=to,i.selectFormSubscribersOfForm=so,i.selectFormSubscribersOfUser=__,i.selectForms=ui,i.selectFormsByIds=Ao,i.selectFormsOfOrganization=g_,i.selectGeoImageById=ch,i.selectGeoImageMapping=nh,i.selectGeoImages=Ai,i.selectGeoImagesByIds=ah,i.selectGeoImagesOfProject=E_,i.selectIsLoggedIn=y_,i.selectIssueAssociationById=Sh,i.selectIssueAssociationMapping=fh,i.selectIssueAssociations=Ft,i.selectIssueAssociationsByIds=Ah,i.selectIssueAssociationsOfAsset=Oh,i.selectIssueAssociationsOfAssets=Ph,i.selectIssueAssociationsOfIssue=Th,i.selectIssueAssociationsOfIssues=Ih,i.selectIssueAttachmentById=zh,i.selectIssueAttachmentMapping=Bh,i.selectIssueAttachments=Fi,i.selectIssueAttachmentsByIds=Dh,i.selectIssueById=Im,i.selectIssueCommentAttachmentById=Yh,i.selectIssueCommentAttachmentMapping=Kh,i.selectIssueCommentAttachments=_i,i.selectIssueCommentAttachmentsByIds=Zh,i.selectIssueCommentById=rm,i.selectIssueCommentMapping=Mi,i.selectIssueCommentsByIds=dm,i.selectIssueMapping=Am,i.selectIssueTypeAttachmentById=zm,i.selectIssueTypeAttachmentMapping=Vm,i.selectIssueTypeAttachments=Bi,i.selectIssueTypeAttachmentsByIds=Dm,i.selectIssueTypeById=jy,i.selectIssueTypeFieldValues=xt,i.selectIssueTypeFieldValuesAttachmentById=zp,i.selectIssueTypeFieldValuesAttachments=Ui,i.selectIssueTypeFieldValuesAttachmentsByIds=Dp,i.selectIssueTypeFieldValuesAttachmentsMapping=Vp,i.selectIssueTypeFieldValuesById=dp,i.selectIssueTypeFieldValuesByIds=up,i.selectIssueTypeFieldValuesMapping=rp,i.selectIssueTypeFieldValuesOfIssue=q_,i.selectIssueTypeFields=Et,i.selectIssueTypeFieldsAttachmentById=Ym,i.selectIssueTypeFieldsAttachments=zi,i.selectIssueTypeFieldsAttachmentsByIds=Zm,i.selectIssueTypeFieldsAttachmentsMapping=Km,i.selectIssueTypeFieldsById=Pp,i.selectIssueTypeFieldsByIds=Fp,i.selectIssueTypeFieldsMapping=Op,i.selectIssueTypeFieldsOfIssueType=C_,i.selectIssueTypeIdentifierById=Zp,i.selectIssueTypeIdentifierMapping=Yp,i.selectIssueTypeIdentifierValueById=uy,i.selectIssueTypeIdentifierValueMapping=dy,i.selectIssueTypeIdentifierValues=es,i.selectIssueTypeIdentifierValuesByIds=ly,i.selectIssueTypeIdentifierValuesOfIdentifier=N_,i.selectIssueTypeIdentifierValuesOfIssue=k_,i.selectIssueTypeIdentifiers=ki,i.selectIssueTypeIdentifiersByIds=Jp,i.selectIssueTypeIdentifiersOfIssueType=L_,i.selectIssueTypeMapping=Dy,i.selectIssueTypePriorities=Hi,i.selectIssueTypePrioritiesByIds=Fy,i.selectIssueTypePrioritiesOfIssueType=G_,i.selectIssueTypePriorityById=Wi,i.selectIssueTypePriorityMapping=Py,i.selectIssueTypeStatusById=Xi,i.selectIssueTypeStatusMapping=Zy,i.selectIssueTypeStatuses=Ji,i.selectIssueTypeStatusesByIds=Jy,i.selectIssueTypeStatusesOfIssueType=W_,i.selectIssueTypeValuesOfIssueType=U_,i.selectIssueTypes=Yi,i.selectIssueTypesByIds=qy,i.selectIssueTypesOfOrganization=H_,i.selectIssueUpdateById=cf,i.selectIssueUpdateMapping=nn,i.selectIssueUpdates=cn,i.selectIssueUpdatesByIds=af,i.selectIssueUpdatesOfIssue=rf,i.selectIssues=Qt,i.selectIssuesByIds=Tm,i.selectIssuesOfIssueType=Om,i.selectIssuesOfProject=z_,i.selectLatestAssetTypeFieldsOfAssetType=n_,i.selectLatestFieldsByProcedureStep=bg,i.selectLatestFormRevisionOfForm=b_,i.selectLatestIssueTypeFieldsOfIssueType=$_,i.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=Eg,i.selectLatestProcedureStepFieldsOfProcedureStep=Fg,i.selectLatestProcedureTypeFieldsOfProcedureType=Ug,i.selectLatestRetryTime=Q_,i.selectLatestReviewOfProcedureStepFieldValues=Rg,i.selectMembershipsByUserOfTeam=Wg,i.selectOrganizationAccessById=Ef,i.selectOrganizationAccessMapping=is,i.selectOrganizationAccessUserMapping=Vf,i.selectOrganizationAccessesByIds=Bf,i.selectOrganizationById=Wf,i.selectOrganizationDocuments=A_,i.selectOrganizations=Hf,i.selectOrganizationsByIds=Kf,i.selectOrganizationsMapping=Gf,i.selectProcedureById=LA,i.selectProcedureFieldValues=ic,i.selectProcedureFieldValuesAttachmentById=WP,i.selectProcedureFieldValuesAttachments=tc,i.selectProcedureFieldValuesAttachmentsByIds=KP,i.selectProcedureFieldValuesAttachmentsMapping=HP,i.selectProcedureFieldValuesById=rF,i.selectProcedureFieldValuesByIds=dF,i.selectProcedureFieldValuesMapping=aF,i.selectProcedureInitiativeById=wA,i.selectProcedureInitiatives=as,i.selectProcedureInitiativesByIds=vA,i.selectProcedureInitiativesMapping=RA,i.selectProcedureInitiativesOfProcedureType=ug,i.selectProcedureInitiativesOfProject=dg,i.selectProcedureStepAssigneeById=nI,i.selectProcedureStepAssignees=Vt,i.selectProcedureStepAssigneesByIds=cI,i.selectProcedureStepAssigneesMapping=iI,i.selectProcedureStepAssigneesOfProcedure=og,i.selectProcedureStepAssigneesOfProcedureAndProcedureStep=mg,i.selectProcedureStepAssigneesOfProcedureStep=hg,i.selectProcedureStepById=WO,i.selectProcedureStepCommentById=AI,i.selectProcedureStepComments=zt,i.selectProcedureStepCommentsByIds=II,i.selectProcedureStepCommentsMapping=SI,i.selectProcedureStepCommentsOfProcedure=pg,i.selectProcedureStepCommentsOfProcedureAndProcedureStep=fg,i.selectProcedureStepCommentsOfProcedureStep=yg,i.selectProcedureStepDefaultAssigneeById=BI,i.selectProcedureStepDefaultAssignees=_n,i.selectProcedureStepDefaultAssigneesByIds=VI,i.selectProcedureStepDefaultAssigneesMapping=EI,i.selectProcedureStepDefaultAssigneesOfProcedureStep=Sg,i.selectProcedureStepDefaultReviewerById=WI,i.selectProcedureStepDefaultReviewers=Mn,i.selectProcedureStepDefaultReviewersByIds=KI,i.selectProcedureStepDefaultReviewersMapping=HI,i.selectProcedureStepDefaultReviewersOfProcedureStep=Ag,i.selectProcedureStepEventById=aT,i.selectProcedureStepEvents=Dt,i.selectProcedureStepEventsByIds=rT,i.selectProcedureStepEventsMapping=cT,i.selectProcedureStepEventsOfProcedure=Ig,i.selectProcedureStepEventsOfProcedureAndProcedureStep=Og,i.selectProcedureStepEventsOfProcedureStep=Tg,i.selectProcedureStepFieldValues=mt,i.selectProcedureStepFieldValuesAttachmentById=GT,i.selectProcedureStepFieldValuesAttachments=Cn,i.selectProcedureStepFieldValuesAttachmentsByIds=HT,i.selectProcedureStepFieldValuesAttachmentsMapping=NT,i.selectProcedureStepFieldValuesById=aO,i.selectProcedureStepFieldValuesByIds=rO,i.selectProcedureStepFieldValuesMapping=cO,i.selectProcedureStepFieldValuesOfProcedure=_g,i.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=Mg,i.selectProcedureStepFieldValuesOfProcedureStep=gg,i.selectProcedureStepFieldValuesReviewById=SO,i.selectProcedureStepFieldValuesReviews=pt,i.selectProcedureStepFieldValuesReviewsByIds=AO,i.selectProcedureStepFieldValuesReviewsMapping=fO,i.selectProcedureStepFieldValuesReviewsOfProcedure=wg,i.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=vg,i.selectProcedureStepFields=rs,i.selectProcedureStepFieldsAttachmentById=IT,i.selectProcedureStepFieldsAttachments=Bn,i.selectProcedureStepFieldsAttachmentsByIds=TT,i.selectProcedureStepFieldsAttachmentsMapping=ST,i.selectProcedureStepFieldsById=BT,i.selectProcedureStepFieldsByIds=VT,i.selectProcedureStepFieldsMapping=zn,i.selectProcedureStepFieldsOfProcedureStep=Pg,i.selectProcedureStepReviewerById=BO,i.selectProcedureStepReviewers=jt,i.selectProcedureStepReviewersByIds=VO,i.selectProcedureStepReviewersMapping=EO,i.selectProcedureStepReviewersOfProcedure=Bg,i.selectProcedureStepReviewersOfProcedureAndProcedureStep=zg,i.selectProcedureStepReviewersOfProcedureStep=Vg,i.selectProcedureSteps=Wn,i.selectProcedureStepsByIds=KO,i.selectProcedureStepsMapping=Hn,i.selectProcedureStepsMappingOfProcedureType=Dg,i.selectProcedureStepsOfProcedureType=jg,i.selectProcedureTypeAttachmentById=aP,i.selectProcedureTypeAttachmentMapping=cP,i.selectProcedureTypeAttachments=Yn,i.selectProcedureTypeAttachmentsByIds=rP,i.selectProcedureTypeById=OF,i.selectProcedureTypeFields=ds,i.selectProcedureTypeFieldsAttachmentById=TP,i.selectProcedureTypeFieldsAttachments=Jn,i.selectProcedureTypeFieldsAttachmentsByIds=OP,i.selectProcedureTypeFieldsAttachmentsMapping=IP,i.selectProcedureTypeFieldsById=zP,i.selectProcedureTypeFieldsByIds=DP,i.selectProcedureTypeFieldsMapping=VP,i.selectProcedureTypeFieldsOfProcedureType=$g,i.selectProcedureTypes=cc,i.selectProcedureTypesByIds=PF,i.selectProcedureTypesMapping=TF,i.selectProcedureTypesOfOrganization=kg,i.selectProcedures=ht,i.selectProceduresByIds=kA,i.selectProceduresMapping=UA,i.selectProceduresOfAsset=GA,i.selectProceduresOfAssets=HA,i.selectProceduresOfProcedureInitiative=WA,i.selectProceduresOfProcedureType=NA,i.selectProceduresOfProject=lg,i.selectProjectAccessById=hS,i.selectProjectAccessMapping=pn,i.selectProjectAccesses=Bt,i.selectProjectAccessesByIds=mS,i.selectProjectAccessesOfProject=eg,i.selectProjectAttachmentById=_S,i.selectProjectAttachmentMapping=bS,i.selectProjectAttachments=fn,i.selectProjectAttachmentsByIds=gS,i.selectProjectById=yA,i.selectProjectCommentById=$S,i.selectProjectCommentMapping=CS,i.selectProjectComments=ns,i.selectProjectCommentsByIds=US,i.selectProjectDocuments=S_,i.selectProjectFileById=eA,i.selectProjectFileMapping=QS,i.selectProjectFiles=xS,i.selectProjectFilesByIds=tA,i.selectProjectMapping=pA,i.selectProjects=cs,i.selectProjectsByIds=fA,i.selectProjectsOfOrganization=rg,i.selectRehydrated=Hg,i.selectReviewsOfProcedureStepFieldValues=IO,i.selectTeamById=ZF,i.selectTeamMembershipById=jF,i.selectTeamMemberships=us,i.selectTeamMembershipsByIds=qF,i.selectTeamMembershipsMapping=DF,i.selectTeams=uc,i.selectTeamsByIds=JF,i.selectTeamsMapping=YF,i.selectTeamsOfOrganization=Yg,i.selectUserById=ss,i.selectUsers=ts,i.selectUsersByIds=If,i.selectUsersMapping=un,i.selectUsersOfOrganization=J_,i.selectUsersOfProject=sg,i.selectUsersOfTeam=Kg,i.setAsset=va,i.setAssetAttachment=ea,i.setAssetAttachments=ta,i.setAssetComment=ma,i.setAssetComments=pa,i.setAssetType=Md,i.setAssetTypeAttachment=Ua,i.setAssetTypeAttachments=La,i.setAssetTypeFieldValues=Lr,i.setAssetTypeFieldValuesAttachment=Mr,i.setAssetTypeFieldValuesAttachments=Rr,i.setAssetTypeFieldValuesMany=kr,i.setAssetTypeFields=pr,i.setAssetTypeFieldsAttachment=er,i.setAssetTypeFieldsAttachments=tr,i.setAssetTypeFieldsMany=yr,i.setAssetTypeIdentifier=td,i.setAssetTypeIdentifierValue=yd,i.setAssetTypeIdentifierValues=fd,i.setAssetTypeIdentifiers=sd,i.setAssetTypeStatus=Nd,i.setAssetTypeStatuses=Gd,i.setAssetTypes=Rd,i.setAssets=Ea,i.setClientSDK=ob,i.setClientStore=ub,i.setConversation=Yc,i.setConversations=Zb,i.setCurrentUser=K_,i.setCurrentUserProfile=Y_,i.setDocument=Tu,i.setDocumentAttachment=au,i.setDocumentAttachments=ru,i.setDocuments=Ou,i.setEmailDomain=zu,i.setEmailDomains=Du,i.setForm=uo,i.setFormIdentifier=Yu,i.setFormIdentifierValue=dl,i.setFormIdentifierValues=ul,i.setFormIdentifiers=Zu,i.setFormRevision=Dl,i.setFormRevisionAttachment=Pl,i.setFormRevisionAttachments=Fl,i.setFormRevisions=jl,i.setFormSubmission=Vo,i.setFormSubmissionAttachment=Po,i.setFormSubmissionAttachments=Fo,i.setFormSubmissions=zo,i.setFormSubscriber=Yl,i.setFormSubscribers=Zl,i.setForms=lo,i.setGeoImage=Jo,i.setGeoImages=Xo,i.setIssue=mm,i.setIssueAssociation=oh,i.setIssueAssociations=lh,i.setIssueAttachment=Mh,i.setIssueAttachments=Rh,i.setIssueComment=tm,i.setIssueCommentAttachment=Lh,i.setIssueCommentAttachments=kh,i.setIssueComments=sm,i.setIssueType=wy,i.setIssueTypeAttachment=Mm,i.setIssueTypeAttachments=Rm,i.setIssueTypeFieldValues=tp,i.setIssueTypeFieldValuesAttachment=Rp,i.setIssueTypeFieldValuesAttachments=wp,i.setIssueTypeFieldValuesMany=sp,i.setIssueTypeFields=yp,i.setIssueTypeFieldsAttachment=Lm,i.setIssueTypeFieldsAttachments=km,i.setIssueTypeFieldsMany=fp,i.setIssueTypeIdentifier=kp,i.setIssueTypeIdentifierValue=sy,i.setIssueTypeIdentifierValues=iy,i.setIssueTypeIdentifiers=Np,i.setIssueTypePriorities=Sy,i.setIssueTypePriority=fy,i.setIssueTypeStatus=Ny,i.setIssueTypeStatuses=Gy,i.setIssueTypes=vy,i.setIssueUpdate=ef,i.setIssueUpdates=tf,i.setIssues=pm,i.setLoggedIn=eu,i.setOrganization=qf,i.setOrganizationAccess=bf,i.setOrganizationAccesses=_f,i.setOrganizations=jf,i.setProcedure=zA,i.setProcedureFieldValues=xP,i.setProcedureFieldValuesAttachment=$P,i.setProcedureFieldValuesAttachments=UP,i.setProcedureFieldValuesMany=eF,i.setProcedureInitiative=OA,i.setProcedureInitiatives=PA,i.setProcedureStep=qO,i.setProcedureStepAssignee=XA,i.setProcedureStepAssignees=QA,i.setProcedureStepComment=oI,i.setProcedureStepComments=hI,i.setProcedureStepDefaultAssignee=_I,i.setProcedureStepDefaultAssignees=gI,i.setProcedureStepDefaultReviewer=$I,i.setProcedureStepDefaultReviewers=UI,i.setProcedureStepEvent=xI,i.setProcedureStepEvents=eT,i.setProcedureStepFieldValues=QT,i.setProcedureStepFieldValuesAttachment=CT,i.setProcedureStepFieldValuesAttachments=$T,i.setProcedureStepFieldValuesMany=xT,i.setProcedureStepFieldValuesReview=oO,i.setProcedureStepFieldValuesReviews=hO,i.setProcedureStepFields=gT,i.setProcedureStepFieldsAttachment=hT,i.setProcedureStepFieldsAttachments=mT,i.setProcedureStepFieldsMany=MT,i.setProcedureStepReviewer=_O,i.setProcedureStepReviewers=gO,i.setProcedureSteps=CO,i.setProcedureType=mF,i.setProcedureTypeAttachment=QO,i.setProcedureTypeAttachments=xO,i.setProcedureTypeFields=gP,i.setProcedureTypeFieldsAttachment=hP,i.setProcedureTypeFieldsAttachments=mP,i.setProcedureTypeFieldsMany=MP,i.setProcedureTypes=pF,i.setProcedures=DA,i.setProject=aA,i.setProjectAccess=cS,i.setProjectAccesses=aS,i.setProjectAttachment=AS,i.setProjectAttachments=IS,i.setProjectComment=BS,i.setProjectComments=VS,i.setProjectFile=GS,i.setProjectFiles=HS,i.setProjects=cA,i.setRehydrated=Gg,i.setTeam=kF,i.setTeamMembership=RF,i.setTeamMemberships=wF,i.setTeams=NF,i.setTokens=h_,i.setUser=hf,i.setUsers=of,i.shallowEqual=wb,i.slugify=Nb,i.spacesToDashesLower=kb,i.submittedAtModelSortFn=Tt,i.teamMembershipReducer=zF,i.teamMembershipSlice=rc,i.teamReducer=XF,i.teamSlice=dc,i.toFileNameSafeString=Lb,i.toUuidArray=w,i.toUuidIdRecord=Ub,i.truncate=Gb,i.updateAsset=Ma,i.updateAssetAttachment=sa,i.updateAssetAttachments=ia,i.updateAssetComment=ya,i.updateAssetComments=fa,i.updateAssetType=Ed,i.updateAssetTypeAttachment=ka,i.updateAssetTypeAttachments=Na,i.updateAssetTypeFieldValues=Nr,i.updateAssetTypeFieldValuesAttachment=wr,i.updateAssetTypeFieldValuesAttachments=vr,i.updateAssetTypeFieldValuesMany=Gr,i.updateAssetTypeFields=fr,i.updateAssetTypeFieldsAttachment=sr,i.updateAssetTypeFieldsAttachments=ir,i.updateAssetTypeFieldsMany=Sr,i.updateAssetTypeIdentifier=id,i.updateAssetTypeIdentifierValue=Sd,i.updateAssetTypeIdentifierValues=Ad,i.updateAssetTypeIdentifiers=nd,i.updateAssetTypeStatus=Hd,i.updateAssetTypeStatuses=Wd,i.updateAssetTypes=Bd,i.updateAssets=Ra,i.updateConversation=Zc,i.updateConversations=Jb,i.updateDocument=Pu,i.updateDocumentAttachment=du,i.updateDocumentAttachments=uu,i.updateDocuments=Fu,i.updateEmailDomain=ju,i.updateEmailDomains=qu,i.updateForm=oo,i.updateFormIdentifier=Ju,i.updateFormIdentifierValue=ll,i.updateFormIdentifierValues=ol,i.updateFormIdentifiers=Xu,i.updateFormRevision=ql,i.updateFormRevisionAttachment=bl,i.updateFormRevisionAttachments=_l,i.updateFormRevisions=Cl,i.updateFormSubmission=jo,i.updateFormSubmissionAttachment=bo,i.updateFormSubmissionAttachments=_o,i.updateFormSubmissions=qo,i.updateFormSubscriber=Jl,i.updateFormSubscribers=Xl,i.updateForms=ho,i.updateGeoImage=eh,i.updateGeoImages=th,i.updateIssue=ym,i.updateIssueAssociation=hh,i.updateIssueAssociations=mh,i.updateIssueAttachment=wh,i.updateIssueAttachments=vh,i.updateIssueComment=im,i.updateIssueCommentAttachment=Nh,i.updateIssueCommentAttachments=Gh,i.updateIssueComments=nm,i.updateIssueType=Ey,i.updateIssueTypeAttachment=wm,i.updateIssueTypeAttachments=vm,i.updateIssueTypeFieldValues=ip,i.updateIssueTypeFieldValuesAttachment=vp,i.updateIssueTypeFieldValuesAttachments=Ep,i.updateIssueTypeFieldValuesMany=np,i.updateIssueTypeFields=Sp,i.updateIssueTypeFieldsAttachment=Nm,i.updateIssueTypeFieldsAttachments=Gm,i.updateIssueTypeFieldsMany=Ap,i.updateIssueTypeIdentifier=Gp,i.updateIssueTypeIdentifierValue=ny,i.updateIssueTypeIdentifierValues=cy,i.updateIssueTypeIdentifiers=Hp,i.updateIssueTypePriorities=Iy,i.updateIssueTypePriority=Ay,i.updateIssueTypeStatus=Hy,i.updateIssueTypeStatuses=Wy,i.updateIssueTypes=By,i.updateIssueUpdate=sf,i.updateIssueUpdates=nf,i.updateIssues=fm,i.updateOrganization=Lf,i.updateOrganizationAccess=gf,i.updateOrganizationAccesses=Mf,i.updateOrganizations=Uf,i.updateProcedure=jA,i.updateProcedureFieldValues=tF,i.updateProcedureFieldValuesAttachment=LP,i.updateProcedureFieldValuesAttachments=kP,i.updateProcedureFieldValuesMany=sF,i.updateProcedureInitiative=FA,i.updateProcedureInitiatives=bA,i.updateProcedureStep=LO,i.updateProcedureStepAssignee=xA,i.updateProcedureStepAssignees=eI,i.updateProcedureStepComment=mI,i.updateProcedureStepComments=pI,i.updateProcedureStepDefaultAssignee=MI,i.updateProcedureStepDefaultAssignees=RI,i.updateProcedureStepDefaultReviewer=LI,i.updateProcedureStepDefaultReviewers=kI,i.updateProcedureStepEvent=tT,i.updateProcedureStepEvents=sT,i.updateProcedureStepFieldValues=eO,i.updateProcedureStepFieldValuesAttachment=UT,i.updateProcedureStepFieldValuesAttachments=LT,i.updateProcedureStepFieldValuesMany=tO,i.updateProcedureStepFieldValuesReview=mO,i.updateProcedureStepFieldValuesReviews=pO,i.updateProcedureStepFields=RT,i.updateProcedureStepFieldsAttachment=pT,i.updateProcedureStepFieldsAttachments=yT,i.updateProcedureStepFieldsMany=wT,i.updateProcedureStepReviewer=MO,i.updateProcedureStepReviewers=RO,i.updateProcedureSteps=kO,i.updateProcedureType=yF,i.updateProcedureTypeAttachment=eP,i.updateProcedureTypeAttachments=tP,i.updateProcedureTypeFields=RP,i.updateProcedureTypeFieldsAttachment=pP,i.updateProcedureTypeFieldsAttachments=yP,i.updateProcedureTypeFieldsMany=wP,i.updateProcedureTypes=fF,i.updateProcedures=qA,i.updateProject=lA,i.updateProjectAccess=rS,i.updateProjectAccesses=dS,i.updateProjectAttachment=TS,i.updateProjectAttachments=OS,i.updateProjectComment=zS,i.updateProjectComments=DS,i.updateProjectFile=YS,i.updateProjectFiles=ZS,i.updateProjects=uA,i.updateTeam=GF,i.updateTeamMembership=vF,i.updateTeamMemberships=EF,i.updateTeams=HF,i.updateUser=yf,i.updateUsers=pf,i.useSelectorBuilder=Rb,i.userReducer=Sf,i.userSlice=an,i.uuidObj=O,i.uuidObjSortFn=fs,i.uuidSortFn=$t,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
|