@overmap-ai/core 1.0.78-view-sets-cleanup.2 → 1.0.78-workflows-2.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/constants/defaults.d.ts +1 -2
- package/dist/enums/asset.d.ts +8 -0
- package/dist/enums/index.d.ts +2 -0
- package/dist/enums/issue.d.ts +7 -6
- package/dist/enums/workflows.d.ts +18 -0
- package/dist/overmap-core.js +11032 -7165
- package/dist/overmap-core.umd.cjs +10 -11
- package/dist/sdk/base.d.ts +6 -2
- package/dist/sdk/constants.d.ts +4 -5
- package/dist/sdk/errors.d.ts +5 -0
- package/dist/sdk/index.d.ts +5 -1
- package/dist/sdk/middleware/OfflineAnalyticsMiddleware.d.ts +6 -0
- package/dist/sdk/middleware/OfflineMiddleware.d.ts +13 -0
- package/dist/sdk/middleware/RateLimitingMiddleware.d.ts +6 -0
- package/dist/sdk/middleware/constants.d.ts +1 -0
- package/dist/sdk/middleware/index.d.ts +5 -0
- package/dist/sdk/middleware/utils.d.ts +2 -0
- package/dist/sdk/outbox/globals.d.ts +2 -0
- package/dist/sdk/{classes → outbox}/index.d.ts +1 -0
- package/dist/sdk/performRequest.d.ts +6 -0
- package/dist/sdk/services/AgentService.d.ts +2 -1
- package/dist/sdk/services/AssetAttachmentService.d.ts +24 -35
- package/dist/sdk/services/AssetProcedureService.d.ts +23 -6
- package/dist/sdk/services/AssetProcedureStepFieldValuesAttachmentService.d.ts +27 -12
- package/dist/sdk/services/AssetProcedureStepFieldValuesService.d.ts +22 -12
- package/dist/sdk/services/AssetProcedureStepFieldsAttachmentService.d.ts +27 -10
- package/dist/sdk/services/AssetProcedureStepFieldsService.d.ts +21 -4
- package/dist/sdk/services/AssetProcedureStepService.d.ts +21 -4
- package/dist/sdk/services/AssetProcedureTypeAttachmentService.d.ts +30 -0
- package/dist/sdk/services/AssetProcedureTypeFieldValuesAttachmentService.d.ts +31 -0
- package/dist/sdk/services/AssetProcedureTypeFieldValuesService.d.ts +33 -0
- package/dist/sdk/services/AssetProcedureTypeFieldsAttachmentService.d.ts +30 -0
- package/dist/sdk/services/AssetProcedureTypeFieldsService.d.ts +26 -0
- package/dist/sdk/services/AssetProcedureTypeService.d.ts +28 -0
- package/dist/sdk/services/AssetService.d.ts +23 -5
- package/dist/sdk/services/AssetStageCompletionService.d.ts +21 -4
- package/dist/sdk/services/AssetStageService.d.ts +21 -4
- package/dist/sdk/services/AssetTypeAttachmentService.d.ts +24 -34
- package/dist/sdk/services/AssetTypeFieldValuesAttachmentService.d.ts +27 -9
- package/dist/sdk/services/AssetTypeFieldValuesService.d.ts +22 -10
- package/dist/sdk/services/AssetTypeFieldsAttachmentService.d.ts +27 -10
- package/dist/sdk/services/AssetTypeFieldsService.d.ts +20 -3
- package/dist/sdk/services/AssetTypeIdentifierService.d.ts +28 -0
- package/dist/sdk/services/AssetTypeIdentifierValueService.d.ts +28 -0
- package/dist/sdk/services/AssetTypeService.d.ts +21 -4
- package/dist/sdk/services/AssetTypeStatusService.d.ts +28 -0
- package/dist/sdk/services/BaseModelApiService.d.ts +27 -0
- package/dist/sdk/services/BaseOfflineFileModelApiService.d.ts +17 -0
- package/dist/sdk/services/BaseOfflineModelApiService.d.ts +27 -0
- package/dist/sdk/services/BaseService.d.ts +5 -3
- package/dist/sdk/services/DocumentAttachmentService.d.ts +26 -34
- package/dist/sdk/services/DocumentService.d.ts +22 -5
- package/dist/sdk/services/EmailDomainsService.d.ts +21 -4
- package/dist/sdk/services/FileService.d.ts +8 -26
- package/dist/sdk/services/FormIdentifierService.d.ts +28 -0
- package/dist/sdk/services/FormIdentifierValueService.d.ts +27 -0
- package/dist/sdk/services/FormRevisionAttachmentService.d.ts +27 -10
- package/dist/sdk/services/FormRevisionService.d.ts +20 -3
- package/dist/sdk/services/FormService.d.ts +20 -3
- package/dist/sdk/services/FormSubmissionAttachmentService.d.ts +28 -11
- package/dist/sdk/services/FormSubmissionService.d.ts +22 -5
- package/dist/sdk/services/GeoImageService.d.ts +28 -8
- package/dist/sdk/services/IssueAssociationService.d.ts +21 -4
- package/dist/sdk/services/IssueAttachmentService.d.ts +24 -35
- package/dist/sdk/services/IssueCommentAttachmentService.d.ts +24 -35
- package/dist/sdk/services/IssueCommentService.d.ts +22 -5
- package/dist/sdk/services/IssueService.d.ts +24 -5
- package/dist/sdk/services/IssueTypeAttachmentService.d.ts +24 -35
- package/dist/sdk/services/IssueTypeFieldValuesAttachmentService.d.ts +27 -10
- package/dist/sdk/services/IssueTypeFieldValuesService.d.ts +21 -4
- package/dist/sdk/services/IssueTypeFieldsAttachmentService.d.ts +27 -10
- package/dist/sdk/services/IssueTypeFieldsService.d.ts +21 -4
- package/dist/sdk/services/IssueTypeIdentifierService.d.ts +28 -0
- package/dist/sdk/services/IssueTypeIdentifierValueService.d.ts +27 -0
- package/dist/sdk/services/IssueTypeService.d.ts +21 -4
- package/dist/sdk/services/IssueTypeStatusService.d.ts +28 -0
- package/dist/sdk/services/IssueUpdateService.d.ts +184 -3
- package/dist/sdk/services/JWTAuthService.d.ts +1 -1
- package/dist/sdk/services/OrganizationAccessService.d.ts +21 -4
- package/dist/sdk/services/OrganizationService.d.ts +20 -3
- package/dist/sdk/services/ProjectAccessService.d.ts +24 -6
- package/dist/sdk/services/ProjectAttachmentService.d.ts +24 -34
- package/dist/sdk/services/ProjectFileService.d.ts +29 -8
- package/dist/sdk/services/ProjectService.d.ts +22 -5
- package/dist/sdk/services/TeamMembershipService.d.ts +22 -4
- package/dist/sdk/services/TeamService.d.ts +21 -4
- package/dist/sdk/services/UserService.d.ts +24 -3
- package/dist/sdk/services/WorkflowService.d.ts +28 -0
- package/dist/sdk/services/WorkflowStepAssigneeService.d.ts +29 -0
- package/dist/sdk/services/WorkflowStepCommentService.d.ts +28 -0
- package/dist/sdk/services/WorkflowStepEventService.d.ts +24 -0
- package/dist/sdk/services/WorkflowStepFieldValuesAttachmentService.d.ts +31 -0
- package/dist/sdk/services/WorkflowStepFieldValuesReviewRequestService.d.ts +27 -0
- package/dist/sdk/services/WorkflowStepFieldValuesReviewService.d.ts +28 -0
- package/dist/sdk/services/WorkflowStepFieldValuesService.d.ts +28 -0
- package/dist/sdk/services/WorkflowStepFieldsAttachmentService.d.ts +30 -0
- package/dist/sdk/services/WorkflowStepFieldsService.d.ts +27 -0
- package/dist/sdk/services/WorkflowStepReviewerService.d.ts +29 -0
- package/dist/sdk/services/WorkflowStepService.d.ts +28 -0
- package/dist/sdk/services/WorkflowTypeService.d.ts +28 -0
- package/dist/sdk/services/index.d.ts +30 -7
- package/dist/sdk/typings.d.ts +27 -62
- package/dist/sdk/utils.d.ts +2 -0
- package/dist/store/adapters/modelAdapter.d.ts +13 -14
- package/dist/store/adapters/typings.d.ts +19 -0
- package/dist/store/reducers.d.ts +81 -21
- package/dist/store/selectors/index.d.ts +1 -0
- package/dist/store/selectors/utils.d.ts +1 -0
- package/dist/store/slices/agentsSlice.d.ts +11 -38
- package/dist/store/slices/assetAttachmentSlice.d.ts +11 -37
- package/dist/store/slices/assetProcedureSlice.d.ts +117 -41
- package/dist/store/slices/assetProcedureStepFieldValuesAttachmentSlice.d.ts +38 -45
- package/dist/store/slices/assetProcedureStepFieldValuesSlice.d.ts +40 -46
- package/dist/store/slices/assetProcedureStepFieldsAttachmentSlice.d.ts +38 -44
- package/dist/store/slices/assetProcedureStepFieldsSlice.d.ts +65 -51
- package/dist/store/slices/assetProcedureStepSlice.d.ts +42 -48
- package/dist/store/slices/assetProcedureTypeAttachmentSlice.d.ts +104 -0
- package/dist/store/slices/assetProcedureTypeFieldValuesAttachmentSlice.d.ts +124 -0
- package/dist/store/slices/assetProcedureTypeFieldValuesSlice.d.ts +125 -0
- package/dist/store/slices/assetProcedureTypeFieldsAttachmentSlice.d.ts +124 -0
- package/dist/store/slices/assetProcedureTypeFieldsSlice.d.ts +23 -0
- package/dist/store/slices/assetProcedureTypeSlice.d.ts +22 -0
- package/dist/store/slices/assetSlice.d.ts +39 -46
- package/dist/store/slices/assetStageCompletionSlice.d.ts +38 -45
- package/dist/store/slices/assetStageSlice.d.ts +41 -48
- package/dist/store/slices/assetTypeAttachmentSlice.d.ts +11 -37
- package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +38 -45
- package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +38 -44
- package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +38 -44
- package/dist/store/slices/assetTypeFieldsSlice.d.ts +38 -44
- package/dist/store/slices/assetTypeIdentifierSlice.d.ts +22 -0
- package/dist/store/slices/assetTypeIdentifierValueSlice.d.ts +23 -0
- package/dist/store/slices/assetTypeSlice.d.ts +11 -38
- package/dist/store/slices/assetTypeStatusSlice.d.ts +124 -0
- package/dist/store/slices/documentAttachmentSlice.d.ts +11 -37
- package/dist/store/slices/documentSlice.d.ts +17 -24
- package/dist/store/slices/emailDomainsSlice.d.ts +40 -45
- package/dist/store/slices/fileSlice.d.ts +0 -3
- package/dist/store/slices/formIdentifierSlice.d.ts +22 -0
- package/dist/store/slices/formIdentifierValueSlice.d.ts +23 -0
- package/dist/store/slices/formRevisionAttachmentSlice.d.ts +115 -37
- package/dist/store/slices/formRevisionSlice.d.ts +38 -44
- package/dist/store/slices/formSlice.d.ts +38 -44
- package/dist/store/slices/formSubmissionAttachmentSlice.d.ts +13 -38
- package/dist/store/slices/formSubmissionSlice.d.ts +12 -40
- package/dist/store/slices/geoImageSlice.d.ts +38 -44
- package/dist/store/slices/index.d.ts +27 -7
- package/dist/store/slices/issueAssociationSlice.d.ts +40 -44
- package/dist/store/slices/issueAttachmentSlice.d.ts +11 -37
- package/dist/store/slices/issueCommentAttachmentSlice.d.ts +11 -37
- package/dist/store/slices/issueCommentSlice.d.ts +11 -37
- package/dist/store/slices/issueSlice.d.ts +11 -38
- package/dist/store/slices/issueTypeAttachmentSlice.d.ts +12 -38
- package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +38 -45
- package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +38 -44
- package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +38 -44
- package/dist/store/slices/issueTypeFieldsSlice.d.ts +38 -44
- package/dist/store/slices/issueTypeIdentifierSlice.d.ts +22 -0
- package/dist/store/slices/issueTypeIdentifierValueSlice.d.ts +23 -0
- package/dist/store/slices/issueTypeSlice.d.ts +12 -43
- package/dist/store/slices/issueTypeStatusSlice.d.ts +124 -0
- package/dist/store/slices/issueUpdateSlice.d.ts +259 -38
- package/dist/store/slices/organizationAccessSlice.d.ts +11 -37
- package/dist/store/slices/organizationSlice.d.ts +38 -44
- package/dist/store/slices/outboxSlice.d.ts +6 -7
- package/dist/store/slices/projectAccessSlice.d.ts +11 -37
- package/dist/store/slices/projectAttachmentSlice.d.ts +13 -39
- package/dist/store/slices/projectFileSlice.d.ts +39 -60
- package/dist/store/slices/projectSlice.d.ts +38 -44
- package/dist/store/slices/teamMembershipSlice.d.ts +11 -37
- package/dist/store/slices/teamSlice.d.ts +11 -38
- package/dist/store/slices/userSlice.d.ts +41 -54
- package/dist/store/slices/workflowSlice.d.ts +23 -0
- package/dist/store/slices/workflowStepAssigneeSlice.d.ts +125 -0
- package/dist/store/slices/workflowStepCommentSlice.d.ts +125 -0
- package/dist/store/slices/workflowStepEventSlice.d.ts +125 -0
- package/dist/store/slices/workflowStepFieldValuesAttachmentSlice.d.ts +124 -0
- package/dist/store/slices/workflowStepFieldValuesReviewRequestSlice.d.ts +124 -0
- package/dist/store/slices/workflowStepFieldValuesReviewSlice.d.ts +124 -0
- package/dist/store/slices/workflowStepFieldValuesSlice.d.ts +125 -0
- package/dist/store/slices/workflowStepFieldsAttachmentSlice.d.ts +124 -0
- package/dist/store/slices/workflowStepFieldsSlice.d.ts +125 -0
- package/dist/store/slices/workflowStepReviewerSlice.d.ts +125 -0
- package/dist/store/slices/workflowStepSlice.d.ts +22 -0
- package/dist/store/slices/workflowTypeSlice.d.ts +22 -0
- package/dist/store/store.d.ts +4 -14
- package/dist/store/typings.d.ts +18 -1
- package/dist/typings/files.d.ts +32 -18
- package/dist/typings/index.d.ts +0 -3
- package/dist/typings/models/agents.d.ts +2 -1
- package/dist/typings/models/assets.d.ts +80 -51
- package/dist/typings/models/base.d.ts +22 -13
- package/dist/typings/models/documents.d.ts +6 -3
- package/dist/typings/models/emailDomain.d.ts +2 -1
- package/dist/typings/models/emailVerification.d.ts +7 -5
- package/dist/typings/models/fields.d.ts +7 -7
- package/dist/typings/models/forms.d.ts +15 -10
- package/dist/typings/models/geoImages.d.ts +7 -7
- package/dist/typings/models/index.d.ts +1 -3
- package/dist/typings/models/issues.d.ts +62 -33
- package/dist/typings/models/organizations.d.ts +1 -1
- package/dist/typings/models/projects.d.ts +9 -5
- package/dist/typings/models/teams.d.ts +4 -4
- package/dist/typings/models/users.d.ts +4 -3
- package/dist/typings/models/workflows.d.ts +78 -0
- package/dist/utils/file.d.ts +7 -11
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/models/assets.d.ts +5 -0
- package/dist/utils/models/documents.d.ts +4 -0
- package/dist/utils/models/index.d.ts +3 -0
- package/dist/utils/models/issues.d.ts +2 -0
- package/dist/utils/utils.d.ts +0 -7
- package/dist/utils/uuid.d.ts +7 -0
- package/package.json +37 -51
- package/dist/sdk/services/AssetProcedureAttachmentService.d.ts +0 -40
- package/dist/sdk/services/AssetProcedureFieldValuesAttachmentService.d.ts +0 -16
- package/dist/sdk/services/AssetProcedureFieldValuesService.d.ts +0 -22
- package/dist/sdk/services/AssetProcedureFieldsAttachmentService.d.ts +0 -13
- package/dist/sdk/services/AssetProcedureFieldsService.d.ts +0 -9
- package/dist/sdk/services/AssetProcedureInstanceService.d.ts +0 -11
- package/dist/sdk/services/BaseAttachmentService.d.ts +0 -38
- package/dist/sdk/services/BaseUploadService.d.ts +0 -10
- package/dist/sdk/services/CategoryService.d.ts +0 -11
- package/dist/store/slices/assetProcedureAttachmentSlice.d.ts +0 -48
- package/dist/store/slices/assetProcedureFieldValuesAttachmentSlice.d.ts +0 -131
- package/dist/store/slices/assetProcedureFieldValuesSlice.d.ts +0 -131
- package/dist/store/slices/assetProcedureFieldsAttachmentSlice.d.ts +0 -130
- package/dist/store/slices/assetProcedureFieldsSlice.d.ts +0 -49
- package/dist/store/slices/assetProcedureInstanceSlice.d.ts +0 -132
- package/dist/store/slices/categorySlice.d.ts +0 -131
- package/dist/typings/colors.d.ts +0 -8
- package/dist/typings/json.d.ts +0 -6
- package/dist/typings/memoization.d.ts +0 -1
- package/dist/typings/models/attachments.d.ts +0 -31
- package/dist/typings/models/categories.d.ts +0 -8
- package/dist/typings/models/issueTypes.d.ts +0 -7
- package/dist/typings/models/store.d.ts +0 -0
- package/dist/typings/search.d.ts +0 -23
- package/dist/utils/coordinates.d.ts +0 -4
- package/dist/utils/offline.d.ts +0 -13
- /package/dist/sdk/{classes → outbox}/OutboxCoordinator.d.ts +0 -0
- /package/dist/sdk/{classes → outbox}/OutboxCoordinator.spec.d.ts +0 -0
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
(function(s,U){typeof exports=="object"&&typeof module<"u"?U(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("file-saver"),require("react"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("buffer"),require("localforage"),require("redux-persist-migrate"),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","file-saver","react","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","buffer","localforage","redux-persist-migrate","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],U):(s=typeof globalThis<"u"?globalThis:s||self,U(s["overmap-core"]={},null,s.toolkit,s.request,s.uuid,s.fileSaver,s.react,s.reduxOffline,s.offlineConfig,null,s.localforage,s.createMigration,null,s.idb,s.jwtDecode,s.dependencyGraph))})(this,function(s,U,d,Le,Ne,pm,Am,fm,pc,RP,ym,Sm,vP,gm,bm,Pm){"use strict";var OP=Object.defineProperty;var _P=(s,U,d)=>U in s?OP(s,U,{enumerable:!0,configurable:!0,writable:!0,value:d}):s[U]=d;var S=(s,U,d)=>_P(s,typeof U!="symbol"?U+"":U,d);var mm;const Ac=Object.freeze([]),fc=Object.freeze({});var yc=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(yc||{}),h=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(h||{}),Sc=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(Sc||{}),$t=(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))($t||{}),Lt=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.SELECTED=2]="SELECTED",t[t.DONE=4]="DONE",t))(Lt||{}),j=(t=>(t.STATUS="status",t.PRIORITY="priority",t.CATEGORY="category",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))(j||{});const Fm=Lt.BACKLOG,Tm=$t.MEDIUM,gc=6e4;function I(t){return{addOne:(p,A)=>{const f=t(A.payload);p.instances[f]=A.payload},addMany:(p,A)=>{for(const f of A.payload){const b=t(f);p.instances[b]=f}},setOne:(p,A)=>{const f=t(A.payload);p.instances[f]=A.payload},setMany:(p,A)=>{for(const f of A.payload){const b=t(f);p.instances[b]=f}},updateOne:(p,A)=>{const f=t(A.payload);p.instances[f]=A.payload},updateMany:(p,A)=>{for(const f of A.payload){const b=t(f);p.instances[b]=f}},deleteOne:(p,A)=>{delete p.instances[A.payload]},deleteMany:(p,A)=>{for(const f of A.payload)delete p.instances[f]},initialize:(p,A)=>{p.instances={};const f=new Set;for(const b of A.payload){const P=t(b);f.add(P),p.instances[P]=b}f.size!==A.payload.length&&console.warn("duplicate ids detected when initializing model instances.")},getInitialState:p=>({...p,instances:{}})}}function Im(){return{initializeSelection:(m,u)=>{m.selection=Array.from(new Set(u.payload))},selectOne:(m,u)=>{new Set(m.selection).has(u.payload)||m.selection.push(u.payload)},selectMany:(m,u)=>{const o=new Set(m.selection);for(const p of u.payload)o.has(p)||o.add(p);m.selection=Array.from(o)},unselectOne:(m,u)=>{const o=new Set(m.selection);o.has(u.payload)&&(o.delete(u.payload),m.selection=Array.from(o))},unselectMany:(m,u)=>{const o=new Set(m.selection);for(const p of u.payload)o.has(p)&&o.delete(p);m.selection=Array.from(o)},toggleOne:(m,u)=>{const o=new Set(m.selection);o.has(u.payload)?o.delete(u.payload):o.add(u.payload),m.selection=Array.from(o)},toggleMany:(m,u)=>{const o=new Set(m.selection);for(const p of u.payload)o.has(p)?o.delete(p):o.add(p);m.selection=Array.from(o)},getInitialState:m=>({...m,selection:[]})}}const Ze="versioning",F=d.createAction("RESET"),M=d.createAction("RESET_PROJECT_STATE"),O=d.createAction("RESET_ORGANIZATION_STATE");mm=Symbol.toStringTag;class bc{constructor(){S(this,mm,"Promise");S(this,"_promise");S(this,"_resolve");S(this,"_reject");S(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((e,i)=>{this._resolve=e,this._reject=i})}get state(){return this._state}then(e,i){return this._promise.then(e,i)}catch(e){return this._promise.catch(e)}resolve(e){if(!this._resolve)throw new Error("No resolve callback");this._resolve(e),this._state="fulfilled"}reject(e){if(!this._reject)throw e;this._reject(e),this._state="rejected"}finally(e){throw new Error("`finally` not implemented")}}const Om=t=>({type:"Point",coordinates:t}),_m=t=>({type:"MultiPoint",coordinates:t}),Rm=(t,e)=>t[0]===e[0]&&t[1]===e[1];let Nt=!1;["true","1"].includes("".toLowerCase())&&(Nt=!0);function vm(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;const i=Object.keys(t),a=Object.keys(e),c=i.length;if(c!==a.length)return!1;for(let n=0;n<c;n++){const r=i[n];if(!Object.prototype.hasOwnProperty.call(e,r)||t[r]!==e[r])return!1}return!0}function Ht(t){const e={};return function(){const i=Array.prototype.slice.call(arguments);return i in e?(Nt&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,i,")"),e[i]):(Nt&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,i,")"),e[i]=t.apply(this,i))}}function wm(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!==e[i])return!1;return!0}const g=t=>t.length===0?Ac:t,ht=t=>Object.keys(t).length===0?fc:t,Pc=Ht(t=>{if(!t)return"";const e=new Date(t),i=e.getFullYear()===Wt.getFullYear(),a={day:"numeric",month:"short"};return i||(a.year="numeric"),e.toLocaleDateString([],a)}),Mm=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),Em=1e3*86400,Wt=new Date,jm=t=>new Date(t).toDateString()===Wt.toDateString(),qm=Ht((t,e,i)=>{const a=Math.round((new Date(t).getTime()-Wt.getTime())/Em);return a<e||a>i?Pc(t):Mm.format(a,"days")});function Vm(t){return new Uint8Array(t).reduce((i,a)=>i+a.toString(16).padStart(2,"0"),"")}const Yt=async(t,e)=>{e||(e=await He(t));let i=t.type;if(i.includes("/")&&(i=i.split("/")[1]),!i)throw new Error(`Could not extract file type from ${t.type}`);return`${e}.${i}`};function He(t){return new Promise((e,i)=>{const a=new FileReader;a.onload=()=>{const c=a.result;if(!c){i(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",c).then(n=>{const r=Vm(n);e(r)})},a.readAsArrayBuffer(t)})}function zm(t){if(!t.name||!t.type||!t.size){const e="File has no name, type, and/or size";throw new Error(e)}return`${t.name}&${t.type}${t.size}`}function Fc(t,e){return new File([t],e,{type:t.type})}function Um(t,e){const i=document.createElement("a");i.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(e)),i.setAttribute("download",t),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)}const Dm=async t=>{const e={};for(const i of t){const a=await He(i);e[a]={sha1:a,extension:i.name.split(".").pop()||"",file_type:i.type,size:i.size}}return Object.values(e)},Tc=async t=>(await fetch(t)).blob(),Cm=t=>new Promise((e,i)=>{const a=new FileReader;a.onloadend=()=>{var c;e(((c=a.result)==null?void 0:c.toString())||"")},a.readAsDataURL(t)});function km(t){const e=new Blob([t]);pm.saveAs(e,t.name)}const Ic={};function Bm(t,e,i,...a){const c=Ic[t];let n=!1;c?c[e]||(c[e]=!0,n=!0):(Ic[t]={[e]:!0},n=!0),n&&console[i](...a)}const Oc=["created_at","updated_at","index","revision"];function T(t){return{...t,uuid:Ne.v4()}}function _c(t){const e={};for(const i of t)e[i.uuid]=i;return e}function Gm(t,e=void 0,i=255){let a=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!e){const n=t.split(".");n.length>1&&(e=n[n.length-1])}e&&!e.startsWith(".")&&(e="."+e);const c=e?e.length:0;return a.length+c>i&&(a=a.slice(0,i-c)+(e||"")),a}function $m(t){return t.toLowerCase().replace(" ","-")}function Lm(t,e=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,e?"_":"-")}function Nm(t,e){if(t.length<=e)return t;const i=t.slice(0,e-1);return i.slice(0,i.lastIndexOf(" "))+"…"}const y=t=>e=>i=>t(i,e);function Rc(t,e,i){return i.findIndex(a=>a.uuid===t.uuid)===e}function Hm(t,e,i){return i.findIndex(a=>a.file_sha1===t.file_sha1)===e}const Wm=/^.+@.+\..+$/;function w(t){const e={...t};for(const i of[...Oc,"created_by"])i in e&&delete e[i];return e}const k=I(t=>t.uuid),vc=k.getInitialState({}),Kt=d.createSlice({name:"agents",initialState:vc,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,vc)),reducers:{initializeConversations:k.initialize,addConversation:k.addOne,addConversations:k.addMany,setConversation:k.setOne,setConversations:k.setMany,updateConversation:k.updateOne,updateConversations:k.updateMany,deleteConversation:k.deleteOne,deleteConversations:k.deleteMany}}),{initializeConversations:wc,addConversation:Mc,addConversations:Ym,setConversation:Ec,setConversations:Km,updateConversation:jc,updateConversations:Zm,deleteConversation:Jm,deleteConversations:Xm}=Kt.actions,Zt=t=>t.agentsReducer.instances,Qm=d.createSelector([Zt],t=>Object.values(t)),xm=y(d.createSelector([Zt,(t,e)=>e],(t,e)=>t[e])),qc=Kt.reducer,B=I(t=>t.uuid),Vc=B.getInitialState({}),Jt=d.createSlice({name:"assetAttachments",initialState:Vc,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,Vc)),reducers:{initializeAssetAttachments:B.initialize,addAssetAttachment:B.addOne,addAssetAttachments:B.addMany,setAssetAttachment:B.setOne,setAssetAttachments:B.setMany,updateAssetAttachment:B.updateOne,updateAssetAttachments:B.updateMany,deleteAssetAttachment:B.deleteOne,deleteAssetAttachments:B.deleteMany}}),{initializeAssetAttachments:Xt,addAssetAttachment:ep,addAssetAttachments:Qt,setAssetAttachment:zc,setAssetAttachments:tp,updateAssetAttachment:sp,updateAssetAttachments:Uc,deleteAssetAttachment:Dc,deleteAssetAttachments:xt}=Jt.actions,Cc=t=>t.assetAttachmentReducer.instances,kc=d.createSelector([Cc],t=>Object.values(t)),Bc=t=>e=>e.assetAttachmentReducer.instances[t],Gc=y(d.createSelector([kc,(t,e)=>e],(t,e)=>g(t.filter(({asset:i})=>e===i)))),$c=Jt.reducer,G=I(t=>t.uuid),Lc=G.getInitialState({}),es=d.createSlice({name:"assetProcedureAttachments",initialState:Lc,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Lc)),reducers:{initializeAssetProcedureAttachments:G.initialize,addAssetProcedureAttachment:G.addOne,addAssetProcedureAttachments:G.addMany,setAssetProcedureAttachment:G.setOne,setAssetProcedureAttachments:G.setMany,updateAssetProcedureAttachment:G.updateOne,updateAssetProcedureAttachments:G.updateMany,deleteAssetProcedureAttachment:G.deleteOne,deleteAssetProcedureAttachments:G.deleteMany}}),{initializeAssetProcedureAttachments:Nc,addAssetProcedureAttachment:ip,addAssetProcedureAttachments:Hc,setAssetProcedureAttachment:Wc,setAssetProcedureAttachments:ap,updateAssetProcedureAttachment:cp,updateAssetProcedureAttachments:Yc,deleteAssetProcedureAttachment:Kc,deleteAssetProcedureAttachments:Zc}=es.actions,Jc=es.reducer,Xc=t=>t.assetProcedureAttachmentReducer.instances,Qc=d.createSelector([Xc],t=>Object.values(t)),xc=t=>e=>e.assetProcedureAttachmentReducer.instances[t],np=y(d.createSelector([Qc,(t,e)=>e],(t,e)=>g(t.filter(({asset_procedure:i})=>e===i)))),$=I(t=>t.uuid),en=$.getInitialState({}),ts=d.createSlice({name:"assetProcedureFieldsAttachments",initialState:en,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,en)),reducers:{initializeAssetProcedureFieldsAttachments:$.initialize,addAssetProcedureFieldsAttachment:$.addOne,addAssetProcedureFieldsAttachments:$.addMany,setAssetProcedureFieldsAttachment:$.setOne,setAssetProcedureFieldsAttachments:$.setMany,updateAssetProcedureFieldsAttachment:$.updateOne,updateAssetProcedureFieldsAttachments:$.updateMany,deleteAssetProcedureFieldsAttachment:$.deleteOne,deleteAssetProcedureFieldsAttachments:$.deleteMany}}),{initializeAssetProcedureFieldsAttachments:tn,addAssetProcedureFieldsAttachment:rp,addAssetProcedureFieldsAttachments:sn,setAssetProcedureFieldsAttachment:dp,setAssetProcedureFieldsAttachments:up,updateAssetProcedureFieldsAttachment:op,updateAssetProcedureFieldsAttachments:an,deleteAssetProcedureFieldsAttachment:lp,deleteAssetProcedureFieldsAttachments:cn}=ts.actions,nn=t=>t.assetProcedureFieldsAttachmentReducer.instances,rn=d.createSelector([nn],t=>Object.values(t)),hp=y(d.createSelector([rn,(t,e)=>e],(t,e)=>g(t.filter(i=>i.fields_revision===e)))),mp=t=>e=>e.assetProcedureFieldsAttachmentReducer.instances[t],dn=ts.reducer,L=I(t=>t.uuid),un=L.getInitialState({}),ss=d.createSlice({name:"assetProcedureFields",initialState:un,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,un)),reducers:{initializeAssetProcedureFields:L.initialize,addAssetProcedureFields:L.addOne,addAssetProcedureFieldsMany:L.addMany,setAssetProcedureFields:L.setOne,setAssetProcedureFieldsMany:L.setMany,updateAssetProcedureFields:L.updateOne,updateAssetProcedureFieldsMany:L.updateMany,deleteAssetProcedureFields:L.deleteOne,deleteAssetProcedureFieldsMany:L.deleteMany}}),{initializeAssetProcedureFields:on,addAssetProcedureFields:ln,addAssetProcedureFieldsMany:pp,setAssetProcedureFields:Ap,setAssetProcedureFieldsMany:fp,updateAssetProcedureFields:hn,updateAssetProcedureFieldsMany:yp,deleteAssetProcedureFields:mn,deleteAssetProcedureFieldsMany:Sp}=ss.actions,pn=t=>t.assetProcedureFieldsReducer.instances,is=d.createSelector([pn],t=>Object.values(t)),gp=y(d.createSelector([is,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_procedure===e)))),bp=y(d.createSelector([is,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_procedure===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),Pp=t=>e=>e.assetProcedureFieldsReducer.instances[t],An=ss.reducer,N=I(t=>t.uuid),fn=N.getInitialState({}),as=d.createSlice({name:"assetProcedureFieldValuesAttachments",initialState:fn,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,fn)),reducers:{initializeAssetProcedureFieldValuesAttachments:N.initialize,addAssetProcedureFieldValuesAttachment:N.addOne,addAssetProcedureFieldValuesAttachments:N.addMany,setAssetProcedureFieldValuesAttachment:N.setOne,setAssetProcedureFieldValuesAttachments:N.setMany,updateAssetProcedureFieldValuesAttachment:N.updateOne,updateAssetProcedureFieldValuesAttachments:N.updateMany,deleteAssetProcedureFieldValuesAttachment:N.deleteOne,deleteAssetProcedureFieldValuesAttachments:N.deleteMany}}),{initializeAssetProcedureFieldValuesAttachments:yn,addAssetProcedureFieldValuesAttachment:Fp,addAssetProcedureFieldValuesAttachments:mt,setAssetProcedureFieldValuesAttachment:Tp,setAssetProcedureFieldValuesAttachments:Ip,updateAssetProcedureFieldValuesAttachment:Op,updateAssetProcedureFieldValuesAttachments:Sn,deleteAssetProcedureFieldValuesAttachment:_p,deleteAssetProcedureFieldValuesAttachments:pt}=as.actions,cs=t=>t.assetProcedureFieldValuesAttachmentReducer.instances,gn=d.createSelector([cs],t=>Object.values(t)),Rp=t=>e=>e.assetProcedureFieldValuesAttachmentReducer.instances[t],bn=y(d.createSelector([cs,(t,e)=>e],(t,e)=>{const i=new Set(e);return g(Object.values(t).filter(a=>i.has(a.uuid)))})),Pn=y(d.createSelector([gn,(t,e)=>e],(t,e)=>g(t.filter(i=>i.field_values===e)))),Fn=as.reducer,H=I(t=>t.uuid),Tn=H.getInitialState({}),ns=d.createSlice({name:"assetProcedureFieldValues",initialState:Tn,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,Tn)),reducers:{initializeAssetProcedureFieldValues:H.initialize,addAssetProcedureFieldValues:H.addOne,addAssetProcedureFieldValuesMany:H.addMany,setAssetProcedureFieldValues:H.setOne,setAssetProcedureFieldValuesMany:H.setMany,updateAssetProcedureFieldValues:H.updateOne,updateAssetProcedureFieldValuesMany:H.updateMany,deleteAssetProcedureFieldValues:H.deleteOne,deleteAssetProcedureFieldValuesMany:H.deleteMany}}),{initializeAssetProcedureFieldValues:In,addAssetProcedureFieldValues:rs,addAssetProcedureFieldValuesMany:On,setAssetProcedureFieldValues:vp,setAssetProcedureFieldValuesMany:wp,updateAssetProcedureFieldValues:Je,updateAssetProcedureFieldValuesMany:_n,deleteAssetProcedureFieldValues:ds,deleteAssetProcedureFieldValuesMany:Rn}=ns.actions,vn=ns.reducer,wn=t=>t.assetProcedureFieldValuesReducer.instances,us=d.createSelector([wn],t=>Object.values(t)),Mp=y(d.createSelector([us,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset===e)))),Ep=y(d.createSelector([us,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_procedure_instance===e)))),os=t=>e=>e.assetProcedureFieldValuesReducer.instances[t],W=I(t=>t.uuid),Mn=W.getInitialState({}),ls=d.createSlice({name:"assetProcedureInstances",initialState:Mn,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,Mn)),reducers:{initializeAssetProcedureInstances:W.initialize,addAssetProcedureInstance:W.addOne,addAssetProcedureInstances:W.addMany,setAssetProcedureInstance:W.setOne,setAssetProcedureInstances:W.setMany,updateAssetProcedureInstance:W.updateOne,updateAssetProcedureInstances:W.updateMany,deleteAssetProcedureInstance:W.deleteOne,deleteAssetProcedureInstances:W.deleteMany}}),{initializeAssetProcedureInstances:En,addAssetProcedureInstance:hs,addAssetProcedureInstances:jn,updateAssetProcedureInstance:Xe,updateAssetProcedureInstances:jp,deleteAssetProcedureInstance:ms,deleteAssetProcedureInstances:qn,setAssetProcedureInstance:qp,setAssetProcedureInstances:Vp}=ls.actions,Vn=ls.reducer,ps=t=>t.assetProcedureInstanceReducer.instances,As=d.createSelector([ps],t=>Object.values(t)),zn=y(d.createSelector([As,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_procedure===e)))),zp=y(d.createSelector([As,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_type===e)))),fs=t=>e=>e.assetProcedureInstanceReducer.instances[t],Up=y(d.createSelector([ps,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c&&i.push(c)}return g(i)})),Y=I(t=>t.uuid),Un=Y.getInitialState({}),ys=d.createSlice({name:"assetProcedures",initialState:Un,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Un)),reducers:{initializeAssetProcedures:Y.initialize,addAssetProcedure:Y.addOne,addAssetProcedures:Y.addMany,setAssetProcedure:Y.setOne,setAssetProcedures:Y.setMany,updateAssetProcedure:Y.updateOne,updateAssetProcedures:Y.updateMany,deleteAssetProcedure:Y.deleteOne,deleteAssetProcedures:Y.deleteMany}}),{initializeAssetProcedures:Dn,addAssetProcedure:Ss,addAssetProcedures:Dp,updateAssetProcedure:Qe,updateAssetProcedures:Cp,deleteAssetProcedure:gs,deleteAssetProcedures:kp,setAssetProcedure:Bp,setAssetProcedures:Gp}=ys.actions,Cn=ys.reducer,bs=t=>t.assetProcedureReducer.instances,kn=d.createSelector([bs],t=>Object.values(t)),Ps=t=>e=>e.assetProcedureReducer.instances[t],$p=y(d.createSelector([bs,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c&&i.push(c)}return g(i)})),Lp=y(d.createSelector([kn,(t,e)=>e],(t,e)=>g(t.filter(i=>i.organization===e)))),K=I(t=>t.uuid),Bn=K.getInitialState({}),Fs=d.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:Bn,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Bn)),reducers:{initializeAssetProcedureStepFieldsAttachments:K.initialize,addAssetProcedureStepFieldsAttachment:K.addOne,addAssetProcedureStepFieldsAttachments:K.addMany,setAssetProcedureStepFieldsAttachment:K.setOne,setAssetProcedureStepFieldsAttachments:K.setMany,updateAssetProcedureStepFieldsAttachment:K.updateOne,updateAssetProcedureStepFieldsAttachments:K.updateMany,deleteAssetProcedureStepFieldsAttachment:K.deleteOne,deleteAssetProcedureStepFieldsAttachments:K.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:Gn,addAssetProcedureStepFieldsAttachment:Np,addAssetProcedureStepFieldsAttachments:$n,setAssetProcedureStepFieldsAttachment:Hp,setAssetProcedureStepFieldsAttachments:Wp,updateAssetProcedureStepFieldsAttachment:Yp,updateAssetProcedureStepFieldsAttachments:Ln,deleteAssetProcedureStepFieldsAttachment:Kp,deleteAssetProcedureStepFieldsAttachments:Nn}=Fs.actions,Hn=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,Wn=d.createSelector([Hn],t=>Object.values(t)),Zp=y(d.createSelector([Wn,(t,e)=>e],(t,e)=>g(t.filter(i=>i.fields_revision===e)))),Jp=t=>e=>e.assetProcedureStepFieldsAttachmentReducer.instances[t],Yn=Fs.reducer,Z=I(t=>t.uuid),Kn=Z.getInitialState({}),Ts=d.createSlice({name:"assetProcedureStepFields",initialState:Kn,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Kn)),reducers:{initializeAssetProcedureStepFields:Z.initialize,addAssetProcedureStepFields:Z.addOne,addAssetProcedureStepFieldsMany:Z.addMany,setAssetProcedureStepFields:Z.setOne,setAssetProcedureStepFieldsMany:Z.setMany,updateAssetProcedureStepFields:Z.updateOne,updateAssetProcedureStepFieldsMany:Z.updateMany,deleteAssetProcedureStepFields:Z.deleteOne,deleteAssetProcedureStepFieldsMany:Z.deleteMany}}),{initializeAssetProcedureStepFields:Zn,addAssetProcedureStepFields:Is,addAssetProcedureStepFieldsMany:Xp,setAssetProcedureStepFields:Qp,setAssetProcedureStepFieldsMany:xp,updateAssetProcedureStepFields:xe,updateAssetProcedureStepFieldsMany:eA,deleteAssetProcedureStepFields:Os,deleteAssetProcedureStepFieldsMany:tA}=Ts.actions,_s=t=>t.assetProcedureStepFieldsReducer.instances,Rs=d.createSelector([_s],t=>Object.values(t)),sA=y(d.createSelector([Rs,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_procedure_step===e)))),iA=y(d.createSelector([Rs,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_procedure_step===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),aA=d.createSelector([_s],t=>{const e={};for(const i of Object.values(t)){const a=e[i.asset_procedure_step];(!a||a.submitted_at<i.submitted_at)&&(e[i.asset_procedure_step]=i)}return e}),cA=t=>e=>e.assetProcedureStepFieldsReducer.instances[t],Jn=Ts.reducer,J=I(t=>t.uuid),Xn=J.getInitialState({}),vs=d.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:Xn,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,Xn)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:J.initialize,addAssetProcedureStepFieldValuesAttachment:J.addOne,addAssetProcedureStepFieldValuesAttachments:J.addMany,setAssetProcedureStepFieldValuesAttachment:J.setOne,setAssetProcedureStepFieldValuesAttachments:J.setMany,updateAssetProcedureStepFieldValuesAttachment:J.updateOne,updateAssetProcedureStepFieldValuesAttachments:J.updateMany,deleteAssetProcedureStepFieldValuesAttachment:J.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:J.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:Qn,addAssetProcedureStepFieldValuesAttachment:nA,addAssetProcedureStepFieldValuesAttachments:At,setAssetProcedureStepFieldValuesAttachment:rA,setAssetProcedureStepFieldValuesAttachments:dA,updateAssetProcedureStepFieldValuesAttachment:uA,updateAssetProcedureStepFieldValuesAttachments:xn,deleteAssetProcedureStepFieldValuesAttachment:oA,deleteAssetProcedureStepFieldValuesAttachments:ft}=vs.actions,ws=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,er=d.createSelector([ws],t=>Object.values(t)),lA=t=>e=>e.assetProcedureStepFieldValuesAttachmentReducer.instances[t],tr=y(d.createSelector([ws,(t,e)=>e],(t,e)=>{const i=new Set(e);return g(Object.values(t).filter(a=>i.has(a.uuid)))})),sr=y(d.createSelector([er,(t,e)=>e],(t,e)=>g(t.filter(i=>i.field_values===e)))),ir=vs.reducer,X=I(t=>t.uuid),ar=X.getInitialState({}),Ms=d.createSlice({name:"assetProcedureStepFieldValues",initialState:ar,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,ar)),reducers:{initializeAssetProcedureStepFieldValues:X.initialize,addAssetProcedureStepFieldValues:X.addOne,addAssetProcedureStepFieldValuesMany:X.addMany,setAssetProcedureStepFieldValues:X.setOne,setAssetProcedureStepFieldValuesMany:X.setMany,updateAssetProcedureStepFieldValues:X.updateOne,updateAssetProcedureStepFieldValuesMany:X.updateMany,deleteAssetProcedureStepFieldValues:X.deleteOne,deleteAssetProcedureStepFieldValuesMany:X.deleteMany}}),{initializeAssetProcedureStepFieldValues:cr,addAssetProcedureStepFieldValues:Es,addAssetProcedureStepFieldValuesMany:nr,setAssetProcedureStepFieldValues:hA,setAssetProcedureStepFieldValuesMany:mA,updateAssetProcedureStepFieldValues:et,updateAssetProcedureStepFieldValuesMany:rr,deleteAssetProcedureStepFieldValues:js,deleteAssetProcedureStepFieldValuesMany:dr}=Ms.actions,ur=t=>t.assetProcedureStepFieldValuesReducer.instances,yt=d.createSelector([ur],t=>Object.values(t)),pA=y(d.createSelector([yt,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset===e)))),AA=y(d.createSelector([yt,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_procedure_instance===e)))),fA=y(d.createSelector([yt,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_procedure_step===e)))),qs=t=>e=>e.assetProcedureStepFieldValuesReducer.instances[t],or=Ms.reducer,Q=I(t=>t.uuid),lr=Q.getInitialState({}),Vs=d.createSlice({name:"assetProcedureSteps",initialState:lr,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,lr)),reducers:{initializeAssetProcedureSteps:Q.initialize,setAssetProcedureStep:Q.setOne,setAssetProcedureSteps:Q.setMany,addAssetProcedureStep:Q.addOne,addAssetProcedureSteps:Q.addMany,updateAssetProcedureStep:Q.updateOne,updateAssetProcedureSteps:Q.updateMany,deleteAssetProcedureStep:Q.deleteOne,deleteAssetProcedureSteps:Q.deleteMany}}),{initializeAssetProcedureSteps:hr,setAssetProcedureStep:mr,setAssetProcedureSteps:yA,addAssetProcedureStep:zs,addAssetProcedureSteps:SA,updateAssetProcedureStep:St,updateAssetProcedureSteps:gA,deleteAssetProcedureStep:Us,deleteAssetProcedureSteps:bA}=Vs.actions,pr=Vs.reducer,gt=t=>t.assetProcedureStepReducer.instances,Ds=t=>e=>e.assetProcedureStepReducer.instances[t],Ar=d.createSelector([gt],t=>Object.values(t)),PA=y(d.createSelector([gt,(t,e)=>e],(t,e)=>{const i={};for(const[a,c]of Object.entries(t))c.asset_procedure===e&&(i[a]=c);return ht(i)})),FA=y(d.createSelector([Ar,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_procedure===e)))),TA=y(d.createSelector([gt,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c?i.push(c):console.warn("selectAssetProcedureStepsByIds: No step exists with the id",a)}return g(i)})),x=I(t=>t.uuid),fr=x.getInitialState({}),Cs=d.createSlice({name:"assets",initialState:fr,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,fr)),reducers:{initializeAssets:x.initialize,addAsset:x.addOne,addAssets:x.addMany,setAsset:x.setOne,setAssets:x.setMany,updateAsset:x.updateOne,updateAssets:x.updateMany,deleteAsset:x.deleteOne,deleteAssets:x.deleteMany}}),{initializeAssets:yr,addAsset:ks,addAssets:bt,updateAsset:tt,updateAssets:IA,deleteAsset:Bs,deleteAssets:Gs,setAsset:OA,setAssets:_A}=Cs.actions,$s=t=>t.assetReducer.instances,Sr=d.createSelector([$s],t=>g(Object.values(t))),Ls=y(d.createSelector([Sr,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_type===e)))),Ns=t=>e=>e.assetReducer.instances[t],gr=y(d.createSelector([$s,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c&&i.push(c)}return g(i)})),RA=t=>e=>Ls(t)(e).length,br=Cs.reducer,ee=I(t=>t.uuid),Pr=ee.getInitialState({}),Hs=d.createSlice({name:"assetStageCompletions",initialState:Pr,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,Pr)),reducers:{initializeAssetStageCompletions:ee.initialize,addAssetStageCompletion:ee.addOne,addAssetStageCompletions:ee.addMany,setAssetStageCompletion:ee.setOne,setAssetStageCompletions:ee.setMany,updateAssetStageCompletion:ee.updateOne,updateAssetStageCompletions:ee.updateMany,deleteAssetStageCompletion:ee.deleteOne,deleteAssetStageCompletions:ee.deleteMany}}),{initializeAssetStageCompletions:Fr,addAssetStageCompletion:Ws,addAssetStageCompletions:Ys,setAssetStageCompletion:vA,setAssetStageCompletions:wA,updateAssetStageCompletion:Tr,updateAssetStageCompletions:Ir,deleteAssetStageCompletion:Ks,deleteAssetStageCompletions:Zs}=Hs.actions,Or=Hs.reducer,Js=t=>t.assetStageCompletionReducer.instances,MA=d.createSelector([Js],t=>Object.values(t)),_r=t=>e=>e.assetStageCompletionReducer.instances[t],Rr=y(d.createSelector([Js,(t,e)=>e],(t,e)=>{const i=new Set(e);return g(Object.values(t).filter(a=>i.has(a.uuid)))})),te=I(t=>t.uuid),vr=te.getInitialState({}),Xs=d.createSlice({name:"assetStages",initialState:vr,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,vr)),reducers:{initializeAssetStages:te.initialize,setAssetStage:te.setOne,setAssetStages:te.setMany,addAssetStage:te.addOne,addAssetStages:te.addMany,updateAssetStage:te.updateOne,updateAssetStages:te.updateMany,deleteAssetStage:te.deleteOne,deleteAssetStages:te.deleteMany}}),{initializeAssetStages:wr,setAssetStage:Mr,setAssetStages:EA,addAssetStage:Qs,addAssetStages:jA,updateAssetStage:Pt,updateAssetStages:qA,deleteAssetStage:xs,deleteAssetStages:VA}=Xs.actions,Er=Xs.reducer,Ft=t=>t.assetStageReducer.instances,ei=t=>e=>e.assetStageReducer.instances[t],jr=d.createSelector([Ft],t=>Object.values(t)),zA=y(d.createSelector([Ft,(t,e)=>e],(t,e)=>{const i={};for(const[a,c]of Object.entries(t))c.asset_procedure===e&&(i[a]=c);return ht(i)})),UA=y(d.createSelector([jr,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_procedure===e)))),DA=y(d.createSelector([Ft,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c?i.push(c):console.warn("selectStagesFromStageIds: No stage exists with the id",a)}return g(i)})),se=I(t=>t.uuid),qr=se.getInitialState({}),ti=d.createSlice({name:"assetTypeAttachments",initialState:qr,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,qr)),reducers:{initializeAssetTypeAttachments:se.initialize,addAssetTypeAttachment:se.addOne,addAssetTypeAttachments:se.addMany,setAssetTypeAttachment:se.setOne,setAssetTypeAttachments:se.setMany,updateAssetTypeAttachment:se.updateOne,updateAssetTypeAttachments:se.updateMany,deleteAssetTypeAttachment:se.deleteOne,deleteAssetTypeAttachments:se.deleteMany}}),{initializeAssetTypeAttachments:Vr,addAssetTypeAttachment:CA,addAssetTypeAttachments:si,setAssetTypeAttachment:zr,setAssetTypeAttachments:kA,updateAssetTypeAttachment:BA,updateAssetTypeAttachments:Ur,deleteAssetTypeAttachment:Dr,deleteAssetTypeAttachments:ii}=ti.actions,Cr=t=>t.assetTypeAttachmentReducer.instances,kr=d.createSelector([Cr],t=>Object.values(t)),Br=t=>e=>e.assetTypeAttachmentReducer.instances[t],Gr=y(d.createSelector([kr,(t,e)=>e],(t,e)=>g(t.filter(({asset_type:i})=>e===i)))),$r=ti.reducer,ie=I(t=>t.uuid),Lr=ie.getInitialState({}),ai=d.createSlice({name:"assetTypeFieldsAttachments",initialState:Lr,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Lr)),reducers:{initializeAssetTypeFieldsAttachments:ie.initialize,addAssetTypeFieldsAttachment:ie.addOne,addAssetTypeFieldsAttachments:ie.addMany,setAssetTypeFieldsAttachment:ie.setOne,setAssetTypeFieldsAttachments:ie.setMany,updateAssetTypeFieldsAttachment:ie.updateOne,updateAssetTypeFieldsAttachments:ie.updateMany,deleteAssetTypeFieldsAttachment:ie.deleteOne,deleteAssetTypeFieldsAttachments:ie.deleteMany}}),{initializeAssetTypeFieldsAttachments:Nr,addAssetTypeFieldsAttachment:GA,addAssetTypeFieldsAttachments:Hr,setAssetTypeFieldsAttachment:$A,setAssetTypeFieldsAttachments:LA,updateAssetTypeFieldsAttachment:NA,updateAssetTypeFieldsAttachments:Wr,deleteAssetTypeFieldsAttachment:HA,deleteAssetTypeFieldsAttachments:Yr}=ai.actions,Kr=t=>t.assetTypeFieldsAttachmentReducer.instances,Zr=d.createSelector([Kr],t=>Object.values(t)),WA=y(d.createSelector([Zr,(t,e)=>e],(t,e)=>g(t.filter(i=>i.fields_revision===e)))),YA=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],Jr=ai.reducer,ae=I(t=>t.uuid),Xr=ae.getInitialState({}),ci=d.createSlice({name:"assetTypeFields",initialState:Xr,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Xr)),reducers:{initializeAssetTypeFields:ae.initialize,addAssetTypeFields:ae.addOne,addAssetTypeFieldsMany:ae.addMany,setAssetTypeFields:ae.setOne,setAssetTypeFieldsMany:ae.setMany,updateAssetTypeFields:ae.updateOne,updateAssetTypeFieldsMany:ae.updateMany,deleteAssetTypeFields:ae.deleteOne,deleteAssetTypeFieldsMany:ae.deleteMany}}),{initializeAssetTypeFields:Qr,addAssetTypeFields:xr,addAssetTypeFieldsMany:KA,setAssetTypeFields:ZA,setAssetTypeFieldsMany:JA,updateAssetTypeFields:ed,updateAssetTypeFieldsMany:XA,deleteAssetTypeFields:td,deleteAssetTypeFieldsMany:QA}=ci.actions,sd=t=>t.assetTypeFieldsReducer.instances,Tt=d.createSelector([sd],t=>Object.values(t)),xA=y(d.createSelector([Tt,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset_type===e)))),ef=y(d.createSelector([Tt,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),tf=t=>e=>e.assetTypeFieldsReducer.instances[t],id=ci.reducer,ce=I(t=>t.uuid),ad=ce.getInitialState({}),ni=d.createSlice({name:"assetTypeFieldValuesAttachments",initialState:ad,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,ad)),reducers:{initializeAssetTypeFieldValuesAttachments:ce.initialize,addAssetTypeFieldValuesAttachment:ce.addOne,addAssetTypeFieldValuesAttachments:ce.addMany,setAssetTypeFieldValuesAttachment:ce.setOne,setAssetTypeFieldValuesAttachments:ce.setMany,updateAssetTypeFieldValuesAttachment:ce.updateOne,updateAssetTypeFieldValuesAttachments:ce.updateMany,deleteAssetTypeFieldValuesAttachment:ce.deleteOne,deleteAssetTypeFieldValuesAttachments:ce.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:cd,addAssetTypeFieldValuesAttachment:sf,addAssetTypeFieldValuesAttachments:It,setAssetTypeFieldValuesAttachment:af,setAssetTypeFieldValuesAttachments:cf,updateAssetTypeFieldValuesAttachment:nf,updateAssetTypeFieldValuesAttachments:nd,deleteAssetTypeFieldValuesAttachment:rf,deleteAssetTypeFieldValuesAttachments:Ot}=ni.actions,ri=t=>t.assetTypeFieldValuesAttachmentReducer.instances,rd=d.createSelector([ri],t=>Object.values(t)),df=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],dd=y(d.createSelector([ri,(t,e)=>e],(t,e)=>{const i=new Set(e);return g(Object.values(t).filter(a=>i.has(a.uuid)))})),ud=y(d.createSelector([rd,(t,e)=>e],(t,e)=>g(t.filter(i=>i.field_values===e)))),od=ni.reducer,ne=I(t=>t.uuid),ld=ne.getInitialState({}),di=d.createSlice({name:"assetTypeFieldValues",initialState:ld,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,ld)),reducers:{initializeAssetTypeFieldValues:ne.initialize,addAssetTypeFieldValues:ne.addOne,addAssetTypeFieldValuesMany:ne.addMany,setAssetTypeFieldValues:ne.setOne,setAssetTypeFieldValuesMany:ne.setMany,updateAssetTypeFieldValues:ne.updateOne,updateAssetTypeFieldValuesMany:ne.updateMany,deleteAssetTypeFieldValues:ne.deleteOne,deleteAssetTypeFieldValuesMany:ne.deleteMany}}),{initializeAssetTypeFieldValues:hd,addAssetTypeFieldValues:ui,addAssetTypeFieldValuesMany:md,setAssetTypeFieldValues:uf,setAssetTypeFieldValuesMany:of,updateAssetTypeFieldValues:st,updateAssetTypeFieldValuesMany:pd,deleteAssetTypeFieldValues:oi,deleteAssetTypeFieldValuesMany:Ad}=di.actions,fd=t=>t.assetTypeFieldValuesReducer.instances,li=d.createSelector([fd],t=>Object.values(t)),lf=y(d.createSelector([li,(t,e)=>e],(t,e)=>g(t.filter(i=>i.asset===e)))),hf=y(d.createSelector([Tt,li,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(c=>c.asset_type===i).map(c=>c.uuid));return g(e.filter(c=>a.has(c.fields_revision)))})),hi=t=>e=>e.assetTypeFieldValuesReducer.instances[t],yd=di.reducer,re=I(t=>t.uuid),Sd=re.getInitialState({}),mi=d.createSlice({name:"assetTypes",initialState:Sd,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Sd)),reducers:{initializeAssetTypes:re.initialize,setAssetType:re.setOne,setAssetTypes:re.setMany,addAssetType:re.addOne,addAssetTypes:re.addMany,updateAssetType:re.updateOne,updateAssetTypes:re.updateMany,deleteAssetType:re.deleteOne,deleteAssetTypes:re.deleteMany}}),{initializeAssetTypes:gd,setAssetType:mf,setAssetTypes:pf,addAssetType:pi,addAssetTypes:Af,updateAssetType:it,updateAssetTypes:ff,deleteAssetType:Ai,deleteAssetTypes:yf}=mi.actions,fi=t=>t.assetTypeReducer.instances,bd=d.createSelector([fi],t=>Object.values(t)),yi=t=>e=>e.assetTypeReducer.instances[t],Sf=y(d.createSelector([fi,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c?i.push(c):console.warn("selectAssetTypesByIds: No assetType exists with the id",a)}return g(i)})),gf=y(d.createSelector([bd,(t,e)=>e],(t,e)=>g(t.filter(i=>i.organization===e)))),Pd=mi.reducer,Fd={accessToken:"",refreshToken:"",isLoggedIn:!1},_t=d.createSlice({name:"auth",initialState:Fd,extraReducers:t=>t.addCase(F,e=>Object.assign(e,Fd)),reducers:{setTokens:(t,e)=>{t.accessToken=e.payload.accessToken,t.refreshToken=e.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,e)=>{e.payload||_t.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:bf,clearTokens:Pf,setLoggedIn:Td}=_t.actions,Ff=t=>t.authReducer.accessToken,Tf=t=>t.authReducer.isLoggedIn,Id=_t.reducer,de=I(t=>t.uuid),Od=de.getInitialState({}),Si=d.createSlice({name:"categories",initialState:Od,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Od)),reducers:{initializeCategories:de.initialize,addCategory:de.addOne,addCategories:de.addMany,setCategory:de.setOne,setCategories:de.setMany,updateCategory:de.updateOne,updateCategories:de.updateMany,deleteCategory:de.deleteOne,deleteCategories:de.deleteMany}}),{initializeCategories:_d,addCategory:gi,addCategories:If,setCategory:Of,setCategories:_f,updateCategory:Rd,updateCategories:Rf,deleteCategory:vd,deleteCategories:vf}=Si.actions,bi=t=>t.categoryReducer.instances,wd=d.createSelector([bi],t=>Object.values(t)),Pi=t=>e=>e.categoryReducer.instances[t],wf=y(d.createSelector([bi,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c?i.push(c):console.warn("selectCategoryByIds: No category exists with the id",a)}return g(i)})),Mf=y(d.createSelector([wd,(t,e)=>e],(t,e)=>g(t.filter(i=>i.project===e)))),Md=Si.reducer,ue=I(t=>t.uuid),Ed=ue.getInitialState({}),Fi=d.createSlice({name:"documentAttachments",initialState:Ed,extraReducers:t=>t.addCase(F,e=>Object.assign(e,Ed)),reducers:{initializeDocumentAttachments:ue.initialize,addDocumentAttachment:ue.addOne,addDocumentAttachments:ue.addMany,setDocumentAttachment:ue.setOne,setDocumentAttachments:ue.setMany,updateDocumentAttachment:ue.updateOne,updateDocumentAttachments:ue.updateMany,deleteDocumentAttachment:ue.deleteOne,deleteDocumentAttachments:ue.deleteMany}}),{initializeDocumentAttachments:jd,addDocumentAttachment:Ef,addDocumentAttachments:qd,setDocumentAttachment:Vd,setDocumentAttachments:jf,updateDocumentAttachment:qf,updateDocumentAttachments:zd,deleteDocumentAttachment:Ud,deleteDocumentAttachments:Dd}=Fi.actions,Cd=t=>t.documentAttachmentReducer.instances,kd=d.createSelector([Cd],t=>Object.values(t)),Bd=t=>e=>e.documentAttachmentReducer.instances[t],Vf=y(d.createSelector([kd,(t,e)=>e],(t,e)=>g(t.filter(({document:i})=>e===i)))),Gd=Fi.reducer,$d={documents:{}},Ti=d.createSlice({name:"documents",initialState:$d,extraReducers:t=>t.addCase(F,e=>{Object.assign(e,$d)}),reducers:{setDocuments:(t,e)=>{if(e.payload.filter(Rc).length!==e.payload.length)throw new Error("Tried to use setIssues reducer with duplicate ID's");t.documents=_c(e.payload)},addDocuments:(t,e)=>{for(const i of e.payload)if(i.uuid in t.documents)throw new Error(`attempting to add a document with uuid ${i.uuid} which already exists in state.documents.`);for(const i of e.payload){if(i.parent_document&&t.documents[i.parent_document]){const a=t.documents[i.parent_document];t.documents[i.parent_document]={...a,children_documents:[...a.children_documents,i.uuid]}}t.documents[i.uuid]=i}},updateDocuments:(t,e)=>{for(const i of e.payload)if(!(i.uuid in t.documents))throw new Error(`attempting to update a document with uuid ${i.uuid} which doesn't exists in state.documents.`);for(const i of e.payload){const a=t.documents[i.uuid];if(i.organization!==void 0&&i.organization!==a.organization)throw new Error("organization cannot be updated");if(i.project!==void 0&&i.project!==a.project)throw new Error("project cannot be updated");t.documents[i.uuid]={...a,...i}}},removeDocuments:(t,e)=>{for(const i of e.payload)if(!(i in t.documents))throw new Error(`attempting to delete a document with uuid ${i} which doesn't exists in state.documents.`);for(const i of e.payload){const a=t.documents[i];if(a.parent_document&&t.documents[a.parent_document]){const c=t.documents[a.parent_document];t.documents[a.parent_document]={...c,children_documents:c.children_documents.filter(n=>n!==a.uuid)}}delete t.documents[i]}}}}),{setDocuments:Ld,addDocuments:Nd,updateDocuments:We,removeDocuments:Ii}=Ti.actions,Rt=t=>t.documentsReducer.documents,Oi=d.createSelector([Rt],t=>Object.values(t)),Hd=t=>e=>e.documentsReducer.documents[t],zf=y(d.createSelector([Rt,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c?i.push(c):console.warn("selectDocumentByIds: No document exists with the id",a)}return g(i)})),Uf=y(d.createSelector([Oi,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),Df=y(d.createSelector([Oi,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),Wd=Ti.reducer,oe=I(t=>t.uuid),Yd=oe.getInitialState({}),_i=d.createSlice({name:"emailDomains",initialState:Yd,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Yd)),reducers:{initializeEmailDomains:oe.initialize,addEmailDomain:oe.addOne,addEmailDomains:oe.addMany,setEmailDomain:oe.setOne,setEmailDomains:oe.setMany,updateEmailDomain:oe.updateOne,updateEmailDomains:oe.updateMany,deleteEmailDomain:oe.deleteOne,deleteEmailDomains:oe.deleteMany}}),{initializeEmailDomains:Kd,addEmailDomain:Zd,addEmailDomains:Cf,setEmailDomain:kf,setEmailDomains:Bf,updateEmailDomain:Gf,updateEmailDomains:$f,deleteEmailDomain:Jd,deleteEmailDomains:Lf}=_i.actions,Xd=t=>t.emailDomainsReducer.instances,Qd=d.createSelector([Xd],t=>Object.values(t)),Nf=y(d.createSelector([Qd,(t,e)=>e],(t,e)=>g(t.filter(i=>i.organization===e)))),xd=_i.reducer,eu={s3Urls:{}},tu=1e3*60*60,Hf=tu*24*7,Ri=d.createSlice({name:"file",initialState:eu,extraReducers:t=>t.addCase(F,e=>Object.assign(e,eu)),reducers:{setUploadUrl:(t,e)=>{const{url:i,fields:a,sha1:c}=e.payload,n=new Date,r=new Date(n.getTime()+Hf);t.s3Urls[c]={url:i,fields:a,exp:r.getTime()}}}}),{setUploadUrl:su}=Ri.actions,iu=t=>e=>{const i=e.fileReducer.s3Urls[t];if(!i)return;const a=new Date().getTime();if(!((i.exp??a)-a<tu))return i},au=Ri.reducer,le=I(t=>t.uuid),cu=le.getInitialState({}),vi=d.createSlice({name:"formRevisionAttachments",initialState:cu,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,cu)),reducers:{initializeFormRevisionAttachments:le.initialize,addFormRevisionAttachment:le.addOne,addFormRevisionAttachments:le.addMany,setFormRevisionAttachment:le.setOne,setFormRevisionAttachments:le.setMany,updateFormRevisionAttachment:le.updateOne,updateFormRevisionAttachments:le.updateMany,deleteFormRevisionAttachment:le.deleteOne,deleteFormRevisionAttachments:le.deleteMany}}),{initializeFormRevisionAttachments:nu,addFormRevisionAttachment:Wf,addFormRevisionAttachments:ru,setFormRevisionAttachment:Yf,setFormRevisionAttachments:Kf,updateFormRevisionAttachment:Zf,updateFormRevisionAttachments:du,deleteFormRevisionAttachment:Jf,deleteFormRevisionAttachments:uu}=vi.actions,ou=t=>t.formRevisionAttachmentReducer.instances,Xf=y(d.createSelector([ou,(t,e)=>e],(t,e)=>g(Object.values(t).filter(i=>i.form_revision===e)))),lu=vi.reducer,he=I(t=>t.uuid),hu=he.getInitialState({}),wi=d.createSlice({name:"formRevisions",initialState:hu,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,hu)),reducers:{initializeFormRevisions:he.initialize,addFormRevision:he.addOne,addFormRevisions:he.addMany,setFormRevision:he.setOne,setFormRevisions:he.setMany,updateFormRevision:he.updateOne,updateFormRevisions:he.updateMany,deleteFormRevision:he.deleteOne,deleteFormRevisions:he.deleteMany}}),{initializeFormRevisions:mu,addFormRevision:Mi,addFormRevisions:pu,setFormRevision:Au,setFormRevisions:Qf,updateFormRevision:xf,updateFormRevisions:ey,deleteFormRevision:Ei,deleteFormRevisions:fu}=wi.actions,ji=t=>t.formRevisionReducer.instances,qi=d.createSelector([ji],t=>Object.values(t)),ty=t=>e=>e.formRevisionReducer.instances[t],sy=y(d.createSelector([qi,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),yu=y(d.createSelector([qi,(t,e)=>e],(t,e)=>g(t.filter(i=>i.form===e)))),Su=wi.reducer,me=I(t=>t.uuid),gu=me.getInitialState({}),Vi=d.createSlice({name:"forms",initialState:gu,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,gu)),reducers:{initializeForms:me.initialize,addForm:me.addOne,addForms:me.addMany,setForm:me.setOne,setForms:me.setMany,updateForm:me.updateOne,updateForms:me.updateMany,deleteForm:me.deleteOne,deleteForms:me.deleteMany}}),{initializeForms:bu,addForm:zi,addForms:iy,setForm:ay,setForms:cy,updateForm:ny,updateForms:ry,deleteForm:Ui,deleteForms:dy}=Vi.actions,Pu=Vi.reducer,Fu=t=>t.formReducer.instances,Tu=d.createSelector([Fu],t=>Object.values(t)),Iu=t=>e=>e.formReducer.instances[t],uy=y(d.createSelector([Tu,(t,e)=>e],(t,e)=>g(t.filter(i=>i.organization===e)))),pe=I(t=>t.uuid),Ou=pe.getInitialState({}),Di=d.createSlice({name:"formSubmissionAttachments",initialState:Ou,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,Ou)),reducers:{initializeFormSubmissionAttachments:pe.initialize,addFormSubmissionAttachment:pe.addOne,addFormSubmissionAttachments:pe.addMany,setFormSubmissionAttachment:pe.setOne,setFormSubmissionAttachments:pe.setMany,updateFormSubmissionAttachment:pe.updateOne,updateFormSubmissionAttachments:pe.updateMany,deleteFormSubmissionAttachment:pe.deleteOne,deleteFormSubmissionAttachments:pe.deleteMany}}),{initializeFormSubmissionAttachments:_u,addFormSubmissionAttachment:oy,addFormSubmissionAttachments:vt,setFormSubmissionAttachment:ly,setFormSubmissionAttachments:hy,updateFormSubmissionAttachment:my,updateFormSubmissionAttachments:Ru,deleteFormSubmissionAttachment:py,deleteFormSubmissionAttachments:wt}=Di.actions,vu=t=>t.formSubmissionAttachmentReducer.instances,Ci=d.createSelector([vu],t=>Object.values(t)),wu=y(d.createSelector([Ci,(t,e)=>e],(t,e)=>{const i=new Set(e);return g(t.filter(a=>i.has(a.uuid)))})),Mu=y(d.createSelector([Ci,(t,e)=>e],(t,e)=>g(t.filter(i=>i.form_submission===e)))),Eu=Di.reducer,Ae=I(t=>t.uuid),ju=Ae.getInitialState({}),ki=d.createSlice({name:"formSubmissions",initialState:ju,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,ju)),reducers:{initializeFormSubmissions:Ae.initialize,setFormSubmission:Ae.setOne,setFormSubmissions:Ae.setMany,addFormSubmission:Ae.addOne,addFormSubmissions:Ae.addMany,updateFormSubmission:Ae.updateOne,updateFormSubmissions:Ae.updateMany,deleteFormSubmission:Ae.deleteOne,deleteFormSubmissions:Ae.deleteMany}}),{initializeFormSubmissions:qu,setFormSubmission:Mt,setFormSubmissions:Ay,addFormSubmission:Bi,addFormSubmissions:Et,updateFormSubmission:Vu,updateFormSubmissions:fy,deleteFormSubmission:Gi,deleteFormSubmissions:jt}=ki.actions,$i=t=>t.formSubmissionReducer.instances,Li=d.createSelector([$i],t=>Object.values(t)),Ni=t=>e=>e.formSubmissionReducer.instances[t],zu=y(d.createSelector([$i,ji,(t,e)=>e],(t,e,i)=>{const a=new Set;for(const c of Object.values(e))c.form===i&&a.add(c.uuid);return Object.values(t).filter(c=>a.has(c.form_revision))})),Uu=y(d.createSelector([Li,(t,e)=>e],(t,e)=>Object.values(t).filter(i=>i.issue===e))),Du=y(d.createSelector([Li,(t,e)=>e],(t,e)=>t.filter(i=>i.asset===e))),Cu=ki.reducer,fe=I(t=>t.uuid),ku=fe.getInitialState({}),Hi=d.createSlice({name:"geoImages",initialState:ku,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,ku)),reducers:{initializeGeoImages:fe.initialize,setGeoImage:fe.setOne,setGeoImages:fe.setMany,addGeoImage:fe.addOne,addGeoImages:fe.addMany,updateGeoImage:fe.updateOne,updateGeoImages:fe.updateMany,deleteGeoImage:fe.deleteOne,deleteGeoImages:fe.deleteMany}}),{initializeGeoImages:Bu,setGeoImage:at,setGeoImages:Gu,addGeoImage:$u,addGeoImages:Lu,updateGeoImage:Nu,updateGeoImages:yy,deleteGeoImage:Wi,deleteGeoImages:Hu}=Hi.actions,Wu=t=>t.geoImageReducer.instances,Yu=d.createSelector([Wu],t=>Object.values(t)),Yi=t=>e=>e.geoImageReducer.instances[t],Sy=y(d.createSelector([Yu,(t,e)=>e],(t,e)=>g(t.filter(i=>i.project===e)))),Ku=Hi.reducer,ye=I(t=>t.uuid),Zu=ye.getInitialState({}),Ki=d.createSlice({name:"issueAssociations",initialState:Zu,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,Zu)),reducers:{initializeIssueAssociations:ye.initialize,addIssueAssociation:ye.addOne,addIssueAssociations:ye.addMany,setIssueAssociation:ye.setOne,setIssueAssociations:ye.setMany,updateIssueAssociation:ye.updateOne,updateIssueAssociations:ye.updateMany,deleteIssueAssociation:ye.deleteOne,deleteIssueAssociations:ye.deleteMany}}),{initializeIssueAssociations:Ju,setIssueAssociations:gy,setIssueAssociation:by,updateIssueAssociation:Xu,updateIssueAssociations:Py,addIssueAssociation:Zi,addIssueAssociations:Ji,deleteIssueAssociation:Xi,deleteIssueAssociations:Qi}=Ki.actions,ct=t=>t.issueAssociationReducer.instances,Fy=d.createSelector([ct],t=>Object.values(t)),Qu=t=>e=>e.issueAssociationReducer.instances[t],xu=y(d.createSelector([ct,(t,e)=>e],(t,e)=>g(Object.values(t).filter(i=>i.associated_issue===e)))),eo=y(d.createSelector([ct,(t,e)=>e],(t,e)=>g(Object.values(t).filter(i=>i.issue===e)))),to=y(d.createSelector([ct,(t,e)=>e],(t,e)=>g(Object.values(t).filter(i=>i.asset===e)))),so=Ki.reducer,Se=I(t=>t.uuid),io=Se.getInitialState({}),xi=d.createSlice({name:"issueAttachments",initialState:io,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,io)),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:ea,addIssueAttachment:Ty,addIssueAttachments:ta,setIssueAttachment:ao,setIssueAttachments:Iy,updateIssueAttachment:Oy,updateIssueAttachments:co,deleteIssueAttachment:no,deleteIssueAttachments:sa}=xi.actions,ro=t=>t.issueAttachmentReducer.instances,uo=d.createSelector([ro],t=>Object.values(t)),oo=y(d.createSelector([uo,(t,e)=>e],(t,e)=>g(t.filter(({issue:i})=>e===i)))),lo=t=>e=>e.issueAttachmentReducer.instances[t],ho=xi.reducer,ge=I(t=>t.uuid),mo=ge.getInitialState({}),ia=d.createSlice({name:"issueCommentAttachments",initialState:mo,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,mo)),reducers:{initializeIssueCommentAttachments:ge.initialize,addIssueCommentAttachment:ge.addOne,addIssueCommentAttachments:ge.addMany,setIssueCommentAttachment:ge.setOne,setIssueCommentAttachments:ge.setMany,updateIssueCommentAttachment:ge.updateOne,updateIssueCommentAttachments:ge.updateMany,deleteIssueCommentAttachment:ge.deleteOne,deleteIssueCommentAttachments:ge.deleteMany}}),{initializeIssueCommentAttachments:aa,addIssueCommentAttachment:_y,addIssueCommentAttachments:po,setIssueCommentAttachment:Ao,setIssueCommentAttachments:Ry,updateIssueCommentAttachment:vy,updateIssueCommentAttachments:fo,deleteIssueCommentAttachment:yo,deleteIssueCommentAttachments:So}=ia.actions,go=t=>t.issueCommentAttachmentReducer.instances,bo=d.createSelector([go],t=>Object.values(t)),Po=t=>e=>e.issueCommentAttachmentReducer.instances[t],wy=y(d.createSelector([bo,(t,e)=>e],(t,e)=>g(t.filter(({issue_comment:i})=>e===i)))),Fo=ia.reducer,be=I(t=>t.uuid),To=be.getInitialState({}),ca=d.createSlice({name:"issueComments",initialState:To,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,To)),reducers:{initializeIssueComments:be.initialize,addIssueComment:be.addOne,addIssueComments:be.addMany,setIssueComment:be.setOne,setIssueComments:be.setMany,updateIssueComment:be.updateOne,updateIssueComments:be.updateMany,deleteIssueComment:be.deleteOne,deleteIssueComments:be.deleteMany}}),{initializeIssueComments:My,addIssueComment:na,addIssueComments:Ey,setIssueComment:ra,setIssueComments:Io,updateIssueComment:jy,updateIssueComments:qy,deleteIssueComment:da,deleteIssueComments:Vy}=ca.actions,Oo=t=>t.issueCommentReducer.instances,ua=t=>e=>e.issueCommentReducer.instances[t],zy=y(d.createSelector([Oo,(t,e)=>e],(t,e)=>g(Object.values(t).filter(i=>i.issue===e)))),_o=ca.reducer,Pe=I(t=>t.uuid),Ro=Pe.getInitialState({}),oa=d.createSlice({name:"issues",initialState:Ro,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,Ro)),reducers:{initializeIssues:Pe.initialize,addIssue:Pe.addOne,addIssues:Pe.addMany,setIssue:Pe.setOne,setIssues:Pe.setMany,updateIssue:Pe.updateOne,updateIssues:Pe.updateMany,deleteIssue:Pe.deleteOne,deleteIssues:Pe.deleteMany}}),{initializeIssues:vo,addIssue:la,addIssues:wo,setIssue:Uy,setIssues:Dy,updateIssue:qt,updateIssues:Cy,deleteIssue:ha,deleteIssues:Mo}=oa.actions,ma=t=>t.issueReducer.instances,pa=d.createSelector([ma],t=>Object.values(t)),Aa=t=>e=>e.issueReducer.instances[t],ky=y(d.createSelector([ma,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c?i.push(c):console.warn("selectIssuesByIds: No issue exists with the id",a)}return g(i)})),By=y(d.createSelector([pa,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),Eo=y(d.createSelector([pa,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),jo=oa.reducer,Fe=I(t=>t.uuid),qo=Fe.getInitialState({}),fa=d.createSlice({name:"issueTypeAttachments",initialState:qo,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,qo)),reducers:{initializeIssueTypeAttachments:Fe.initialize,addIssueTypeAttachment:Fe.addOne,addIssueTypeAttachments:Fe.addMany,setIssueTypeAttachment:Fe.setOne,setIssueTypeAttachments:Fe.setMany,updateIssueTypeAttachment:Fe.updateOne,updateIssueTypeAttachments:Fe.updateMany,deleteIssueTypeAttachment:Fe.deleteOne,deleteIssueTypeAttachments:Fe.deleteMany}}),{initializeIssueTypeAttachments:ya,addIssueTypeAttachment:Gy,addIssueTypeAttachments:Vo,setIssueTypeAttachment:zo,setIssueTypeAttachments:$y,updateIssueTypeAttachment:Ly,updateIssueTypeAttachments:Uo,deleteIssueTypeAttachment:Do,deleteIssueTypeAttachments:Co}=fa.actions,ko=t=>t.issueTypeAttachmentReducer.instances,Bo=d.createSelector([ko],t=>Object.values(t)),Go=t=>e=>e.issueTypeAttachmentReducer.instances[t],Ny=y(d.createSelector([Bo,(t,e)=>e],(t,e)=>g(t.filter(({issue_type:i})=>e===i)))),$o=fa.reducer,Te=I(t=>t.uuid),Lo=Te.getInitialState({}),Sa=d.createSlice({name:"issueTypeFieldsAttachments",initialState:Lo,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Lo)),reducers:{initializeIssueTypeFieldsAttachments:Te.initialize,addIssueTypeFieldsAttachment:Te.addOne,addIssueTypeFieldsAttachments:Te.addMany,setIssueTypeFieldsAttachment:Te.setOne,setIssueTypeFieldsAttachments:Te.setMany,updateIssueTypeFieldsAttachment:Te.updateOne,updateIssueTypeFieldsAttachments:Te.updateMany,deleteIssueTypeFieldsAttachment:Te.deleteOne,deleteIssueTypeFieldsAttachments:Te.deleteMany}}),{initializeIssueTypeFieldsAttachments:No,addIssueTypeFieldsAttachment:Hy,addIssueTypeFieldsAttachments:Ho,setIssueTypeFieldsAttachment:Wy,setIssueTypeFieldsAttachments:Yy,updateIssueTypeFieldsAttachment:Ky,updateIssueTypeFieldsAttachments:Wo,deleteIssueTypeFieldsAttachment:Zy,deleteIssueTypeFieldsAttachments:Yo}=Sa.actions,Ko=t=>t.issueTypeFieldsAttachmentReducer.instances,Zo=d.createSelector([Ko],t=>Object.values(t)),Jy=y(d.createSelector([Zo,(t,e)=>e],(t,e)=>g(t.filter(i=>i.fields_revision===e)))),Xy=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],Jo=Sa.reducer,Ie=I(t=>t.uuid),Xo=Ie.getInitialState({}),ga=d.createSlice({name:"issueTypeFieldValues",initialState:Xo,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,Xo)),reducers:{initializeIssueTypeFieldValues:Ie.initialize,addIssueTypeFieldValues:Ie.addOne,addIssueTypeFieldValuesMany:Ie.addMany,setIssueTypeFieldValues:Ie.setOne,setIssueTypeFieldValuesMany:Ie.setMany,updateIssueTypeFieldValues:Ie.updateOne,updateIssueTypeFieldValuesMany:Ie.updateMany,deleteIssueTypeFieldValues:Ie.deleteOne,deleteIssueTypeFieldValuesMany:Ie.deleteMany}}),{initializeIssueTypeFieldValues:Qo,addIssueTypeFieldValues:ba,addIssueTypeFieldValuesMany:Qy,setIssueTypeFieldValues:xy,setIssueTypeFieldValuesMany:eS,updateIssueTypeFieldValues:nt,updateIssueTypeFieldValuesMany:tS,deleteIssueTypeFieldValues:Pa,deleteIssueTypeFieldValuesMany:sS}=ga.actions,xo=t=>t.issueTypeFieldValuesReducer.instances,Fa=d.createSelector([xo],t=>Object.values(t)),iS=y(d.createSelector([Fa,(t,e)=>e],(t,e)=>g(t.filter(i=>i.issue===e)))),Ta=t=>e=>e.issueTypeFieldValuesReducer.instances[t],el=ga.reducer,Oe=I(t=>t.uuid),tl=Oe.getInitialState({}),Ia=d.createSlice({name:"issueTypeFields",initialState:tl,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,tl)),reducers:{initializeIssueTypeFields:Oe.initialize,addIssueTypeFields:Oe.addOne,addIssueTypeFieldsMany:Oe.addMany,setIssueTypeFields:Oe.setOne,setIssueTypeFieldsMany:Oe.setMany,updateIssueTypeFields:Oe.updateOne,updateIssueTypeFieldsMany:Oe.updateMany,deleteIssueTypeFields:Oe.deleteOne,deleteIssueTypeFieldsMany:Oe.deleteMany}}),{initializeIssueTypeFields:sl,addIssueTypeFields:il,addIssueTypeFieldsMany:aS,setIssueTypeFields:cS,setIssueTypeFieldsMany:nS,updateIssueTypeFields:al,updateIssueTypeFieldsMany:rS,deleteIssueTypeFields:cl,deleteIssueTypeFieldsMany:dS}=Ia.actions,nl=t=>t.issueTypeFieldsReducer.instances,Vt=d.createSelector([nl],t=>Object.values(t)),uS=y(d.createSelector([Vt,(t,e)=>e],(t,e)=>g(t.filter(i=>i.issue_type===e)))),oS=y(d.createSelector([Vt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),lS=y(d.createSelector([Vt,Fa,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(c=>c.issue_type===i).map(c=>c.uuid));return g(e.filter(c=>a.has(c.fields_revision)))})),hS=t=>e=>e.issueTypeFieldsReducer.instances[t],rl=Ia.reducer,_e=I(t=>t.uuid),dl=_e.getInitialState({}),Oa=d.createSlice({name:"issueTypeFieldValuesAttachments",initialState:dl,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,dl)),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:ul,addIssueTypeFieldValuesAttachment:mS,addIssueTypeFieldValuesAttachments:zt,setIssueTypeFieldValuesAttachment:pS,setIssueTypeFieldValuesAttachments:AS,updateIssueTypeFieldValuesAttachment:fS,updateIssueTypeFieldValuesAttachments:ol,deleteIssueTypeFieldValuesAttachment:yS,deleteIssueTypeFieldValuesAttachments:Ut}=Oa.actions,ll=t=>t.issueTypeFieldValuesAttachmentReducer.instances,_a=d.createSelector([ll],t=>Object.values(t)),SS=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],hl=y(d.createSelector([_a,(t,e)=>e],(t,e)=>{const i=new Set(e);return g(t.filter(a=>i.has(a.uuid)))})),ml=y(d.createSelector([_a,(t,e)=>e],(t,e)=>g(t.filter(i=>i.field_values===e)))),pl=Oa.reducer,C=I(t=>t.uuid),Al=C.getInitialState({}),Ra=d.createSlice({name:"issueTypes",initialState:Al,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Al)),reducers:{initializeIssueTypes:C.initialize,addIssueType:C.addOne,addIssueTypes:C.addMany,setIssueType:C.setOne,setIssueTypes:C.setMany,updateIssueType:C.updateOne,updateIssueTypes:C.updateMany,deleteIssueType:C.deleteOne,deleteIssueTypes:C.deleteMany,removeIssueType:C.deleteOne}}),{initializeIssueTypes:fl,addIssueType:yl,addIssueTypes:gS,setIssueType:rt,setIssueTypes:bS,updateIssueType:Sl,updateIssueTypes:PS,deleteIssueType:FS,deleteIssueTypes:TS,removeIssueType:va}=Ra.actions,wa=t=>t.issueTypeReducer.instances,gl=d.createSelector(wa,t=>Object.values(t)),Ma=t=>e=>e.issueTypeReducer.instances[t],IS=y(d.createSelector([wa,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c?i.push(c):console.warn("selectIssueTypesByIds: No issue type exists with the id",a)}return i})),OS=y(d.createSelector([gl,(t,e)=>e],(t,e)=>g(t.filter(i=>i.organization===e)))),bl=Ra.reducer,Re=I(t=>t.uuid),Pl=Re.getInitialState({}),Ea=d.createSlice({name:"issueUpdates",initialState:Pl,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,Pl)),reducers:{initializeIssueUpdates:Re.initialize,addIssueUpdate:Re.addOne,addIssueUpdates:Re.addMany,setIssueUpdate:Re.setOne,setIssueUpdates:Re.setMany,updateIssueUpdate:Re.updateOne,updateIssueUpdates:Re.updateMany,deleteIssueUpdate:Re.deleteOne,deleteIssueUpdates:Re.deleteMany}}),{initializeIssueUpdates:Fl,addIssueUpdate:Tl,addIssueUpdates:Il,setIssueUpdate:_S,setIssueUpdates:RS,updateIssueUpdate:vS,updateIssueUpdates:wS,deleteIssueUpdate:Ol,deleteIssueUpdates:_l}=Ea.actions,Rl=t=>t.issueUpdateReducer.instances,vl=d.createSelector([Rl],t=>Object.values(t)),wl=y(d.createSelector([vl,(t,e)=>e],(t,e)=>g(t.filter(i=>i.issue===e)))),Ml=Ea.reducer,ve=I(t=>t.id),El=ve.getInitialState({currentUser:null}),ja=d.createSlice({name:"users",initialState:El,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,El)),reducers:{initializeUsers:ve.initialize,setUsers:ve.setMany,setUser:ve.setOne,addUsers:ve.addMany,addUser:ve.addOne,updateUsers:ve.updateMany,updateUser:ve.updateOne,deleteUser:ve.deleteOne,deleteUsers:ve.deleteMany,setCurrentUser:(t,e)=>{t.currentUser=e.payload},setProfilePicture:(t,e)=>{if(!t.currentUser)return;t.currentUser.profile.file=e.payload.file??null,t.currentUser.profile.file_sha1=e.payload.file_sha1??null;const i=t.instances[t.currentUser.id];if(!i)throw new Error("Unable to find current user in users slice");i.profile.file=e.payload.file??null,i.profile.file_sha1=e.payload.file_sha1??null}}}),{initializeUsers:jl,setUsers:MS,setUser:ES,addUsers:jS,addUser:ql,updateUsers:qS,updateUser:VS,deleteUser:Vl,deleteUsers:zS,setCurrentUser:US,setProfilePicture:DS}=ja.actions,zl=ja.reducer,Ul=t=>t.userReducer.currentUser,Dt=t=>t.userReducer.instances,qa=d.createSelector([Dt],t=>Object.values(t)),Dl=t=>e=>e.userReducer.instances[t],CS=y(d.createSelector([Dt,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c?i.push(c):console.warn("selectUsersByIds: No user exists with the id",a)}return g(i)})),we=I(t=>t.uuid),Cl=we.getInitialState({}),Va=d.createSlice({name:"organizationAccess",initialState:Cl,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Cl)),reducers:{initializeOrganizationAccesses:we.initialize,addOrganizationAccess:we.addOne,addOrganizationAccesses:we.addMany,setOrganizationAccess:we.setOne,setOrganizationAccesses:we.setMany,updateOrganizationAccess:we.updateOne,updateOrganizationAccesses:we.updateMany,deleteOrganizationAccess:we.deleteOne,deleteOrganizationAccesses:we.deleteMany}}),{initializeOrganizationAccesses:kl,addOrganizationAccess:Bl,addOrganizationAccesses:kS,setOrganizationAccess:BS,setOrganizationAccesses:GS,updateOrganizationAccess:Ct,updateOrganizationAccesses:$S,deleteOrganizationAccess:Gl,deleteOrganizationAccesses:LS}=Va.actions,$l=Va.reducer,za=t=>t.organizationAccessReducer.instances,Ua=t=>e=>e.organizationAccessReducer.instances[t],NS=d.createSelector([Ul,za],(t,e)=>Object.values(e).find(a=>a.user===(t==null?void 0:t.id))??null),Ll=d.createSelector([za],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return ht(e)}),HS=y(d.createSelector([Dt,Ll,(t,e)=>e],(t,e,i)=>g(Object.values(t).filter(a=>{const c=e[a.id];return!!c&&c.organization===i})))),Me=I(t=>t.uuid),Nl=Me.getInitialState({}),Da=d.createSlice({name:"organizations",initialState:Nl,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Nl)),reducers:{initializeOrganizations:Me.initialize,setOrganizations:Me.setMany,setOrganization:Me.setOne,addOrganizations:Me.addMany,addOrganization:Me.addOne,updateOrganizations:Me.updateMany,updateOrganization:Me.updateOne,deleteOrganization:Me.deleteOne,deleteOrganizations:Me.deleteMany}}),{initializeOrganizations:Hl,setOrganizations:WS,setOrganization:YS,addOrganizations:KS,addOrganization:Wl,updateOrganizations:ZS,updateOrganization:Yl,deleteOrganization:JS,deleteOrganizations:XS}=Da.actions,Kl=t=>t.organizationReducer.instances,QS=d.createSelector([Kl],t=>Object.values(t)),xS=t=>e=>e.organizationReducer.instances[t],Zl=Da.reducer,Jl=(t,e,i)=>{const a=t.uuid?t:{...t,uuid:Ne.v4()};return{payload:a,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:a,BASE_URL:e,serviceName:i}}}}},Xl={deletedRequests:[],latestRetryTime:0},Ca=d.createSlice({name:"outbox",initialState:Xl,extraReducers:t=>t.addCase(F,e=>Object.assign(e,Xl)),reducers:{enqueueRequest:{reducer:(t,e)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t);const{BASE_URL:e,serviceName:i,...a}=t;return Jl(a,e,i)}},markForDeletion(t,e){t.deletedRequests.push(e.payload)},markAsDeleted(t,e){const i=t.deletedRequests.indexOf(e.payload);i!==-1&&t.deletedRequests.splice(i,1)},_setLatestRetryTime:(t,e)=>{t.latestRetryTime=e.payload}}}),eg=t=>t.outboxReducer.deletedRequests,tg=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:Ql,markForDeletion:sg,markAsDeleted:xl,_setLatestRetryTime:eh}=Ca.actions,th=Ca.reducer,Ee=I(t=>t.uuid),sh=Ee.getInitialState({}),ka=d.createSlice({name:"projectAccess",initialState:sh,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,sh)),reducers:{initializeProjectAccesses:Ee.initialize,addProjectAccess:Ee.addOne,addProjectAccesses:Ee.addMany,setProjectAccess:Ee.setOne,setProjectAccesses:Ee.setMany,updateProjectAccess:Ee.updateOne,updateProjectAccesses:Ee.updateMany,deleteProjectAccess:Ee.deleteOne,deleteProjectAccesses:Ee.deleteMany}}),{initializeProjectAccesses:ih,addProjectAccess:Ba,addProjectAccesses:ah,setProjectAccess:ig,setProjectAccesses:ag,updateProjectAccess:dt,updateProjectAccesses:cg,deleteProjectAccess:Ga,deleteProjectAccesses:ch}=ka.actions,nh=ka.reducer,$a=t=>t.projectAccessReducer.instances,kt=d.createSelector($a,t=>Object.values(t)),La=t=>e=>e.projectAccessReducer.instances[t],rh=y(d.createSelector([$a,(t,e)=>e],(t,e)=>g(Object.values(t).filter(i=>i.project===e)))),ng=y(d.createSelector([kt,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(c=>c.project===e))i[a.user]=a;return i})),rg=y(d.createSelector([qa,kt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(c=>c.project===i).map(c=>c.user));return g(t.filter(c=>a.has(c.id)))})),je=I(t=>t.uuid),dh=je.getInitialState({}),Na=d.createSlice({name:"projectAttachments",initialState:dh,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,dh)),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:uh,addProjectAttachment:dg,addProjectAttachments:oh,setProjectAttachment:lh,setProjectAttachments:hh,updateProjectAttachment:ug,updateProjectAttachments:mh,deleteProjectAttachment:ph,deleteProjectAttachments:Ha}=Na.actions,Ah=t=>t.projectAttachmentReducer.instances,fh=d.createSelector([Ah],t=>Object.values(t)),yh=t=>e=>e.projectAttachmentReducer.instances[t],Sh=y(d.createSelector([fh,(t,e)=>e],(t,e)=>g(t.filter(({project:i})=>e===i)))),gh=Na.reducer,qe=I(t=>t.uuid),bh=qe.getInitialState({activeProjectFileId:null,isImportingProjectFile:!1}),Wa=d.createSlice({name:"projectFiles",initialState:bh,extraReducers:t=>t.addMatcher(d.isAnyOf(F,M,O),e=>Object.assign(e,bh)),reducers:{initializeProjectFiles:qe.initialize,setProjectFile:qe.setOne,setProjectFiles:qe.setMany,addProjectFile:qe.addOne,addProjectFiles:qe.addMany,updateProjectFile:qe.updateOne,updateProjectFiles:qe.updateMany,deleteProjectFile:qe.deleteOne,deleteProjectFiles:qe.deleteMany,setIsImportingProjectFile:(t,e)=>{t.isImportingProjectFile=e.payload},saveActiveProjectFileBounds:(t,e)=>{const i=t.activeProjectFileId;if(!i)throw new Error("Tried to save bounds for active project file, but no active project file was set.");if(!t.instances[i])throw new Error(`Tried to save bounds for active project file, but project file with ID ${i}
|
|
2
|
-
doesn't exist.`);t.instances[i].bounds=e.payload},setActiveProjectFileId:(t,e)=>{t.activeProjectFileId=e.payload},resetProjectFileObjectUrls:(t,...e)=>{for(const i in t.instances)delete t.instances[i].objectURL}}}),{initializeProjectFiles:Ph,setProjectFile:og,setProjectFiles:lg,addProjectFile:hg,addProjectFiles:Fh,updateProjectFile:Ya,updateProjectFiles:mg,deleteProjectFile:Th,deleteProjectFiles:Ih,setIsImportingProjectFile:Oh,setActiveProjectFileId:_h,saveActiveProjectFileBounds:Rh,resetProjectFileObjectUrls:pg}=Wa.actions,vh=t=>t.projectFileReducer.instances,wh=d.createSelector([vh],t=>g(Object.values(t).sort((e,i)=>e.z_index-i.z_index))),Ag=t=>e=>e.projectFileReducer.instances[t],fg=t=>t.projectFileReducer.activeProjectFileId,yg=t=>t.projectFileReducer.isImportingProjectFile,Mh=Wa.reducer,Ve=I(t=>t.uuid),Eh=Ve.getInitialState({}),Ka=d.createSlice({name:"projects",initialState:Eh,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Eh)),reducers:{initializeProjects:Ve.initialize,setProjects:Ve.setMany,setProject:Ve.setOne,addProjects:Ve.addMany,addProject:Ve.addOne,updateProjects:Ve.updateMany,updateProject:Ve.updateOne,deleteProject:Ve.deleteOne,deleteProjects:Ve.deleteMany}}),{initializeProjects:jh,setProjects:Sg,setProject:gg,addProjects:bg,addProject:Za,updateProjects:Pg,updateProject:qh,deleteProject:Ja,deleteProjects:Fg}=Ka.actions,Vh=Ka.reducer,zh=t=>t.projectReducer.instances,Xa=d.createSelector([zh],t=>g(Object.values(t))),Uh=t=>e=>e.projectReducer.instances[t],Tg=y(d.createSelector([Xa,kt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(c=>c.user===i).map(c=>c.project));return g(t.filter(c=>a.has(c.uuid)))})),Ig=y(d.createSelector([Xa,(t,e)=>e],(t,e)=>g(t.filter(i=>i.organization_owner===e)))),Og={isRehydrated:!1},Qa=d.createSlice({name:"rehydrated",initialState:Og,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:_g}=Qa.actions,Rg=t=>t.rehydratedReducer.isRehydrated,Dh=Qa.reducer,ze=I(t=>t.uuid),Ch=ze.getInitialState({}),xa=d.createSlice({name:"teamMemberships",initialState:Ch,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Ch)),reducers:{initializeTeamMemberships:ze.initialize,addTeamMembership:ze.addOne,addTeamMemberships:ze.addMany,setTeamMembership:ze.setOne,setTeamMemberships:ze.setMany,updateTeamMembership:ze.updateOne,updateTeamMemberships:ze.updateMany,deleteTeamMembership:ze.deleteOne,deleteTeamMemberships:ze.deleteMany}}),{initializeTeamMemberships:kh,addTeamMembership:Bh,addTeamMemberships:vg,setTeamMembership:ec,setTeamMemberships:wg,updateTeamMembership:Mg,updateTeamMemberships:Eg,deleteTeamMembership:tc,deleteTeamMemberships:jg}=xa.actions,Gh=xa.reducer,$h=t=>t.teamMembershipReducer.instances,sc=d.createSelector([$h],t=>Object.values(t)),Lh=t=>e=>e.teamMembershipReducer.instances[t],qg=y(d.createSelector([sc,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(c=>c.team===e))i[a.user]=a;return i})),Vg=y(d.createSelector([qa,sc,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(c=>c.team===i).map(c=>c.user));return g(t.filter(c=>a.has(c.id)))})),Ue=I(t=>t.uuid),Nh=Ue.getInitialState({}),ic=d.createSlice({name:"teams",initialState:Nh,extraReducers:t=>t.addMatcher(d.isAnyOf(F,O),e=>Object.assign(e,Nh)),reducers:{initializeTeams:Ue.initialize,addTeam:Ue.addOne,addTeams:Ue.addMany,setTeam:Ue.setOne,setTeams:Ue.setMany,updateTeam:Ue.updateOne,updateTeams:Ue.updateMany,deleteTeam:Ue.deleteOne,deleteTeams:Ue.deleteMany}}),{initializeTeams:Hh,addTeam:Wh,addTeams:zg,setTeam:ut,setTeams:Ug,updateTeam:Yh,updateTeams:Dg,deleteTeam:ac,deleteTeams:Cg}=ic.actions,cc=t=>t.teamReducer.instances,Kh=d.createSelector([cc],t=>Object.values(t)),nc=t=>e=>e.teamReducer.instances[t],kg=y(d.createSelector([cc,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const c=t[a];c?i.push(c):console.warn("selectTeamsByIds: No team exists with the id",a)}return g(i)})),Bg=y(d.createSelector([Kh,(t,e)=>e],(t,e)=>g(t.filter(i=>i.organization===e)))),Zh=ic.reducer,Gg={version:0},Jh=d.createSlice({name:"versioning",initialState:Gg,reducers:{}}),Xh=Jh.reducer,rc={outboxReducer:th,fileReducer:au,authReducer:Id},$g=d.combineReducers(rc),Qh={...rc,[Ze]:Xh,categoryReducer:Md,assetReducer:br,assetAttachmentReducer:$c,assetStageCompletionReducer:Or,assetStageReducer:Er,assetTypeReducer:Pd,assetTypeAttachmentReducer:$r,issueReducer:jo,issueAttachmentReducer:ho,issueTypeReducer:bl,issueTypeAttachmentReducer:$o,organizationReducer:Zl,projectReducer:Vh,projectAttachmentReducer:gh,projectAccessReducer:nh,organizationAccessReducer:$l,projectFileReducer:Mh,rehydratedReducer:Dh,formReducer:Pu,formRevisionReducer:Su,formRevisionAttachmentReducer:lu,formSubmissionAttachmentReducer:Eu,formSubmissionReducer:Cu,userReducer:zl,emailDomainsReducer:xd,documentsReducer:Wd,documentAttachmentReducer:Gd,teamReducer:Zh,agentsReducer:qc,issueCommentReducer:_o,issueCommentAttachmentReducer:Fo,issueUpdateReducer:Ml,geoImageReducer:Ku,issueAssociationReducer:so,issueTypeFieldsReducer:rl,issueTypeFieldValuesReducer:el,issueTypeFieldsAttachmentReducer:Jo,issueTypeFieldValuesAttachmentReducer:pl,assetTypeFieldsReducer:id,assetTypeFieldValuesReducer:yd,assetTypeFieldsAttachmentReducer:Jr,assetTypeFieldValuesAttachmentReducer:od,assetProcedureReducer:Cn,assetProcedureInstanceReducer:Vn,assetProcedureFieldsReducer:An,assetProcedureFieldValuesReducer:vn,assetProcedureFieldsAttachmentReducer:dn,assetProcedureFieldValuesAttachmentReducer:Fn,assetProcedureAttachmentReducer:Jc,assetProcedureStepFieldsAttachmentReducer:Yn,assetProcedureStepFieldsReducer:Jn,assetProcedureStepFieldValuesAttachmentReducer:ir,assetProcedureStepFieldValuesReducer:or,assetProcedureStepReducer:pr,teamMembershipReducer:Gh},Lg=d.combineReducers(Qh);function Ng(t,e){return Am.useMemo(t,e)}class Hg{constructor(e){S(this,"operations",[]);S(this,"getData");this.getData=e}performOperations(e){let i=e;for(const a of this.operations)i=a(i);return i}filter(e,i){return this.operations.push(a=>a.filter(c=>c[e]===i)),this}exclude(e,i){return this.operations.push(a=>a.filter(c=>c[e]!==i)),this}orderBy(e){return this.operations.push(i=>[...i].sort((a,c)=>a[e]<=c[e]?1:-1)),this}reverse(){return this.operations.push(e=>[...e].reverse()),this}all(){return this.operations.push(e=>e),this}get(e,i){return d.createSelector([this.getData],a=>this.performOperations(a).find(c=>c[e]===i))}count(){return d.createSelector([this.getData],e=>this.performOperations(e).length)}first(){return d.createSelector([this.getData],e=>this.performOperations(e)[0])}last(){return d.createSelector([this.getData],e=>{const i=this.performOperations(e);return i[i.length-1]})}exists(){return d.createSelector([this.getData],e=>this.performOperations(e).length>0)}toSelector(){return d.createSelector([this.getData],e=>g(this.performOperations(e)))}}let xh;function Wg(t){xh=t}function ot(){return xh}let em;function Yg(t){em=t}function Kg(){return em}const tm={};class sm{constructor(e){S(this,"client");tm[this.constructor.name]=this,this.client=e}async enqueueRequest(e,i){return this.client.enqueueRequest(e,this.host,this.constructor.name,i)}async performPagination(e,i,a){const c=[];let n=await this.client.enqueueRequest(e,this.host,this.constructor.name,a);for(c.push(n.results);n.next;)n=await this.client.enqueueRequest(i(n.next),this.host,this.constructor.name,a),c.push(n.results);return c}dispatch(e){this.client.store.dispatch(e)}}const im=()=>nm.length-1,am=t=>(t[Ze]={version:im()},t),cm=()=>am({}),Zg=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),Jg=t=>e=>{var i;return e===void 0&&(e={}),((i=e[Ze])==null?void 0:i.version)===im()?e:t(e)},nm=[am,cm,cm,Zg],Xg=Object.fromEntries(nm.map((t,e)=>[e,Jg(t)]));let dc=null;function Ge(){const t=ot();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(dc)return dc;const e=t.getState().offline.outbox,i=Ke._fromOutbox(e);return dc=i,i}const Qg=t=>{if(t)throw t;const e=ot();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},rm=(t,e,i)=>{const a=Ge();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},dm=(t,e,i)=>{const a=Ge();if(!a)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const n=e.meta.offlineAction.payload.uuid;return a.remove(n),a.getQueue()};async function xg(t,e){if(!e.payload)throw new Error("Received empty payload");return db(e)}const eb={...pc,effect:xg,discard:oc,returnPromises:!0,persistCallback:Qg,retry:ob,persistOptions:{storage:ym},queue:{...pc.queue,enqueue:rm,dequeue:dm,peek:(...t)=>ub(...t)}},tb=Sm(Xg,Ze),sb=d.compose(fm.offline(eb),tb);function ib(t){function e(i){return typeof i=="object"&&i!==null&&["ok","redirect","clientError","serverError","error"].every(c=>c in i)}if(e(t))return t;if(typeof t=="object"&&t!==null){const i=t;if(e(i.response))return i.response;if(i.response&&e(i.response.response))return i.response.response}}async function uc(t,e,i){const a=tm[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);const c=a instanceof v;if(e.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");c&&t.payload.checkAuth!==!1&&await a.auth.prepareAuth();const r={queryParams:"",isAuthNeeded:!0},l=t.meta.offline.effect,{payload:m,headers:u,method:o,queryParams:p,attachmentHash:A,isExternalUrl:f,isAuthNeeded:b,isResponseBlob:P}={...r,...l.request},_=l.request;let R=_.url;const z=A?await e.files.fetchCache(A):void 0;if(A&&!z)throw new Error(`Cannot upload file ${A} because it's not cached.`);!f&&!R.startsWith("http")&&(!R.startsWith("/")&&!R.startsWith("blob:")&&(R="/"+R),R=t.meta.offline.effect.BASE_URL+R);const De=V=>{if(A){const Ce=_.s3url;if(!Ce)throw new Error(`No S3 URL for file ${A}`);if("warning"in Ce)throw new Error(`S3 URL warning for file ${A}`);if(!z)throw new Error(`No file for file ${A}`);const lt=Ce.fields["x-amz-checksum-sha1"];if(!lt)throw new Error(`No checksum for file ${A}`);return V.set("x-amz-checksum-sha1",lt).field({...m,...Ce.fields}).attach("file",z)}return V.send(m)},IP={[h.GET]:()=>P?Le.get(R.toString()).responseType("blob"):Le.get(R.toString()),[h.POST]:()=>{const V=Le.post(R.toString());return De(V)},[h.PATCH]:()=>{const V=Le.patch(R.toString());return De(V)},[h.PUT]:()=>{const V=Le.put(R.toString());return De(V)},[h.DELETE]:()=>{const V=Le.delete(R.toString());return De(V)}}[o];let Be=IP();if(i==null||i.addEventListener("abort",()=>{console.debug("aborting request:",_),Be.abort()}),b&&c){const V=a.auth.getAuthHeader();Be=Be.set("Authorization",V)}u&&(Be=Be.set(u));try{return await Be.query(p)}catch(V){const Ce=ib(V),lt=Ce==null?void 0:Ce.status;if(c&<===401)return await a.auth.handleUnauthorized(Be,Ce),Be.query(p);throw new D({response:Ce,innerError:V,discard:om.includes(lt)})}}class ab{constructor(e){S(this,"_all");S(this,"_previous");this._all=[e],this._previous=e,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(e){return this._previous&&(this._previous.next=e),this._all.push(e),this._previous=e,{then:this.then,compile:this.compile}}compile(){return this._all}}class um{constructor(){S(this,"next");this.next=null}then(e){return new ab(this).then(e)}async run(e){if(this.next)return this.next.run(e);{if(console.debug("Middleware finished. Performing request:",e),!ot())throw new Error("Client store not set");const a=Kg();if(!a)throw new Error("Client SDK not set");return uc(e,a)}}}class cb extends um{async run(e){return super.run(e)}}class nb extends um{async run(e){return super.run(e)}}const rb=new cb().then(new nb).compile();function db(t){var e;return(e=rb[0])==null?void 0:e.run(t)}const om=[400,409,403,404,405,500];function oc(t,e,i=0){var u;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
`)
|
|
7
|
-
`):`${c}: ${JSON.stringify(n)}`).join(`
|
|
8
|
-
`)}catch(c){console.error("Failed to extract error message from response body",c)}}else typeof t.body=="string"&&(i=t.body);else t!=null&&t.text?i=t.text:e instanceof Error&&(i=e.message);return!i||i.length>lb?Ye:i}class D extends Error{constructor(i){super(Ye);S(this,"status");S(this,"response");S(this,"message");S(this,"options");const{response:a,innerError:c}=i;this.message=i.message??hb(a,c)??Ye,this.status=(a==null?void 0:a.status)??0,this.response=a,i.discard=i.discard??!1,this.options=i}}class mb extends sm{constructor(e){super(e)}}class v extends sm{constructor(i,a){super(i);S(this,"auth");this.auth=a}}class pb extends v{async startConversation(e,i){return this.enqueueRequest({description:"Start agent conversation",method:h.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:i},blockers:["prompt"],blocks:["prompt"]}).then(a=>(this.dispatch(Mc(a)),a))}async continueConversation(e,i,a){return this.enqueueRequest({description:"Prompt agent",method:h.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:a},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:i}}).then(c=>{this.dispatch(jc(c))})}async fetchDetails(e){return this.enqueueRequest({description:"Get agent conversation",method:h.GET,url:`/agents/conversations/${e}/`,blockers:["conversation"],blocks:["conversation"]}).then(i=>{this.dispatch(Ec(i))})}async rate(e,i){return this.enqueueRequest({description:"Rate agent response",method:h.PUT,url:`/agents/responses/${e}/rate/`,payload:{rating:i},blockers:["rate"],blocks:["rate"]})}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get agent conversation history",method:h.GET,url:"/agents/conversations/",queryParams:{project:e},blockers:["agent-conversations"],blocks:["agent-conversations"]},i);return this.dispatch(wc(a)),a}}const Ab=5e4,E=1e3,fb="limit";class q extends v{getNumberOfAttachmentsWithSha1(e){const{issueAttachmentReducer:i,assetAttachmentReducer:a,assetTypeAttachmentReducer:c,documentAttachmentReducer:n,projectAttachmentReducer:r,formRevisionAttachmentReducer:l,formSubmissionAttachmentReducer:m,geoImageReducer:u,assetTypeFieldsAttachmentReducer:o,assetTypeFieldValuesAttachmentReducer:p,issueTypeFieldsAttachmentReducer:A,issueTypeFieldValuesAttachmentReducer:f}=this.client.store.getState();return[].concat(Object.values(i.instances),Object.values(a.instances),Object.values(c.instances),Object.values(n.instances),Object.values(r.instances),Object.values(l.instances),Object.values(m.instances),Object.values(u.instances),Object.values(o.instances),Object.values(p.instances),Object.values(A.instances),Object.values(f.instances)).filter(P=>P.file_sha1===e).length}processPresignedUrls(e){const i={};for(const[a,c]of Object.entries(e))i[a]=this.enqueueRequest({url:c.url,description:"Upload file to S3",method:h.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:a,blockers:[`s3-${c.fields.key}`],blocks:[a],s3url:c});return i}async getFilePayload(e){const i=await He(e),a={sha1:i,file_type:e.type,extension:e.name.split(".").pop(),size:e.size};return await this.client.files.addCache(e,i),a}}class ke extends q{async _bulkAdd(e){var u;const{store:i}=this.client,a=(u=i.getState().userReducer.currentUser)==null?void 0:u.id,c=new Date().toISOString(),n=[],r=[],l={};for(const o of e){const{modelUuid:p,file:A}=o,f=await this.getFilePayload(A);f.sha1 in l||(l[f.sha1]=f);const b=this.buildOfflineAttachment({file:A,file_sha1:f.sha1,submitted_at:c,created_by:a,description:"",modelUuid:p});n.push(b),r.push(this.buildAttachmentPayload({uuid:b.uuid,file_name:b.file_name,file_sha1:b.file_sha1,file_extension:f.extension,description:b.description,modelUuid:p}))}this.dispatch(this.addAttachments(n));const m=this.enqueueRequest({description:`Add ${this.name}`,method:h.POST,url:`${this.url}/bulk/`,payload:{submitted_at:c,attachments:r,files:Object.values(l)},blocks:n.map(o=>o.uuid),blockers:n.map(o=>o.file_sha1)});return m.then(({attachments:o,presigned_urls:p})=>{this.dispatch(this.updateAttachments(o)),this.processPresignedUrls(p)}).catch(()=>{this.dispatch(this.removeAttachments(n.map(o=>o.uuid)))}),[n,m.then(({attachments:o})=>o)]}async _delete(e){const{store:i}=this.client,a=this.selectAttachment(e)(i.getState());if(!a)throw new Error(`Attempting to delete attachment with uuid ${e} that does not exist in the store`);this.dispatch(this.removeAttachment(a.uuid));const c=this.enqueueRequest({description:`Delete ${this.name}`,method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return c.then(()=>{this.getNumberOfAttachmentsWithSha1(a.file_sha1)===0&&this.client.files.removeCache(a.file_sha1)}).catch(()=>{this.dispatch(this.setAttachment(a))}),c}}class yb extends ke{constructor(){super(...arguments);S(this,"name","Asset Attachment");S(this,"url","/asset-attachments");S(this,"initializeAttachments",Xt);S(this,"addAttachments",Qt);S(this,"updateAttachments",Uc);S(this,"removeAttachments",xt);S(this,"removeAttachment",Dc);S(this,"setAttachment",zc);S(this,"selectAttachment",Bc)}buildOfflineAttachment(i){return T({file:URL.createObjectURL(i.file),file_sha1:i.file_sha1,created_by:i.created_by,file_name:i.file.name,file_type:i.file.type,submitted_at:i.submitted_at,description:i.description,asset:i.modelUuid})}buildAttachmentPayload(i){return{...i,asset:i.modelUuid}}async bulkAdd(i){return this._bulkAdd(i.map(a=>({modelUuid:a.assetUuid,file:a.file})))}async delete(i){return this._delete(i)}async refreshStore(i,a){const n=(await this.performPagination({immediate:!0,description:"Get asset attachments",method:h.GET,url:`${this.url}/`,queryParams:{limit:E,paginate:!0,asset__project:i},blocks:[],blockers:[]},r=>({immediate:!0,description:"Get asset attachments",method:h.GET,url:r,blockers:[],blocks:[]}),a)).flat();return this.dispatch(Xt(n)),n}}class Sb extends ke{constructor(){super(...arguments);S(this,"name","Asset Procedure Attachment");S(this,"url","/asset-procedure-attachments");S(this,"addAttachments",Hc);S(this,"updateAttachments",Yc);S(this,"removeAttachments",Zc);S(this,"removeAttachment",Kc);S(this,"setAttachment",Wc);S(this,"selectAttachment",xc)}buildOfflineAttachment(i){return T({file:URL.createObjectURL(i.file),file_sha1:i.file_sha1,created_by:i.created_by,file_name:i.file.name,file_type:i.file.type,submitted_at:i.submitted_at,description:i.description,asset_procedure:i.modelUuid})}buildAttachmentPayload(i){return{...i,asset_procedure:i.modelUuid}}async bulkAdd(i){return this._bulkAdd(i.map(a=>({modelUuid:a.assetProcedureUuid,file:a.file})))}async delete(i){return this._delete(i)}async refreshStore(i,a){const c=await this.enqueueRequest({immediate:!0,description:"Get asset procedure attachments",method:h.GET,url:`${this.url}/`,queryParams:{asset_procedure__organization:i},blocks:[],blockers:[]},a);return this.dispatch(Nc(c)),c}}class gb extends q{async bulkAdd(e){var m;const i=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,c={},n=[],r=[];for(const u of e){const{fieldsRevisionUuid:o,fieldIdentifier:p,file:A}=u,f=await this.getFilePayload(A);f.sha1 in c||(c[f.sha1]=f);const b=T({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:f.sha1,created_by:a,fields_revision:o,submitted_at:i,field_identifier:p});n.push(b);const P={uuid:b.uuid,file_name:A.name,field_identifier:p,file_extension:f.extension,file_sha1:f.sha1,fields_revision:o};r.push(P)}this.dispatch(sn(n));const l=this.enqueueRequest({description:"Add asset procedure fields attachments",method:h.POST,url:"/asset-procedure-fields-attachments/bulk/",payload:{submitted_at:i,attachments:r,files:Object.values(c)},blockers:n.map(u=>u.fields_revision),blocks:n.map(u=>u.uuid)});return l.then(u=>{this.processPresignedUrls(u.presigned_urls),this.dispatch(an(u.attachments))}).catch(()=>{this.dispatch(cn(n.map(u=>u.uuid)))}),[n,l.then(({attachments:u})=>u)]}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get asset procedure fields attachments",method:h.GET,url:"/asset-procedure-fields-attachments/",queryParams:{fields_revision__asset_procedure__organization:e},blockers:[],blocks:[]},i);return this.dispatch(tn(a)),a}}class bb extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(ln(n));const r=this.enqueueRequest({description:"Add Asset Procedure Fields",method:h.POST,url:"/asset-procedure-fields/",payload:w(n),blockers:[n.asset_procedure],blocks:[n.uuid]});return r.then(m=>{this.dispatch(hn(m))}).catch(m=>{throw this.dispatch(mn(n.uuid)),m}),[n,r]}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get Asset Procedure Fields",method:h.GET,url:"/asset-procedure-fields/",queryParams:{asset_procedure__organization:e},blockers:[],blocks:[]},i);return this.dispatch(on(a)),a}}function $e(t,e){const i=[];let a=0;const c=t.length;for(;a<c;)i.push(t.slice(a,a+=e));return i}class Pb extends q{async bulkAdd(e,i){var u;const a=new Date().toISOString(),c=(u=this.client.store.getState().userReducer.currentUser)==null?void 0:u.id,n=$e(e,i??e.length),r=[],l=[];for(const o of n){const p={},A=[];for(const f of o){const{fieldValuesUuid:b,fieldIdentifier:P,file:_}=f,R=await this.getFilePayload(_);R.sha1 in p||(p[R.sha1]=R);const z=T({file:URL.createObjectURL(_),file_type:_.type,file_name:_.name,file_sha1:R.sha1,created_by:c,field_values:b,submitted_at:a,field_identifier:P});r.push(z);const De={uuid:z.uuid,file_name:_.name,file_sha1:R.sha1,file_extension:R.extension,field_identifier:P,field_values:b};A.push(De)}l.push({submitted_at:a,attachments:A,files:Object.values(p)})}this.dispatch(mt(r));const m=l.map(o=>this.enqueueRequest({description:"Add asset procedure field values attachments",method:h.POST,url:"/asset-procedure-field-values-attachments/bulk/",payload:o,blockers:o.attachments.map(p=>p.field_values),blocks:o.attachments.map(p=>p.uuid)}));return Promise.all(m).then(o=>{for(const A of o)this.processPresignedUrls(A.presigned_urls);const p=o.flatMap(A=>A.attachments);this.dispatch(Sn(p))}).catch(o=>{throw this.dispatch(pt(r.map(p=>p.uuid))),o}),[r,m.map(o=>o.then(({attachments:p})=>p))]}async bulkDelete(e){const{store:i}=this.client,a=i.getState(),c=bn(e)(a);this.dispatch(pt(e));try{await this.enqueueRequest({description:"Delete asset procedure field values attachments",method:h.DELETE,url:"/asset-procedure-field-values-attachments/bulk/",payload:{uuids:e},blockers:e,blocks:[]})}catch(n){throw this.dispatch(mt(c)),n}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get asset procedure field values attachments",method:h.GET,url:"/asset-procedure-field-values-attachments/",queryParams:{limit:E,paginate:!0,field_values__asset_procedure_instance__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get asset procedure field values attachments",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(yn(c)),c}}class Fb extends v{add(e){var r;const{store:i}=this.client,a=i.getState(),c=T({...e,created_by:(r=a.userReducer.currentUser)==null?void 0:r.id,submitted_at:new Date().toISOString()}),n=this.enqueueRequest({description:"Add asset procedure field values",method:h.POST,url:"/asset-procedure-field-values/",payload:w(c),blockers:[e.asset,e.fields_revision,e.asset_procedure_instance],blocks:[c.uuid]});return this.dispatch(rs(c)),n.then(l=>(this.dispatch(Je(l)),l)).catch(()=>{this.dispatch(ds(c.uuid))}),[c,n]}bulkAdd(e,i){var m;const a=new Date().toISOString(),c=[],n=$e(e.payloads,i??e.payloads.length),r=[];for(const u of n){const o=[];for(const p of u){const A=T({...p,values:p.values,created_by:(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,submitted_at:a});c.push(A),o.push({uuid:A.uuid,asset:p.asset,fields_revision:p.fields_revision,asset_procedure_instance:p.asset_procedure_instance,published_at:p.published_at,values:A.values})}r.push({submitted_at:a,values:e.values,field_values:o})}this.dispatch(On(c));const l=[];for(const u of r){const o=u.field_values.map(P=>P.asset),p=u.field_values.map(P=>P.fields_revision),A=u.field_values.map(P=>P.asset_procedure_instance),f=u.field_values.map(P=>P.uuid),b=this.enqueueRequest({description:"Bulk add asset procedure field values",method:h.POST,url:"/asset-procedure-field-values/bulk/",payload:u,blockers:[...o,...p,...A],blocks:f});l.push(b)}return Promise.all(l).then(u=>{this.dispatch(_n(u.flat()))}).catch(()=>{this.dispatch(Rn(c.map(u=>u.uuid)))}),[c,l]}update(e){const{store:i}=this.client,a=i.getState(),c=os(e.uuid)(a);if(!c)throw new Error(`Expected AssetProcedureFieldValues with uuid ${e.uuid} to exist`);const n={...c,...e};this.dispatch(Je(n));const r=this.enqueueRequest({description:"Update asset procedure field values",method:h.PATCH,url:`/asset-procedure-field-values/${e.uuid}/`,payload:e,blockers:[n.fields_revision,n.asset,n.asset_procedure_instance],blocks:[n.uuid]});return r.then(l=>{this.dispatch(Je(l))}).catch(()=>{this.dispatch(Je(c))}),[n,r]}async delete(e){const{store:i}=this.client,a=i.getState(),c=os(e)(a);if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const n=Pn(e)(a);this.dispatch(ds(e)),this.dispatch(pt(n.map(r=>r.uuid)));try{await this.enqueueRequest({description:"Delete asset procedure field values",method:h.DELETE,url:`/asset-procedure-field-values/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(rs(c)),this.dispatch(mt(n)),r}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get asset procedure field values",method:h.GET,url:"/asset-procedure-field-values/",queryParams:{limit:E,paginate:!0,asset_procedure_instance__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get asset procedure field values",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(In(c)),c}}class Tb extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(hs(n));const r=this.enqueueRequest({description:"Create asset procedure instance",method:h.POST,url:"/asset-procedure-instances/",payload:w(n),blockers:[e.asset_procedure,e.asset_type],blocks:[n.uuid]});return r.then(m=>{this.dispatch(Xe(m))}).catch(()=>{this.dispatch(ms(n.uuid))}),[n,r]}update(e){const{store:i}=this.client,a=fs(e.uuid)(i.getState());if(!a)throw new Error(`Expected asset procedure instance with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(Xe(c));const n=this.enqueueRequest({description:"Update asset procedure instance",method:h.PATCH,url:`/asset-procedure-instances/${e.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return n.then(r=>{this.dispatch(Xe(r))}).catch(()=>{this.dispatch(Xe(a))}),[c,n]}async remove(e){const{store:i}=this.client,a=i.getState(),c=fs(e)(a);if(!c)throw new Error(`Expected asset procedure instance with uuid ${e} to exist`);return this.dispatch(ms(e)),this.enqueueRequest({description:"Delete asset procedure instance",method:h.DELETE,url:`/asset-procedure-instances/${e}/`,blockers:[e],blocks:[]}).catch(n=>{throw this.dispatch(hs(c)),n})}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get asset procedure instances",method:h.GET,url:"/asset-procedure-instances/",queryParams:{limit:E,paginate:!0,project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get asset procedure instances",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(En(c)),c}}class Ib extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(Ss(n));const r=this.enqueueRequest({description:"Create asset procedure",method:h.POST,url:"/asset-procedures/",payload:w(n),blockers:[],blocks:[n.uuid]});return r.then(m=>{this.dispatch(Qe(m))}).catch(()=>{this.dispatch(gs(n.uuid))}),[n,r]}update(e){const{store:i}=this.client,a=Ps(e.uuid)(i.getState());if(!a)throw new Error(`Expected asset procedure with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(Qe(c));const n=this.enqueueRequest({description:"Update asset procedure",method:h.PATCH,url:`/asset-procedures/${e.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return n.then(r=>{this.dispatch(Qe(r))}).catch(()=>{this.dispatch(Qe(a))}),[c,n]}async remove(e){const{store:i}=this.client,a=i.getState(),c=Ps(e)(a);if(!c)throw new Error(`Expected asset procedure with uuid ${e} to exist`);const n=zn(e)(a);return this.dispatch(gs(e)),this.dispatch(qn(n.map(r=>r.uuid))),this.enqueueRequest({description:"Delete asset procedure",method:h.DELETE,url:`/asset-procedures/${e}/`,blockers:[e],blocks:[]}).catch(r=>{throw this.dispatch(Ss(c)),this.dispatch(jn(n)),r})}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get asset procedures",method:h.GET,url:"/asset-procedures/",queryParams:{organization:e},blockers:[],blocks:[]},i);return this.dispatch(Dn(a)),a}}class Ob extends q{async bulkAdd(e){var m;const i=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,c={},n=[],r=[];for(const u of e){const{fieldsRevisionUuid:o,fieldIdentifier:p,file:A}=u,f=await this.getFilePayload(A);f.sha1 in c||(c[f.sha1]=f);const b=T({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:f.sha1,created_by:a,fields_revision:o,submitted_at:i,field_identifier:p});n.push(b);const P={uuid:b.uuid,file_name:A.name,field_identifier:p,file_extension:f.extension,file_sha1:f.sha1,fields_revision:o};r.push(P)}this.dispatch($n(n));const l=this.enqueueRequest({description:"Add asset procedure step fields attachments",method:h.POST,url:"/asset-procedure-step-fields-attachments/bulk/",payload:{submitted_at:i,attachments:r,files:Object.values(c)},blockers:n.map(u=>u.fields_revision),blocks:n.map(u=>u.uuid)});return l.then(u=>{this.processPresignedUrls(u.presigned_urls),this.dispatch(Ln(u.attachments))}).catch(()=>{this.dispatch(Nn(n.map(u=>u.uuid)))}),[n,l.then(({attachments:u})=>u)]}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get asset procedure step fields attachments",method:h.GET,url:"/asset-procedure-step-fields-attachments/",queryParams:{fields_revision__asset_procedure_step__organization:e},blockers:[],blocks:[]},i);return this.dispatch(Gn(a)),a}}class _b extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(Is(n));const r=this.enqueueRequest({description:"Add Asset Procedure Step Fields",method:h.POST,url:"/asset-procedure-step-fields/",payload:w(n),blockers:[n.asset_procedure_step],blocks:[n.uuid]});return r.then(m=>{this.dispatch(xe(m))}).catch(m=>{throw this.dispatch(Os(n.uuid)),m}),[n,r]}update(e){const{store:i}=this.client,a=i.getState().assetProcedureStepFieldsReducer.instances[e.uuid];if(!a)throw new Error(`AssetProcedureStepFields with uuid ${e.uuid} not found`);const c={...a,...e};this.dispatch(xe(c));const n=this.enqueueRequest({description:"Update Asset Procedure Step Fields",method:h.PATCH,url:`/asset-procedure-step-fields/${a.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return n.then(r=>{this.dispatch(xe(r))}).catch(r=>{throw this.dispatch(xe(a)),r}),[c,n]}delete(e){const{store:i}=this.client,a=i.getState().assetProcedureStepFieldsReducer.instances[e];if(!a)throw new Error(`AssetProcedureStepFields with uuid ${e} not found`);this.dispatch(Os(e));const c=this.enqueueRequest({description:"Delete Asset Procedure Step Fields",method:h.DELETE,url:`/asset-procedure-step-fields/${e}/`,blockers:[e],blocks:[e]});return c.catch(n=>{throw this.dispatch(Is(a)),n}),c}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get Asset Procedure Step Fields",method:h.GET,url:"/asset-procedure-step-fields/",queryParams:{asset_procedure_step__asset_procedure__organization:e},blockers:[],blocks:[]},i);return this.dispatch(Zn(a)),a}}class Rb extends q{async bulkAdd(e,i){var u;const a=new Date().toISOString(),c=(u=this.client.store.getState().userReducer.currentUser)==null?void 0:u.id,n=$e(e,i??e.length),r=[],l=[];for(const o of n){const p={},A=[];for(const f of o){const{fieldValuesUuid:b,fieldIdentifier:P,file:_}=f,R=await this.getFilePayload(_);R.sha1 in p||(p[R.sha1]=R);const z=T({file:URL.createObjectURL(_),file_type:_.type,file_name:_.name,file_sha1:R.sha1,created_by:c,field_values:b,submitted_at:a,field_identifier:P});r.push(z);const De={uuid:z.uuid,file_name:_.name,file_sha1:R.sha1,file_extension:R.extension,field_identifier:P,field_values:b};A.push(De)}l.push({submitted_at:a,attachments:A,files:Object.values(p)})}this.dispatch(At(r));const m=l.map(o=>this.enqueueRequest({description:"Add asset procedure step field values attachments",method:h.POST,url:"/asset-procedure-step-field-values-attachments/bulk/",payload:o,blockers:o.attachments.map(p=>p.field_values),blocks:o.attachments.map(p=>p.uuid)}));return Promise.all(m).then(o=>{for(const A of o)this.processPresignedUrls(A.presigned_urls);const p=o.flatMap(A=>A.attachments);this.dispatch(xn(p))}).catch(o=>{throw this.dispatch(ft(r.map(p=>p.uuid))),o}),[r,m.map(o=>o.then(({attachments:p})=>p))]}async bulkDelete(e){const{store:i}=this.client,a=i.getState(),c=tr(e)(a);this.dispatch(ft(e));try{await this.enqueueRequest({description:"Delete asset procedure step field values attachments",method:h.DELETE,url:"/asset-procedure-step-field-values-attachments/bulk/",payload:{uuids:e},blockers:e,blocks:[]})}catch(n){throw this.dispatch(At(c)),n}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get asset procedure step field values attachments",method:h.GET,url:"/asset-procedure-step-field-values-attachments/",queryParams:{limit:E,paginate:!0,field_values__asset_procedure_instance__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get asset procedure step field values attachments",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(Qn(c)),c}}class vb extends v{add(e){var r;const{store:i}=this.client,a=i.getState(),c=T({...e,created_by:(r=a.userReducer.currentUser)==null?void 0:r.id,submitted_at:new Date().toISOString()}),n=this.enqueueRequest({description:"Add asset procedure step field values",method:h.POST,url:"/asset-procedure-step-field-values/",payload:w(c),blockers:[e.asset,e.fields_revision,e.asset_procedure_instance],blocks:[c.uuid]});return this.dispatch(Es(c)),n.then(l=>(this.dispatch(et(l)),l)).catch(()=>{this.dispatch(js(c.uuid))}),[c,n]}bulkAdd(e,i){var m;const a=new Date().toISOString(),c=[],n=$e(e.payloads,i??e.payloads.length),r=[];for(const u of n){const o=[];for(const p of u){const A=T({...p,values:p.values,created_by:(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,submitted_at:a});c.push(A),o.push({uuid:A.uuid,asset:p.asset,fields_revision:p.fields_revision,asset_procedure_instance:p.asset_procedure_instance,asset_procedure_step:p.asset_procedure_step,published_at:p.published_at,values:A.values})}r.push({submitted_at:a,values:e.values,field_values:o})}this.dispatch(nr(c));const l=[];for(const u of r){const o=u.field_values.map(P=>P.asset),p=u.field_values.map(P=>P.fields_revision),A=u.field_values.map(P=>P.asset_procedure_instance),f=u.field_values.map(P=>P.uuid),b=this.enqueueRequest({description:"Bulk add asset procedure step field values",method:h.POST,url:"/asset-procedure-step-field-values/bulk/",payload:u,blockers:[...o,...p,...A],blocks:f});l.push(b)}return Promise.all(l).then(u=>{this.dispatch(rr(u.flat()))}).catch(()=>{this.dispatch(dr(c.map(u=>u.uuid)))}),[c,l]}update(e){const{store:i}=this.client,a=i.getState(),c=qs(e.uuid)(a);if(!c)throw new Error(`Expected AssetProcedureStepFieldValues with uuid ${e.uuid} to exist`);const n={...c,...e};this.dispatch(et(n));const r=this.enqueueRequest({description:"Update asset procedure step field values",method:h.PATCH,url:`/asset-procedure-step-field-values/${e.uuid}/`,payload:e,blockers:[n.fields_revision,n.asset,n.asset_procedure_instance],blocks:[n.uuid]});return r.then(l=>{this.dispatch(et(l))}).catch(()=>{this.dispatch(et(c))}),[n,r]}async delete(e){const{store:i}=this.client,a=i.getState(),c=qs(e)(a);if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const n=sr(e)(a);this.dispatch(js(e)),this.dispatch(ft(n.map(r=>r.uuid)));try{await this.enqueueRequest({description:"Delete asset procedure step field values",method:h.DELETE,url:`/asset-procedure-step-field-values/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(Es(c)),this.dispatch(At(n)),r}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get asset procedure step field values",method:h.GET,url:"/asset-procedure-step-field-values/",queryParams:{limit:E,paginate:!0,asset_procedure_instance__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get asset procedure step field values",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(cr(c)),c}}class wb extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(zs(n));const r=this.enqueueRequest({description:"Create asset procedure step",method:h.POST,url:"/asset-procedure-steps/",payload:w(n),blockers:[n.asset_procedure],blocks:[n.uuid]});return r.then(m=>{this.dispatch(St(m))}).catch(()=>{this.dispatch(Us(n.uuid))}),[n,r]}update(e){const{store:i}=this.client,a=Ds(e.uuid)(i.getState());if(!a)throw new Error(`No asset procedure step with uuid ${e.uuid} found in the store`);const c={...a,...e};this.dispatch(St(c));const n=this.enqueueRequest({description:"Update asset procedure step",method:h.PATCH,url:`/asset-procedure-steps/${a.uuid}/`,payload:{name:e.name,description:e.description,priority:e.order,color:e.color},blockers:[a.uuid],blocks:[a.uuid]});return n.then(r=>{this.dispatch(St(r))}).catch(()=>{this.dispatch(mr(a))}),[c,n]}async delete(e){const{store:i}=this.client,a=i.getState(),c=Ds(e)(a);if(!c)throw new Error(`No asset procedure step with uuid ${e} found in the store`);return this.dispatch(Us(e)),this.enqueueRequest({description:"Delete asset stage",method:h.DELETE,url:`/asset-stages/${e}/`,blockers:[e],blocks:[]}).catch(n=>{throw this.dispatch(zs(c)),n})}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get asset procedure steps",method:h.GET,url:"/asset-procedure-steps/",queryParams:{asset_procedure__organization:e},blockers:[],blocks:[]},i);return this.dispatch(hr(a)),a}}class Mb extends v{add(e){var l;const{store:i}=this.client;if(!e.canvas_marker&&!e.geo_marker)throw new Error("Asset must have either a canvas_marker or geo_marker");const a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(ks(n));const r=this.enqueueRequest({description:"Create asset",method:h.POST,url:"/assets/",payload:w(n),blockers:[n.asset_type],blocks:[n.uuid]});return r.then(m=>{this.dispatch(tt(m))}).catch(()=>{this.dispatch(Bs(n.uuid))}),[n,r]}update(e){const{store:i}=this.client,a=Ns(e.uuid)(i.getState());if(!a)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const c={...a,...e};if(!c.canvas_marker&&!c.geo_marker)throw new Error("Asset must have either a canvas_marker or geo_marker");this.dispatch(tt(c));const n=this.enqueueRequest({description:"Edit asset",method:h.PATCH,url:`/assets/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return n.then(r=>{this.dispatch(tt(r))}).catch(()=>{this.dispatch(tt(a))}),[c,n]}async delete(e){const{store:i}=this.client,a=i.getState(),c=Ns(e)(a);if(!c)throw new Error(`No asset with uuid ${e} found in the store`);const n=Gc(e)(a),r=Du(e)(a),l=to(e)(a);if(this.dispatch(Bs(e)),n.length>0){const m=n.map(({uuid:u})=>u);this.dispatch(xt(m))}if(r.length>0){const m=r.map(({uuid:u})=>u);this.dispatch(jt(m))}if(l.length>0){const m=l.map(({uuid:u})=>u);this.dispatch(Qi(m))}return this.enqueueRequest({description:"Delete asset",method:h.DELETE,url:`/assets/${e}/`,blockers:[e],blocks:[]}).catch(m=>{throw this.dispatch(ks(c)),this.dispatch(Qt(n)),this.dispatch(Et(r)),this.dispatch(Ji(l)),m})}bulkAdd(e,i,a,c){const n=new Date().toISOString(),r=Ne.v4(),l=$e(e,c).map(o=>{const p=o.map(A=>T(A));return{batchId:Ne.v4(),payload:{transaction_id:r,submitted_at:n,asset_type:i,project:a,assets:p}}}),m=[];let u=null;for(const o of l){const{batchId:p,payload:A}=o,f=A.assets.map(R=>R.uuid),b=[i];u&&b.push(u);const P=f;P.push(p);const _=this.enqueueRequest({description:"Batch create assets",method:h.POST,url:"/assets/bulk/",payload:A,blockers:b,blocks:P});u=o.batchId,m.push(_)}return Promise.all(m).then(o=>{const p=o.flat();this.dispatch(bt(p))}),m}async bulkDelete(e){const{store:i}=this.client,a=i.getState(),c=gr(e)(a);this.dispatch(Gs(e));try{await this.enqueueRequest({description:"Bulk delete assets",method:h.DELETE,url:"/assets/bulk/",payload:{uuids:e},blockers:e,blocks:[]})}catch(n){throw this.dispatch(bt(c)),n}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get assets",method:h.GET,url:"/assets/",queryParams:{limit:E,paginate:!0,project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get assets",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(yr(c)),c}}class Eb extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(Ws(n));const r=this.enqueueRequest({description:"Add asset stage completion",method:h.POST,url:"/asset-stage-completions/",payload:w(n),blockers:[e.asset,e.stage],blocks:[n.uuid]});return r.then(m=>{this.dispatch(Tr(m))}).catch(()=>{this.dispatch(Ks(n.uuid))}),[n,r]}delete(e){const{store:i}=this.client,a=_r(e)(i.getState());if(!a)throw new Error(`Expected asset stage completion with uuid ${e} to exist`);this.dispatch(Ks(e));const c=this.enqueueRequest({description:"Delete asset stage completion",method:h.DELETE,url:`/asset-stage-completions/${e}/`,blockers:[e],blocks:[]});return c.catch(()=>{this.dispatch(Ws(a))}),c}bulkAdd(e){var u;const{store:i}=this.client,a=new Date().toISOString(),c=(u=i.getState().userReducer.currentUser)==null?void 0:u.id,n=e.map(o=>T(o)),r=n.map(o=>({...o,created_by:c,submitted_at:a})),l=r.map(({uuid:o})=>o);this.dispatch(Ys(r));const m=this.enqueueRequest({description:"Bulk create asset stage completions",method:h.POST,url:"/asset-stage-completions/bulk/",payload:{submitted_at:a,completions:n},blockers:[...e.map(o=>o.asset_procedure_instance),...e.map(o=>o.stage),...e.map(o=>o.asset)],blocks:l});return m.then(o=>{this.dispatch(Ir(o))}).catch(()=>{this.dispatch(Zs(l))}),[r,m]}bulkDelete(e){const{store:i}=this.client,a=Rr(e)(i.getState());this.dispatch(Zs(e));const c=this.enqueueRequest({description:"Deleting asset stage completions",method:h.DELETE,url:"/asset-stage-completions/bulk/",payload:{uuids:e},blockers:e,blocks:[]});return c.catch(()=>{this.dispatch(Ys(a))}),c}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get asset stage completions",method:h.GET,url:"/asset-stage-completions/",queryParams:{limit:E,paginate:!0,asset_procedure_instance__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get asset stage completions",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(Fr(c)),c}}class jb extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(Qs(n));const r=this.enqueueRequest({description:"Create asset",method:h.POST,url:"/asset-stages/",payload:w(n),blockers:[n.asset_procedure],blocks:[n.uuid]});return r.then(m=>{this.dispatch(Pt(m))}).catch(()=>{this.dispatch(xs(n.uuid))}),[n,r]}update(e){const{store:i}=this.client,a=ei(e.uuid)(i.getState());if(!a)throw new Error(`No asset stage with uuid ${e.uuid} found in the store`);const c={...a,...e};this.dispatch(Pt(c));const n=this.enqueueRequest({description:"Update asset stage",method:h.PATCH,url:`/asset-stages/${a.uuid}/`,payload:e,blockers:[a.uuid],blocks:[a.uuid]});return n.then(r=>{this.dispatch(Pt(r))}).catch(()=>{this.dispatch(Mr(a))}),[c,n]}async delete(e){const{store:i}=this.client,a=i.getState(),c=ei(e)(a);if(!c)throw new Error(`No asset stage with uuid ${e} found in the store`);return this.dispatch(xs(e)),this.enqueueRequest({description:"Delete asset stage",method:h.DELETE,url:`/asset-stages/${e}/`,blockers:[e],blocks:[]}).catch(n=>{throw this.dispatch(Qs(c)),n})}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get asset stages",method:h.GET,url:"/asset-stages/",queryParams:{asset_procedure__organization:e},blockers:[],blocks:[]},i);return this.dispatch(wr(a)),a}}class qb extends ke{constructor(){super(...arguments);S(this,"name","Asset Type Attachment");S(this,"url","/asset-type-attachments");S(this,"addAttachments",si);S(this,"updateAttachments",Ur);S(this,"removeAttachments",ii);S(this,"removeAttachment",Dr);S(this,"setAttachment",zr);S(this,"selectAttachment",Br)}buildOfflineAttachment(i){return T({file:URL.createObjectURL(i.file),file_sha1:i.file_sha1,created_by:i.created_by,file_name:i.file.name,file_type:i.file.type,submitted_at:i.submitted_at,description:i.description,asset_type:i.modelUuid})}buildAttachmentPayload(i){return{...i,asset_type:i.modelUuid}}async bulkAdd(i){return this._bulkAdd(i.map(a=>({modelUuid:a.assetTypeUuid,file:a.file})))}async delete(i){return this._delete(i)}async refreshStore(i,a){const c=await this.enqueueRequest({immediate:!0,description:"Get asset type attachments",method:h.GET,url:`${this.url}/`,queryParams:{asset_type__organization:i},blocks:[],blockers:[]},a);return this.dispatch(Vr(c)),c}}class Vb extends q{async bulkAdd(e){var m;const i=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,c={},n=[],r=[];for(const u of e){const{fieldsRevisionUuid:o,fieldIdentifier:p,file:A}=u,f=await this.getFilePayload(A);f.sha1 in c||(c[f.sha1]=f);const b=T({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:f.sha1,created_by:a,fields_revision:o,submitted_at:i,field_identifier:p});n.push(b);const P={uuid:b.uuid,file_name:A.name,field_identifier:p,file_extension:f.extension,file_sha1:f.sha1,fields_revision:o};r.push(P)}this.dispatch(Hr(n));const l=this.enqueueRequest({description:"Add asset type fields attachments",method:h.POST,url:"/asset-type-fields-attachments/bulk/",payload:{submitted_at:i,attachments:r,files:Object.values(c)},blockers:n.map(u=>u.fields_revision),blocks:n.map(u=>u.uuid)});return l.then(u=>{this.processPresignedUrls(u.presigned_urls),this.dispatch(Wr(u.attachments))}).catch(()=>{this.dispatch(Yr(n.map(u=>u.uuid)))}),[n,l.then(({attachments:u})=>u)]}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get asset type fields attachments",method:h.GET,url:"/asset-type-fields-attachments/",queryParams:{fields_revision__asset_type__organization:e},blockers:[e],blocks:[]},i);return this.dispatch(Nr(a)),a}}class zb extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(xr(n));const r=this.enqueueRequest({description:"Add Asset Type Fields",method:h.POST,url:"/asset-type-fields/",payload:w(n),blockers:[n.asset_type],blocks:[n.uuid]});return r.then(m=>{this.dispatch(ed(m))}).catch(m=>{throw this.dispatch(td(n.uuid)),m}),[n,r]}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get Asset Type Fields",method:h.GET,url:"/asset-type-fields/",queryParams:{asset_type__organization:e},blockers:[],blocks:[]},i);return this.dispatch(Qr(a)),a}}class Ub extends q{async bulkAdd(e,i){var u;const a=new Date().toISOString(),c=(u=this.client.store.getState().userReducer.currentUser)==null?void 0:u.id,n=$e(e,i??e.length),r=[],l=[];for(const o of n){const p={},A=[];for(const f of o){const{fieldValuesUuid:b,fieldIdentifier:P,file:_}=f,R=await this.getFilePayload(_);R.sha1 in p||(p[R.sha1]=R);const z=T({file:URL.createObjectURL(_),file_type:_.type,file_name:_.name,file_sha1:R.sha1,created_by:c,field_values:b,submitted_at:a,field_identifier:P});r.push(z);const De={uuid:z.uuid,file_name:_.name,file_sha1:R.sha1,file_extension:R.extension,field_identifier:P,field_values:b};A.push(De)}l.push({submitted_at:a,attachments:A,files:Object.values(p)})}this.dispatch(It(r));const m=l.map(o=>this.enqueueRequest({description:"Add asset type field values attachments",method:h.POST,url:"/asset-type-field-values-attachments/bulk/",payload:o,blockers:o.attachments.map(p=>p.field_values),blocks:o.attachments.map(p=>p.uuid)}));return Promise.all(m).then(o=>{for(const A of o)this.processPresignedUrls(A.presigned_urls);const p=o.flatMap(A=>A.attachments);this.dispatch(nd(p))}).catch(o=>{throw this.dispatch(Ot(r.map(p=>p.uuid))),o}),[r,m.map(o=>o.then(({attachments:p})=>p))]}async bulkDelete(e){const{store:i}=this.client,a=i.getState(),c=dd(e)(a);this.dispatch(Ot(e));try{await this.enqueueRequest({description:"Delete asset type field values attachments",method:h.DELETE,url:"/asset-type-field-values-attachments/bulk/",payload:{uuids:e},blockers:e,blocks:[]})}catch(n){throw this.dispatch(It(c)),n}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get asset type field values attachments",method:h.GET,url:"/asset-type-field-values-attachments/",queryParams:{limit:E,paginate:!0,field_values__asset__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get asset type field values attachments",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(cd(c)),c}}class Db extends v{add(e){var r;const{store:i}=this.client,a=i.getState(),c=T({...e,created_by:(r=a.userReducer.currentUser)==null?void 0:r.id,submitted_at:new Date().toISOString()}),n=this.enqueueRequest({description:"Add asset type field values",method:h.POST,url:"/asset-type-field-values/",payload:w(c),blockers:[e.asset,e.fields_revision],blocks:[c.uuid]});return this.dispatch(ui(c)),n.then(l=>(this.dispatch(st(l)),l)).catch(()=>{this.dispatch(oi(c.uuid))}),[c,n]}bulkAdd(e,i){var m;const a=new Date().toISOString(),c=[],n=$e(e.payloads,i??e.payloads.length),r=[];for(const u of n){const o=[];for(const p of u){const A=T({...p,values:p.values,created_by:(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,submitted_at:a});c.push(A),o.push({uuid:A.uuid,asset:p.asset,fields_revision:p.fields_revision,published_at:p.published_at,values:A.values})}r.push({submitted_at:a,values:e.values,field_values:o})}this.dispatch(md(c));const l=[];for(const u of r){const o=u.field_values.map(b=>b.asset),p=u.field_values.map(b=>b.fields_revision),A=u.field_values.map(b=>b.uuid),f=this.enqueueRequest({description:"Bulk add asset type field values",method:h.POST,url:"/asset-type-field-values/bulk/",payload:u,blockers:[...o,...p],blocks:A});l.push(f)}return Promise.all(l).then(u=>{this.dispatch(pd(u.flat()))}).catch(()=>{this.dispatch(Ad(c.map(u=>u.uuid)))}),[c,l]}update(e){const{store:i}=this.client,a=i.getState(),c=hi(e.uuid)(a);if(!c)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const n={...c,...e};this.dispatch(st(n));const r=this.enqueueRequest({description:"Delete asset type field values",method:h.PATCH,url:`/asset-type-field-values/${e.uuid}/`,payload:e,blockers:[n.uuid,n.fields_revision,n.asset],blocks:[n.uuid]});return r.then(l=>{this.dispatch(st(l))}).catch(()=>{this.dispatch(st(c))}),[n,r]}async delete(e){const{store:i}=this.client,a=i.getState(),c=hi(e)(a);if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const n=ud(e)(a);this.dispatch(oi(e)),this.dispatch(Ot(n.map(r=>r.uuid)));try{await this.enqueueRequest({description:"Delete asset type field values",method:h.DELETE,url:`/asset-type-field-values/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(ui(c)),this.dispatch(It(n)),r}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get asset type field values",method:h.GET,url:"/asset-type-field-values/",queryParams:{limit:E,paginate:!0,asset__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get asset type field values",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(hd(c)),c}}class Cb extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(pi(n));const r=this.enqueueRequest({description:"Create asset type",method:h.POST,url:"/asset-types/",payload:w(n),blockers:[],blocks:[n.uuid]});return r.then(m=>{this.dispatch(it(m))}).catch(()=>{this.dispatch(Ai(n.uuid))}),[n,r]}update(e){const{store:i}=this.client,a=yi(e.uuid)(i.getState());if(!a)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(it(c));const n=this.enqueueRequest({description:"Update asset type",method:h.PATCH,url:`/asset-types/${e.uuid}/`,payload:{icon:e.icon,color:e.color,name:e.name,description:e.description},blockers:[a.uuid],blocks:[a.uuid]});return n.then(r=>{this.dispatch(it(r))}).catch(()=>{this.dispatch(it(a))}),[c,n]}async delete(e){const{store:i}=this.client,a=i.getState(),c=yi(e)(a);if(!c)throw new Error(`Expected asset type with uuid ${e} to exist`);const n=Ls(e)(a),r=Gr(e)(a);return this.dispatch(Ai(e)),this.dispatch(Gs(n.map(l=>l.uuid))),this.dispatch(ii(r.map(({uuid:l})=>l))),this.enqueueRequest({description:"Delete asset type",method:h.DELETE,url:`/asset-types/${e}/`,blockers:[e],blocks:[]}).catch(l=>{throw this.dispatch(pi(c)),this.dispatch(bt(n)),this.dispatch(si(r)),l})}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get asset types",method:h.GET,url:"/asset-types/",queryParams:{organization:e},blockers:[],blocks:[]},i);return this.dispatch(gd(a)),a}}class kb extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(gi(n));const r=this.enqueueRequest({description:"Create Category",method:h.POST,url:"/categories/",payload:w(n),blockers:[e.project],blocks:[n.uuid]});return[n,r]}update(e){const i=this.client.store.getState(),a=Pi(e.uuid)(i);if(!a)throw new Error(`Expected an existing category with uuid ${e.uuid}`);const c={...a,...e};this.dispatch(Rd(c));const n=this.enqueueRequest({description:"Edit Category",method:h.PATCH,url:`/categories/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return[c,n]}remove(e){const{store:i}=this.client,a=Pi(e)(i.getState());if(!a)throw new Error(`No category with uuid ${e} found in the store`);this.dispatch(vd(e));const c=this.enqueueRequest({description:"Delete Category",method:h.DELETE,url:`/categories/${a.uuid}/`,blockers:[a.uuid],blocks:[]});return c.catch(()=>{this.dispatch(gi(a))}),c}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get categories",method:h.GET,url:"/categories/",queryParams:{project__organization_owner:e},blocks:[],blockers:[]},i);return this.dispatch(_d(a)),a}}class Bb extends ke{constructor(){super(...arguments);S(this,"name","Document Attachment");S(this,"url","/document-attachments");S(this,"addAttachments",qd);S(this,"updateAttachments",zd);S(this,"removeAttachments",Dd);S(this,"removeAttachment",Ud);S(this,"setAttachment",Vd);S(this,"selectAttachment",Bd)}buildOfflineAttachment(i){return T({file:URL.createObjectURL(i.file),file_sha1:i.file_sha1,created_by:i.created_by,file_name:i.file.name,file_type:i.file.type,submitted_at:i.submitted_at,description:i.description,document:i.modelUuid})}buildAttachmentPayload(i){return{...i,document:i.modelUuid}}async bulkAdd(i){var p;const{store:a}=this.client,c=(p=a.getState().userReducer.currentUser)==null?void 0:p.id,n=new Date().toISOString(),r=[],l=[],m={},u={};for(const A of i){const{documentUuid:f,file:b}=A,P=await this.getFilePayload(b);P.sha1 in m||(m[P.sha1]=P,u[P.sha1]=[]);const _=this.buildOfflineAttachment({file:b,file_sha1:P.sha1,submitted_at:n,created_by:c,description:"",modelUuid:f});r.push(_),l.push({uuid:_.uuid,file_name:_.file_name,file_sha1:_.file_sha1,file_extension:P.extension,description:_.description,document:f}),u[P.sha1].push(_.uuid)}this.dispatch(this.addAttachments(r));const o=this.enqueueRequest({description:"Attach files to document",method:h.POST,url:"/document-attachments/bulk/",payload:{submitted_at:n,attachments:l,files:Object.values(m)},blocks:r.map(A=>A.uuid),blockers:r.map(A=>A.file_sha1)});return o.then(({attachments:A,presigned_urls:f})=>{this.dispatch(this.updateAttachments(A));const b=this.processPresignedUrls(f);for(const[P,_]of Object.entries(b))_.then(()=>{const R=u[P];for(const z of R)this.makeReadable(z)})}).catch(()=>{this.dispatch(this.removeAttachments(r.map(A=>A.uuid)))}),[r,o.then(({attachments:A})=>A)]}async delete(i){return this._delete(i)}makeReadable(i){this.enqueueRequest({description:"Add attachment to AI assistant",method:h.PATCH,url:`/document-attachments/${i}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",i],blocks:["index-document-attachment"]})}async refreshStore(i,a){const c=await this.enqueueRequest({immediate:!0,description:"Get document attachments",method:h.GET,url:"/document-attachments/",queryParams:{document__project__organization_owner:i},blocks:[],blockers:[]},a),n=await this.enqueueRequest({immediate:!0,description:"Get document attachments",method:h.GET,url:"/document-attachments/",queryParams:{document__organization:i},blocks:[],blockers:[]},a),r=[...c,...n];return this.dispatch(jd(r)),r}}class Gb extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(Nd([n]));const r=this.enqueueRequest({description:"Create Document",method:h.POST,url:"/documents/",payload:w(n),queryParams:{parent_document:n.parent_document??void 0},blockers:n.parent_document?[n.parent_document]:[],blocks:[n.uuid]});return r.catch(()=>{this.dispatch(Ii([n.uuid]))}),[n,r]}update(e){const{store:i}=this.client,a=i.getState().documentsReducer.documents[e.uuid];if(!a)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const c={...a,...e};this.dispatch(We([c]));const n=this.enqueueRequest({description:"Update Document",method:h.PATCH,url:`/documents/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return n.catch(()=>{We([a])}),[c,n]}delete(e){const{store:i}=this.client,a=Rt(i.getState()),c=Hd(e)(i.getState());if(!c)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const n=c.parent_document?a[c.parent_document]:void 0;this.dispatch(Ii([e]));const r=this.enqueueRequest({description:"Delete Document",method:h.DELETE,url:`/documents/${e}/`,blockers:[e],blocks:[]});return r.then(l=>{this.dispatch(We(l))}).catch(()=>{this.dispatch(We([c])),n&&this.dispatch(We([n]))}),r}async refreshStore(e,i){const a=this.enqueueRequest({immediate:!0,description:"Get project documents",method:h.GET,url:"/documents/",queryParams:{project__organization_owner:e},blockers:[],blocks:[]},i),c=this.enqueueRequest({immediate:!0,description:"Get organization documents",method:h.GET,url:"/documents/",queryParams:{organization:e},blockers:[],blocks:[]},i),n=[...await a,...await c];return this.dispatch(Ld(n)),n}}class $b extends v{async add(e,i){return this.enqueueRequest({description:"Add email domain to organization",method:h.POST,url:"/organization-email-domains/",payload:{email:i,organization:e},blockers:[e,"create-org"],blocks:[]})}async remove(e){return this.dispatch(Jd(e.uuid)),this.enqueueRequest({description:"Remove email domain from organization",method:h.DELETE,url:`/organization-email-domains/${e.uuid}/`,blockers:[e.domain],blocks:[]}).catch(i=>{throw this.dispatch(Zd(e)),i})}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Fetch email domains for organization",method:h.GET,url:"/organization-email-domains/",queryParams:{organization:e},blockers:[e],blocks:[]},i);return this.dispatch(Kd(a)),a}}class Lb extends v{async getVerificationCode(e){return this.enqueueRequest({description:"Get verification code",method:h.GET,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(e,i=void 0){return this.enqueueRequest({description:"Validate verification code",method:h.POST,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,payload:i,blockers:[],blocks:[]})}}const Bt={},lc=new Set;let Gt=0,hc=0,mc=0;const Nb=20;class Hb extends v{constructor(){super(...arguments);S(this,"host");S(this,"_dbPromise",gm.openDB("fileCache",1,{upgrade(i){i.createObjectStore("files")}}))}async renewUploadUrl(i){const a=await this.fetchCache(i);if(!a)throw new Error(`File with sha1 ${i} not found in cache`);const c=await Yt(a,i),n=await this.enqueueRequest({description:"Get S3 URL",method:h.GET,url:"/authentication/files/presigned-upload-url/",queryParams:{sha1:await He(a),file_type:a.type,extension:a.name.split(".").pop(),size:a.size.toString()},blockers:[],blocks:[`s3-${c}`]});return"url"in n&&this.dispatch(su({sha1:i,...n})),n}async addCache(i,a){if(lc.has(a))return;if(!i.type){const r=i.name.split("."),l=r[r.length-1];i=new File([i],i.name,{type:l})}if(!i.name||!i.size||!i.type)throw new Error("Cannot add files to cache that do not have a name, size and type.");const c=await this._dbPromise;!!await c.get("files",a)?(console.error("File already cached (this is unexpected at this point):",i.name,a),Gt++):(await c.put("files",i,a),hc++),lc.add(a),mc++,mc%Nb===0&&console.debug(`File cache summary: ${Gt} hits and ${hc} misses, ${Gt/(Gt+hc)*100}% hit rate over ${mc} calls to addCache.`)}async removeCache(i){await(await this._dbPromise).delete("files",i),lc.delete(i)}async fetchCache(i){return(await this._dbPromise).get("files",i)}async getOrRenewUploadUrl(i){const a=this.client.store.getState();return iu(i)(a)??await this.renewUploadUrl(i)}async uploadFileToS3(i){const a=await this.fetchCache(i);if(!a)throw new Error(`File with sha1 ${i} not found in cache`);const c=await Yt(a,i),n={file_name:a.name,file_sha1:i,file:c},r=await this.getOrRenewUploadUrl(i);if("warning"in r){if(r.warning==="already_uploaded")return[n,Promise.resolve(void 0).then()];throw new Error(r.warning)}const l=r.url,m=this.enqueueRequest({url:l,description:"Upload file",method:h.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:i,blockers:[`s3-${c}`],blocks:[i],s3url:r});return[n,m]}async fetchFileFromUrl(i,a,c){const n=i.split("?")[0]??i,r=await this.fetchCache(a);if(r){if(!r.name)throw new Error("Cached file unexpectedly has no name.");return r}if(i.startsWith("blob:")){const o=await Tc(i),p=new File([o],c??a,{type:o.type});return await this.addCache(p,a),p}let l=Bt[n],m=!0;l?m=!1:(l=new Promise(o=>{this.enqueueRequest({description:"Download file",method:h.GET,url:i,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1,blockers:[a],blocks:[a]}).then(p=>{const A=new File([p],c??a,{type:p.type});o(A)})}),Bt[n]=l);let u;try{u=await l}catch(o){throw m&&o instanceof D&&delete Bt[n],o}if(m){const o=await He(u);if(o!==a){const f=`The hash of the file returned from the server (${o}) does not match the
|
|
9
|
-
expected hash (${a}). This can happen if you're using a local development server and the
|
|
1
|
+
(function(i,U){typeof exports=="object"&&typeof module<"u"?U(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("react"),require("file-saver"),require("fast-tree-builder"),require("ts-tree-lib"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("redux-persist-migrate"),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","file-saver","fast-tree-builder","ts-tree-lib","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","redux-persist-migrate","buffer","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],U):(i=typeof globalThis<"u"?globalThis:i||self,U(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.react,i.fileSaver,i.buildTree,i.tsTreeLib,i.reduxOffline,i.offlineConfig,i.localforage,i.createMigration,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,U,o,At,ot,IP,OP,ka,Et,FP,va,gP,PP,LR,NR,_P,bP,MP){"use strict";var CR=Object.defineProperty;var UR=(i,U,o)=>U in i?CR(i,U,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[U]=o;var m=(i,U,o)=>UR(i,typeof U!="symbol"?U+"":U,o);var TP;const Va=Object.freeze([]),Ba=Object.freeze({});var za=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(za||{}),h=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(h||{}),Wa=(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))(Wa||{}),qa=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(qa||{}),ls=(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))(ls||{}),$=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))($||{}),Da=(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))(Da||{}),ja=(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[t.ADD_REVIEW_REQUEST=8]="ADD_REVIEW_REQUEST",t[t.REMOVE_REVIEW_REQUEST=10]="REMOVE_REVIEW_REQUEST",t))(ja||{}),$a=(t=>(t[t.ACTIVE=0]="ACTIVE",t[t.COMPLETED=2]="COMPLETED",t[t.CANCELLED=4]="CANCELLED",t))($a||{}),Ca=(t=>(t[t.APPROVED=0]="APPROVED",t[t.REJECTED=2]="REJECTED",t[t.CHANGES_REQUESTED=4]="CHANGES_REQUESTED",t))(Ca||{});const RP=ls.MEDIUM,Ua=6e4;function F(t){return{addOne:(p,y)=>{const f=t(y.payload);p.instances[f]=y.payload},addMany:(p,y)=>{for(const f of y.payload){const w=t(f);p.instances[w]=f}},setOne:(p,y)=>{const f=t(y.payload);p.instances[f]=y.payload},setMany:(p,y)=>{for(const f of y.payload){const w=t(f);p.instances[w]=f}},updateOne:(p,y)=>{const f=t(y.payload);p.instances[f]=y.payload},updateMany:(p,y)=>{for(const f of y.payload){const w=t(f);p.instances[w]=f}},deleteOne:(p,y)=>{delete p.instances[y.payload]},deleteMany:(p,y)=>{for(const f of y.payload)delete p.instances[f]},initialize:(p,y)=>{p.instances={};const f=new Set;for(const w of y.payload){const _=t(w);f.add(_),p.instances[_]=w}f.size!==y.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function EP(){return{initializeSelection:(l,u)=>{l.selection=Array.from(new Set(u.payload))},selectOne:(l,u)=>{new Set(l.selection).has(u.payload)||l.selection.push(u.payload)},selectMany:(l,u)=>{const p=new Set(l.selection);for(const y of u.payload)p.has(y)||p.add(y);l.selection=Array.from(p)},unselectOne:(l,u)=>{const p=new Set(l.selection);p.has(u.payload)&&(p.delete(u.payload),l.selection=Array.from(p))},unselectMany:(l,u)=>{const p=new Set(l.selection);for(const y of u.payload)p.has(y)&&p.delete(y);l.selection=Array.from(p)},toggleOne:(l,u)=>{const p=new Set(l.selection);p.has(u.payload)?p.delete(u.payload):p.add(u.payload),l.selection=Array.from(p)},toggleMany:(l,u)=>{const p=new Set(l.selection);for(const y of u.payload)p.has(y)?p.delete(y):p.add(y);l.selection=Array.from(p)},getInitialState:l=>({...l,selection:[]})}}const gt="versioning",I=o.createAction("RESET"),B=o.createAction("RESET_PROJECT_STATE"),g=o.createAction("RESET_ORGANIZATION_STATE");function kP(t,s){return IP.useMemo(t,s)}TP=Symbol.toStringTag;class us{constructor(){m(this,TP,"Promise");m(this,"_promise");m(this,"_resolve");m(this,"_reject");m(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 os=!1;["true","1"].includes("".toLowerCase())&&(os=!0);function vP(t,s){if(t===s)return!0;if(typeof t!=typeof s)return!1;const e=Object.keys(t),n=Object.keys(s),a=e.length;if(a!==n.length)return!1;for(let c=0;c<a;c++){const r=e[c];if(!Object.prototype.hasOwnProperty.call(s,r)||t[r]!==s[r])return!1}return!0}function hs(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(os&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(os&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function VP(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 A=t=>t.length===0?Va:t,kt=t=>Object.keys(t).length===0?Ba:t,La=hs(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===ps.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),BP=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),zP=1e3*86400,ps=new Date,WP=t=>new Date(t).toDateString()===ps.toDateString(),qP=hs((t,s,e)=>{const n=Math.round((new Date(t).getTime()-ps.getTime())/zP);return n<s||n>e?La(t):BP.format(n,"days")});function DP(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}function vt(t){return new Promise((s,e)=>{const n=new FileReader;n.onload=()=>{const a=n.result;if(!a){e(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",a).then(c=>{const r=DP(c);s(r)})},n.readAsArrayBuffer(t)})}const jP=(t,s)=>`${t}${s?`.${s}`:""}`;function $P(t,s){return new File([t],s,{type:t.type})}function Na(t){const s=t.name;return s.includes(".")?s.split(".").pop():""}const Ga=async t=>(await fetch(t)).blob(),Ha=async(t,s)=>{const e=await Ga(t);return new File([e],s,{type:e.type})};function CP(t){const s=new Blob([t]);OP.saveAs(s,t.name)}function Ka(t){return typeof t=="string"&&t.startsWith("blob:")}function UP(t){return t.type.startsWith("image/")}const Ya={};function LP(t,s,e,...n){const a=Ya[t];let c=!1;a?a[s]||(a[s]=!0,c=!0):(Ya[t]={[s]:!0},c=!0),c&&console[e](...n)}const Za=["created_at","updated_at","index","revision"];function O(t){return{...t,uuid:ot.v4()}}function NP(t){const s={};for(const e of t)s[e.uuid]=e;return s}function V(t){return t.map(({uuid:s})=>s)}function Vt(t,s){return t.localeCompare(s)}function ms(t,s){return Vt(t.uuid,s.uuid)}function GP(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const c=t.split(".");c.length>1&&(s=c[c.length-1])}s&&!s.startsWith(".")&&(s="."+s);const a=s?s.length:0;return n.length+a>e&&(n=n.slice(0,e-a)+(s||"")),n}function HP(t){return t.toLowerCase().replace(" ","-")}function KP(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function YP(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const ZP=/^.+@.+\..+$/;function M(t){const s={...t};for(const e of[...Za,"created_by"])e in s&&delete s[e];return s}const Ja=t=>{const s=t.toSorted((e,n)=>e.order-n.order);return ka(s,{id:e=>e.uuid,parentId:e=>e.parent,includeEmptyChildrenArray:!0,valueKey:!1})},JP=t=>{const{roots:s}=Ja(t);return s.map(e=>new Et.Tree(e))},Qa=(t,s)=>{const{nodes:e}=Ja(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new Et.Tree(n)},Xa=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,xa=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,ec=t=>ka(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),QP=t=>{const{roots:s}=ec(t);return s.map(e=>new Et.Tree(e))},tc=(t,s)=>{const{nodes:e}=ec(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new Et.Tree(n)};class XP{constructor(s){m(this,"operations",[]);m(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(a=>a[s]===e)),this}exclude(s,e){return this.operations.push(n=>n.filter(a=>a[s]!==e)),this}orderBy(s){return this.operations.push(e=>[...e].sort((n,a)=>n[s]<=a[s]?1:-1)),this}reverse(){return this.operations.push(s=>[...s].reverse()),this}all(){return this.operations.push(s=>s),this}get(s,e){return o.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[s]===e))}count(){return o.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return o.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return o.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return o.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return o.createSelector([this.getData],s=>A(this.performOperations(s)))}}const S=t=>(...s)=>e=>t(e,...s),N=F(t=>t.uuid),sc={instances:{}},ys=o.createSlice({name:"agents",initialState:sc,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,sc)),reducers:{initializeConversations:N.initialize,addConversation:N.addOne,addConversations:N.addMany,setConversation:N.setOne,setConversations:N.setMany,updateConversation:N.updateOne,updateConversations:N.updateMany,deleteConversation:N.deleteOne,deleteConversations:N.deleteMany}}),{initializeConversations:ic,addConversation:nc,addConversations:xP,setConversation:ac,setConversations:e_,updateConversation:cc,updateConversations:t_,deleteConversation:s_,deleteConversations:i_}=ys.actions,fs=t=>t.agentsReducer.instances,n_=o.createSelector([fs],t=>Object.values(t)),a_=S(o.createSelector([fs,(t,s)=>s],(t,s)=>t[s])),rc=ys.reducer,G=F(t=>t.uuid),dc={instances:{}},Ss=o.createSlice({name:"assetAttachments",initialState:dc,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,dc)),reducers:{initializeAssetAttachments:G.initialize,addAssetAttachment:G.addOne,addAssetAttachments:G.addMany,setAssetAttachment:G.setOne,setAssetAttachments:G.setMany,updateAssetAttachment:G.updateOne,updateAssetAttachments:G.updateMany,deleteAssetAttachment:G.deleteOne,deleteAssetAttachments:G.deleteMany}}),{initializeAssetAttachments:lc,addAssetAttachment:uc,addAssetAttachments:As,setAssetAttachment:oc,setAssetAttachments:hc,updateAssetAttachment:pc,updateAssetAttachments:mc,deleteAssetAttachment:yc,deleteAssetAttachments:Ts}=Ss.actions,fc=t=>t.assetAttachmentReducer.instances,ws=o.createSelector([fc],t=>Object.values(t)),Sc=t=>s=>s.assetAttachmentReducer.instances[t],Ac=S(o.createSelector([ws,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Tc=S(o.createSelector([ws,(t,s)=>s],(t,s)=>A(t.filter(({asset:e})=>s===e)))),wc=Ss.reducer,H=F(({uuid:t})=>t),Ic={instances:{}},Is=o.createSlice({name:"assetProcedureTypeAttachments",initialState:Ic,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Ic)),reducers:{initializeAssetProcedureTypeAttachments:H.initialize,addAssetProcedureTypeAttachment:H.addOne,addAssetProcedureTypeAttachments:H.addMany,setAssetProcedureTypeAttachment:H.setOne,setAssetProcedureTypeAttachments:H.setMany,updateAssetProcedureTypeAttachment:H.updateOne,updateAssetProcedureTypeAttachments:H.updateMany,deleteAssetProcedureTypeAttachment:H.deleteOne,deleteAssetProcedureTypeAttachments:H.deleteMany}}),{initializeAssetProcedureTypeAttachments:Oc,addAssetProcedureTypeAttachment:Fc,addAssetProcedureTypeAttachments:gc,setAssetProcedureTypeAttachment:Pc,setAssetProcedureTypeAttachments:_c,updateAssetProcedureTypeAttachment:bc,updateAssetProcedureTypeAttachments:Mc,deleteAssetProcedureTypeAttachment:Rc,deleteAssetProcedureTypeAttachments:Ec}=Is.actions,kc=Is.reducer,vc=t=>t.assetProcedureTypeAttachmentReducer.instances,Os=o.createSelector([vc],t=>Object.values(t)),Vc=t=>s=>s.assetProcedureTypeAttachmentReducer.instances[t],Bc=S(o.createSelector([Os,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),c_=S(o.createSelector([Os,(t,s)=>s],(t,s)=>A(t.filter(({asset_procedure_type:e})=>s===e)))),K=F(({uuid:t})=>t),zc={instances:{}},Fs=o.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:zc,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,zc)),reducers:{initializeAssetProcedureTypeFieldsAttachments:K.initialize,addAssetProcedureTypeFieldsAttachment:K.addOne,addAssetProcedureTypeFieldsAttachments:K.addMany,setAssetProcedureTypeFieldsAttachment:K.setOne,setAssetProcedureTypeFieldsAttachments:K.setMany,updateAssetProcedureTypeFieldsAttachment:K.updateOne,updateAssetProcedureTypeFieldsAttachments:K.updateMany,deleteAssetProcedureTypeFieldsAttachment:K.deleteOne,deleteAssetProcedureTypeFieldsAttachments:K.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:Wc,addAssetProcedureTypeFieldsAttachment:qc,addAssetProcedureTypeFieldsAttachments:Dc,setAssetProcedureTypeFieldsAttachment:jc,setAssetProcedureTypeFieldsAttachments:$c,updateAssetProcedureTypeFieldsAttachment:Cc,updateAssetProcedureTypeFieldsAttachments:Uc,deleteAssetProcedureTypeFieldsAttachment:Lc,deleteAssetProcedureTypeFieldsAttachments:Nc}=Fs.actions,Gc=Fs.reducer,Hc=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,gs=o.createSelector([Hc],t=>Object.values(t)),r_=S(o.createSelector([gs,(t,s)=>s],(t,s)=>A(t.filter(e=>e.fields_revision===s)))),Kc=t=>s=>s.assetProcedureTypeFieldsAttachmentReducer.instances[t],Yc=S(o.createSelector([gs,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Y=F(({uuid:t})=>t),Zc={instances:{}},Ps=o.createSlice({name:"assetProcedureTypeFields",initialState:Zc,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Zc)),reducers:{initializeAssetProcedureTypeFields:Y.initialize,addAssetProcedureTypeFields:Y.addOne,addAssetProcedureTypeFieldsMany:Y.addMany,setAssetProcedureTypeFields:Y.setOne,setAssetProcedureTypeFieldsMany:Y.setMany,updateAssetProcedureTypeFields:Y.updateOne,updateAssetProcedureTypeFieldsMany:Y.updateMany,deleteAssetProcedureTypeFields:Y.deleteOne,deleteAssetProcedureTypeFieldsMany:Y.deleteMany}}),{initializeAssetProcedureTypeFields:Jc,addAssetProcedureTypeFields:Qc,addAssetProcedureTypeFieldsMany:Xc,setAssetProcedureTypeFields:xc,setAssetProcedureTypeFieldsMany:er,updateAssetProcedureTypeFields:tr,updateAssetProcedureTypeFieldsMany:sr,deleteAssetProcedureTypeFields:ir,deleteAssetProcedureTypeFieldsMany:nr}=Ps.actions,ar=Ps.reducer,cr=t=>t.assetProcedureTypeFieldsReducer.instances,Bt=o.createSelector([cr],t=>Object.values(t)),d_=S(o.createSelector([Bt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_procedure_type===s)))),l_=S(o.createSelector([Bt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),rr=t=>s=>s.assetProcedureTypeFieldsReducer.instances[t],dr=S(o.createSelector([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Z=F(({uuid:t})=>t),lr={instances:{}},_s=o.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:lr,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,lr)),reducers:{initializeAssetProcedureTypeFieldValuesAttachments:Z.initialize,addAssetProcedureTypeFieldValuesAttachment:Z.addOne,addAssetProcedureTypeFieldValuesAttachments:Z.addMany,setAssetProcedureTypeFieldValuesAttachment:Z.setOne,setAssetProcedureTypeFieldValuesAttachments:Z.setMany,updateAssetProcedureTypeFieldValuesAttachment:Z.updateOne,updateAssetProcedureTypeFieldValuesAttachments:Z.updateMany,deleteAssetProcedureTypeFieldValuesAttachment:Z.deleteOne,deleteAssetProcedureTypeFieldValuesAttachments:Z.deleteMany}}),{initializeAssetProcedureTypeFieldValuesAttachments:ur,addAssetProcedureTypeFieldValuesAttachment:or,addAssetProcedureTypeFieldValuesAttachments:bs,setAssetProcedureTypeFieldValuesAttachment:hr,setAssetProcedureTypeFieldValuesAttachments:pr,updateAssetProcedureTypeFieldValuesAttachment:mr,updateAssetProcedureTypeFieldValuesAttachments:yr,deleteAssetProcedureTypeFieldValuesAttachment:fr,deleteAssetProcedureTypeFieldValuesAttachments:Ms}=_s.actions,Sr=_s.reducer,Ar=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,Rs=o.createSelector([Ar],t=>Object.values(t)),Tr=t=>s=>s.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],wr=S(o.createSelector([Rs,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Ir=S(o.createSelector([Rs,(t,s)=>s],(t,s)=>A(t.filter(e=>e.field_values===s)))),J=F(({uuid:t})=>t),Or={instances:{}},Es=o.createSlice({name:"assetProcedureTypeFieldValues",initialState:Or,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,Or)),reducers:{initializeAssetProcedureTypeFieldValues:J.initialize,addAssetProcedureTypeFieldValues:J.addOne,addAssetProcedureTypeFieldValuesMany:J.addMany,setAssetProcedureTypeFieldValues:J.setOne,setAssetProcedureTypeFieldValuesMany:J.setMany,updateAssetProcedureTypeFieldValues:J.updateOne,updateAssetProcedureTypeFieldValuesMany:J.updateMany,deleteAssetProcedureTypeFieldValues:J.deleteOne,deleteAssetProcedureTypeFieldValuesMany:J.deleteMany}}),{initializeAssetProcedureTypeFieldValues:Fr,addAssetProcedureTypeFieldValues:gr,addAssetProcedureTypeFieldValuesMany:Pr,setAssetProcedureTypeFieldValues:_r,setAssetProcedureTypeFieldValuesMany:br,updateAssetProcedureTypeFieldValues:Mr,updateAssetProcedureTypeFieldValuesMany:Rr,deleteAssetProcedureTypeFieldValues:Er,deleteAssetProcedureTypeFieldValuesMany:kr}=Es.actions,vr=Es.reducer,Vr=t=>t.assetProcedureTypeFieldValuesReducer.instances,zt=o.createSelector([Vr],t=>Object.values(t)),u_=S(o.createSelector([zt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset===s)))),o_=S(o.createSelector([zt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_procedure===s)))),Br=t=>s=>s.assetProcedureTypeFieldValuesReducer.instances[t],zr=S(o.createSelector([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Q=F(({uuid:t})=>t),Wr={instances:{}},ks=o.createSlice({name:"assetProcedures",initialState:Wr,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,Wr)),reducers:{initializeAssetProcedures:Q.initialize,addAssetProcedure:Q.addOne,addAssetProcedures:Q.addMany,setAssetProcedure:Q.setOne,setAssetProcedures:Q.setMany,updateAssetProcedure:Q.updateOne,updateAssetProcedures:Q.updateMany,deleteAssetProcedure:Q.deleteOne,deleteAssetProcedures:Q.deleteMany}}),{initializeAssetProcedures:qr,addAssetProcedure:Dr,addAssetProcedures:vs,updateAssetProcedure:jr,updateAssetProcedures:$r,deleteAssetProcedure:Cr,deleteAssetProcedures:Vs,setAssetProcedure:Ur,setAssetProcedures:Lr}=ks.actions,Nr=ks.reducer,Gr=t=>t.assetProcedureReducer.instances,Wt=o.createSelector([Gr],t=>Object.values(t)),Hr=S(o.createSelector([Wt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_procedure_type===s)))),h_=S(o.createSelector([Wt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_type===s)))),Kr=t=>s=>s.assetProcedureReducer.instances[t],Yr=S(o.createSelector([Wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),X=F(t=>t.uuid),Zr={instances:{}},Bs=o.createSlice({name:"assetProcedureTypes",initialState:Zr,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Zr)),reducers:{initializeAssetProcedureTypes:X.initialize,addAssetProcedureType:X.addOne,addAssetProcedureTypes:X.addMany,setAssetProcedureType:X.setOne,setAssetProcedureTypes:X.setMany,updateAssetProcedureType:X.updateOne,updateAssetProcedureTypes:X.updateMany,deleteAssetProcedureType:X.deleteOne,deleteAssetProcedureTypes:X.deleteMany}}),{initializeAssetProcedureTypes:Jr,addAssetProcedureType:Qr,addAssetProcedureTypes:Xr,updateAssetProcedureType:xr,updateAssetProcedureTypes:ed,deleteAssetProcedureType:td,deleteAssetProcedureTypes:sd,setAssetProcedureType:id,setAssetProcedureTypes:nd}=Bs.actions,ad=Bs.reducer,cd=t=>t.assetProcedureTypeReducer.instances,zs=o.createSelector([cd],t=>Object.values(t)),rd=t=>s=>s.assetProcedureTypeReducer.instances[t],dd=S(o.createSelector([zs,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),p_=S(o.createSelector([zs,(t,s)=>s],(t,s)=>A(t.filter(e=>e.organization===s)))),x=F(t=>t.uuid),ld={instances:{}},Ws=o.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:ld,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,ld)),reducers:{initializeAssetProcedureStepFieldsAttachments:x.initialize,addAssetProcedureStepFieldsAttachment:x.addOne,addAssetProcedureStepFieldsAttachments:x.addMany,setAssetProcedureStepFieldsAttachment:x.setOne,setAssetProcedureStepFieldsAttachments:x.setMany,updateAssetProcedureStepFieldsAttachment:x.updateOne,updateAssetProcedureStepFieldsAttachments:x.updateMany,deleteAssetProcedureStepFieldsAttachment:x.deleteOne,deleteAssetProcedureStepFieldsAttachments:x.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:ud,addAssetProcedureStepFieldsAttachment:od,addAssetProcedureStepFieldsAttachments:hd,setAssetProcedureStepFieldsAttachment:pd,setAssetProcedureStepFieldsAttachments:md,updateAssetProcedureStepFieldsAttachment:yd,updateAssetProcedureStepFieldsAttachments:fd,deleteAssetProcedureStepFieldsAttachment:Sd,deleteAssetProcedureStepFieldsAttachments:Ad}=Ws.actions,Td=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,qs=o.createSelector([Td],t=>Object.values(t)),m_=S(o.createSelector([qs,(t,s)=>s],(t,s)=>A(t.filter(e=>e.fields_revision===s)))),wd=t=>s=>s.assetProcedureStepFieldsAttachmentReducer.instances[t],Id=S(o.createSelector([qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Od=Ws.reducer,ee=F(t=>t.uuid),Fd={instances:{}},Ds=o.createSlice({name:"assetProcedureStepFields",initialState:Fd,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Fd)),reducers:{initializeAssetProcedureStepFields:ee.initialize,addAssetProcedureStepFields:ee.addOne,addAssetProcedureStepFieldsMany:ee.addMany,setAssetProcedureStepFields:ee.setOne,setAssetProcedureStepFieldsMany:ee.setMany,updateAssetProcedureStepFields:ee.updateOne,updateAssetProcedureStepFieldsMany:ee.updateMany,deleteAssetProcedureStepFields:ee.deleteOne,deleteAssetProcedureStepFieldsMany:ee.deleteMany}}),{initializeAssetProcedureStepFields:gd,addAssetProcedureStepFields:Pd,addAssetProcedureStepFieldsMany:_d,setAssetProcedureStepFields:bd,setAssetProcedureStepFieldsMany:Md,updateAssetProcedureStepFields:Rd,updateAssetProcedureStepFieldsMany:Ed,deleteAssetProcedureStepFields:kd,deleteAssetProcedureStepFieldsMany:vd}=Ds.actions,js=t=>t.assetProcedureStepFieldsReducer.instances,qt=o.createSelector([js],t=>Object.values(t)),y_=S(o.createSelector([qt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_procedure_step===s)))),f_=S(o.createSelector([qt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_step===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),S_=o.createSelector([js],t=>{const s={};for(const e of Object.values(t)){const n=s[e.asset_procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.asset_procedure_step]=e)}return s}),Vd=t=>s=>s.assetProcedureStepFieldsReducer.instances[t],Bd=S(o.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),zd=Ds.reducer,te=F(t=>t.uuid),Wd={instances:{}},$s=o.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:Wd,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,Wd)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:te.initialize,addAssetProcedureStepFieldValuesAttachment:te.addOne,addAssetProcedureStepFieldValuesAttachments:te.addMany,setAssetProcedureStepFieldValuesAttachment:te.setOne,setAssetProcedureStepFieldValuesAttachments:te.setMany,updateAssetProcedureStepFieldValuesAttachment:te.updateOne,updateAssetProcedureStepFieldValuesAttachments:te.updateMany,deleteAssetProcedureStepFieldValuesAttachment:te.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:te.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:qd,addAssetProcedureStepFieldValuesAttachment:Dd,addAssetProcedureStepFieldValuesAttachments:Cs,setAssetProcedureStepFieldValuesAttachment:jd,setAssetProcedureStepFieldValuesAttachments:$d,updateAssetProcedureStepFieldValuesAttachment:Cd,updateAssetProcedureStepFieldValuesAttachments:Ud,deleteAssetProcedureStepFieldValuesAttachment:Ld,deleteAssetProcedureStepFieldValuesAttachments:Us}=$s.actions,Nd=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,Ls=o.createSelector([Nd],t=>Object.values(t)),Gd=t=>s=>s.assetProcedureStepFieldValuesAttachmentReducer.instances[t],Hd=S(o.createSelector([Ls,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Kd=S(o.createSelector([Ls,(t,s)=>s],(t,s)=>A(t.filter(e=>e.field_values===s)))),Yd=$s.reducer,se=F(t=>t.uuid),Zd={instances:{}},Ns=o.createSlice({name:"assetProcedureStepFieldValues",initialState:Zd,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,Zd)),reducers:{initializeAssetProcedureStepFieldValues:se.initialize,addAssetProcedureStepFieldValues:se.addOne,addAssetProcedureStepFieldValuesMany:se.addMany,setAssetProcedureStepFieldValues:se.setOne,setAssetProcedureStepFieldValuesMany:se.setMany,updateAssetProcedureStepFieldValues:se.updateOne,updateAssetProcedureStepFieldValuesMany:se.updateMany,deleteAssetProcedureStepFieldValues:se.deleteOne,deleteAssetProcedureStepFieldValuesMany:se.deleteMany}}),{initializeAssetProcedureStepFieldValues:Jd,addAssetProcedureStepFieldValues:Qd,addAssetProcedureStepFieldValuesMany:Xd,setAssetProcedureStepFieldValues:xd,setAssetProcedureStepFieldValuesMany:el,updateAssetProcedureStepFieldValues:tl,updateAssetProcedureStepFieldValuesMany:sl,deleteAssetProcedureStepFieldValues:il,deleteAssetProcedureStepFieldValuesMany:nl}=Ns.actions,al=t=>t.assetProcedureStepFieldValuesReducer.instances,Pt=o.createSelector([al],t=>Object.values(t)),A_=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset===s)))),T_=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_procedure===s)))),w_=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_procedure_step===s)))),cl=t=>s=>s.assetProcedureStepFieldValuesReducer.instances[t],rl=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),dl=Ns.reducer,ie=F(t=>t.uuid),ll={instances:{}},Gs=o.createSlice({name:"assetProcedureSteps",initialState:ll,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,ll)),reducers:{initializeAssetProcedureSteps:ie.initialize,setAssetProcedureStep:ie.setOne,setAssetProcedureSteps:ie.setMany,addAssetProcedureStep:ie.addOne,addAssetProcedureSteps:ie.addMany,updateAssetProcedureStep:ie.updateOne,updateAssetProcedureSteps:ie.updateMany,deleteAssetProcedureStep:ie.deleteOne,deleteAssetProcedureSteps:ie.deleteMany}}),{initializeAssetProcedureSteps:ul,setAssetProcedureStep:ol,setAssetProcedureSteps:hl,addAssetProcedureStep:pl,addAssetProcedureSteps:ml,updateAssetProcedureStep:yl,updateAssetProcedureSteps:fl,deleteAssetProcedureStep:Sl,deleteAssetProcedureSteps:Al}=Gs.actions,Tl=Gs.reducer,Dt=t=>t.assetProcedureStepReducer.instances,wl=t=>s=>s.assetProcedureStepReducer.instances[t],Hs=o.createSelector([Dt],t=>Object.values(t)),I_=S(o.createSelector([Dt,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return kt(e)})),O_=S(o.createSelector([Hs,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_procedure_type===s)))),Il=S(o.createSelector([Hs,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Ol=S(o.createSelector([Dt,(t,s)=>s],(t,s)=>{if(!t[s])return A([]);const a=Qa(s,Object.values(t)).all().map(({model:c})=>c);return A(a)})),ne=F(t=>t.uuid),Fl={instances:{}},Ks=o.createSlice({name:"assets",initialState:Fl,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,Fl)),reducers:{initializeAssets:ne.initialize,addAsset:ne.addOne,addAssets:ne.addMany,setAsset:ne.setOne,setAssets:ne.setMany,updateAsset:ne.updateOne,updateAssets:ne.updateMany,deleteAsset:ne.deleteOne,deleteAssets:ne.deleteMany}}),{initializeAssets:gl,addAsset:Pl,addAssets:Ys,updateAsset:_l,updateAssets:bl,deleteAsset:Ml,deleteAssets:Zs,setAsset:Rl,setAssets:El}=Ks.actions,kl=t=>t.assetReducer.instances,jt=o.createSelector([kl],t=>A(Object.values(t))),F_=S(o.createSelector([jt,(t,s)=>s],(t,s)=>A(t.filter(({project:e})=>e===s)))),vl=S(o.createSelector([jt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_type===s)))),Vl=t=>s=>s.assetReducer.instances[t],Bl=S(o.createSelector([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),zl=Ks.reducer,ae=F(t=>t.uuid),Wl={instances:{}},Js=o.createSlice({name:"assetStageCompletions",initialState:Wl,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,Wl)),reducers:{initializeAssetStageCompletions:ae.initialize,addAssetStageCompletion:ae.addOne,addAssetStageCompletions:ae.addMany,setAssetStageCompletion:ae.setOne,setAssetStageCompletions:ae.setMany,updateAssetStageCompletion:ae.updateOne,updateAssetStageCompletions:ae.updateMany,deleteAssetStageCompletion:ae.deleteOne,deleteAssetStageCompletions:ae.deleteMany}}),{initializeAssetStageCompletions:ql,addAssetStageCompletion:Dl,addAssetStageCompletions:jl,setAssetStageCompletion:$l,setAssetStageCompletions:Cl,updateAssetStageCompletion:Ul,updateAssetStageCompletions:Ll,deleteAssetStageCompletion:Nl,deleteAssetStageCompletions:Gl}=Js.actions,Hl=Js.reducer,Kl=t=>t.assetStageCompletionReducer.instances,Yl=o.createSelector([Kl],t=>Object.values(t)),Zl=t=>s=>s.assetStageCompletionReducer.instances[t],Jl=S(o.createSelector([Yl,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),ce=F(t=>t.uuid),Ql={instances:{}},Qs=o.createSlice({name:"assetStages",initialState:Ql,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Ql)),reducers:{initializeAssetStages:ce.initialize,setAssetStage:ce.setOne,setAssetStages:ce.setMany,addAssetStage:ce.addOne,addAssetStages:ce.addMany,updateAssetStage:ce.updateOne,updateAssetStages:ce.updateMany,deleteAssetStage:ce.deleteOne,deleteAssetStages:ce.deleteMany}}),{initializeAssetStages:Xl,setAssetStage:xl,setAssetStages:eu,addAssetStage:tu,addAssetStages:su,updateAssetStage:iu,updateAssetStages:nu,deleteAssetStage:au,deleteAssetStages:cu}=Qs.actions,ru=Qs.reducer,Xs=t=>t.assetStageReducer.instances,du=t=>s=>s.assetStageReducer.instances[t],xs=o.createSelector([Xs],t=>Object.values(t)),g_=S(o.createSelector([Xs,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return kt(e)})),P_=S(o.createSelector([xs,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_procedure_type===s)))),lu=S(o.createSelector([xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),re=F(t=>t.uuid),uu={instances:{}},ei=o.createSlice({name:"assetTypeAttachments",initialState:uu,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,uu)),reducers:{initializeAssetTypeAttachments:re.initialize,addAssetTypeAttachment:re.addOne,addAssetTypeAttachments:re.addMany,setAssetTypeAttachment:re.setOne,setAssetTypeAttachments:re.setMany,updateAssetTypeAttachment:re.updateOne,updateAssetTypeAttachments:re.updateMany,deleteAssetTypeAttachment:re.deleteOne,deleteAssetTypeAttachments:re.deleteMany}}),{initializeAssetTypeAttachments:ou,addAssetTypeAttachment:hu,addAssetTypeAttachments:ti,setAssetTypeAttachment:pu,setAssetTypeAttachments:mu,updateAssetTypeAttachment:yu,updateAssetTypeAttachments:fu,deleteAssetTypeAttachment:Su,deleteAssetTypeAttachments:si}=ei.actions,Au=t=>t.assetTypeAttachmentReducer.instances,ii=o.createSelector([Au],t=>Object.values(t)),Tu=t=>s=>s.assetTypeAttachmentReducer.instances[t],wu=S(o.createSelector([ii,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Iu=S(o.createSelector([ii,(t,s)=>s],(t,s)=>A(t.filter(({asset_type:e})=>s===e)))),Ou=ei.reducer,de=F(t=>t.uuid),Fu={instances:{}},ni=o.createSlice({name:"assetTypeFieldsAttachments",initialState:Fu,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Fu)),reducers:{initializeAssetTypeFieldsAttachments:de.initialize,addAssetTypeFieldsAttachment:de.addOne,addAssetTypeFieldsAttachments:de.addMany,setAssetTypeFieldsAttachment:de.setOne,setAssetTypeFieldsAttachments:de.setMany,updateAssetTypeFieldsAttachment:de.updateOne,updateAssetTypeFieldsAttachments:de.updateMany,deleteAssetTypeFieldsAttachment:de.deleteOne,deleteAssetTypeFieldsAttachments:de.deleteMany}}),{initializeAssetTypeFieldsAttachments:gu,addAssetTypeFieldsAttachment:Pu,addAssetTypeFieldsAttachments:_u,setAssetTypeFieldsAttachment:bu,setAssetTypeFieldsAttachments:Mu,updateAssetTypeFieldsAttachment:Ru,updateAssetTypeFieldsAttachments:Eu,deleteAssetTypeFieldsAttachment:ku,deleteAssetTypeFieldsAttachments:vu}=ni.actions,Vu=t=>t.assetTypeFieldsAttachmentReducer.instances,ai=o.createSelector([Vu],t=>Object.values(t)),__=S(o.createSelector([ai,(t,s)=>s],(t,s)=>A(t.filter(e=>e.fields_revision===s)))),Bu=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],zu=S(o.createSelector([ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Wu=ni.reducer,le=F(t=>t.uuid),qu={instances:{}},ci=o.createSlice({name:"assetTypeFields",initialState:qu,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,qu)),reducers:{initializeAssetTypeFields:le.initialize,addAssetTypeFields:le.addOne,addAssetTypeFieldsMany:le.addMany,setAssetTypeFields:le.setOne,setAssetTypeFieldsMany:le.setMany,updateAssetTypeFields:le.updateOne,updateAssetTypeFieldsMany:le.updateMany,deleteAssetTypeFields:le.deleteOne,deleteAssetTypeFieldsMany:le.deleteMany}}),{initializeAssetTypeFields:Du,addAssetTypeFields:ju,addAssetTypeFieldsMany:$u,setAssetTypeFields:Cu,setAssetTypeFieldsMany:Uu,updateAssetTypeFields:Lu,updateAssetTypeFieldsMany:Nu,deleteAssetTypeFields:Gu,deleteAssetTypeFieldsMany:Hu}=ci.actions,Ku=t=>t.assetTypeFieldsReducer.instances,_t=o.createSelector([Ku],t=>Object.values(t)),b_=S(o.createSelector([_t,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_type===s)))),M_=S(o.createSelector([_t,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Yu=t=>s=>s.assetTypeFieldsReducer.instances[t],Zu=S(o.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Ju=ci.reducer,ue=F(t=>t.uuid),Qu={instances:{}},ri=o.createSlice({name:"assetTypeFieldValuesAttachments",initialState:Qu,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,Qu)),reducers:{initializeAssetTypeFieldValuesAttachments:ue.initialize,addAssetTypeFieldValuesAttachment:ue.addOne,addAssetTypeFieldValuesAttachments:ue.addMany,setAssetTypeFieldValuesAttachment:ue.setOne,setAssetTypeFieldValuesAttachments:ue.setMany,updateAssetTypeFieldValuesAttachment:ue.updateOne,updateAssetTypeFieldValuesAttachments:ue.updateMany,deleteAssetTypeFieldValuesAttachment:ue.deleteOne,deleteAssetTypeFieldValuesAttachments:ue.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Xu,addAssetTypeFieldValuesAttachment:xu,addAssetTypeFieldValuesAttachments:di,setAssetTypeFieldValuesAttachment:eo,setAssetTypeFieldValuesAttachments:to,updateAssetTypeFieldValuesAttachment:so,updateAssetTypeFieldValuesAttachments:io,deleteAssetTypeFieldValuesAttachment:no,deleteAssetTypeFieldValuesAttachments:li}=ri.actions,ao=t=>t.assetTypeFieldValuesAttachmentReducer.instances,ui=o.createSelector([ao],t=>Object.values(t)),co=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],ro=S(o.createSelector([ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),lo=S(o.createSelector([ui,(t,s)=>s],(t,s)=>A(t.filter(e=>e.field_values===s)))),uo=ri.reducer,oe=F(t=>t.uuid),oo={instances:{}},oi=o.createSlice({name:"assetTypeFieldValues",initialState:oo,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,oo)),reducers:{initializeAssetTypeFieldValues:oe.initialize,addAssetTypeFieldValues:oe.addOne,addAssetTypeFieldValuesMany:oe.addMany,setAssetTypeFieldValues:oe.setOne,setAssetTypeFieldValuesMany:oe.setMany,updateAssetTypeFieldValues:oe.updateOne,updateAssetTypeFieldValuesMany:oe.updateMany,deleteAssetTypeFieldValues:oe.deleteOne,deleteAssetTypeFieldValuesMany:oe.deleteMany}}),{initializeAssetTypeFieldValues:ho,addAssetTypeFieldValues:po,addAssetTypeFieldValuesMany:mo,setAssetTypeFieldValues:yo,setAssetTypeFieldValuesMany:fo,updateAssetTypeFieldValues:So,updateAssetTypeFieldValuesMany:Ao,deleteAssetTypeFieldValues:To,deleteAssetTypeFieldValuesMany:wo}=oi.actions,Io=t=>t.assetTypeFieldValuesReducer.instances,$t=o.createSelector([Io],t=>Object.values(t)),R_=S(o.createSelector([$t,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset===s)))),E_=S(o.createSelector([_t,$t,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.asset_type===e).map(a=>a.uuid));return A(s.filter(a=>n.has(a.fields_revision)))})),Oo=t=>s=>s.assetTypeFieldValuesReducer.instances[t],Fo=S(o.createSelector([$t,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),go=oi.reducer,he=F(t=>t.uuid),Po={instances:{}},hi=o.createSlice({name:"assetTypeIdentifiers",initialState:Po,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Po)),reducers:{initializeAssetTypeIdentifiers:he.initialize,addAssetTypeIdentifier:he.addOne,addAssetTypeIdentifiers:he.addMany,setAssetTypeIdentifier:he.setOne,setAssetTypeIdentifiers:he.setMany,updateAssetTypeIdentifier:he.updateOne,updateAssetTypeIdentifiers:he.updateMany,deleteAssetTypeIdentifier:he.deleteOne,deleteAssetTypeIdentifiers:he.deleteMany}}),{initializeAssetTypeIdentifiers:_o,addAssetTypeIdentifier:bo,addAssetTypeIdentifiers:Mo,setAssetTypeIdentifier:Ro,setAssetTypeIdentifiers:Eo,updateAssetTypeIdentifier:ko,updateAssetTypeIdentifiers:vo,deleteAssetTypeIdentifier:Vo,deleteAssetTypeIdentifiers:Bo}=hi.actions,zo=t=>t.assetTypeIdentifierReducer.instances,pi=o.createSelector([zo],t=>Object.values(t)),Wo=t=>s=>s.assetTypeIdentifierReducer.instances[t],qo=S(o.createSelector([pi,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),k_=S(o.createSelector([pi,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_type===s)))),Do=hi.reducer,pe=F(t=>t.uuid),jo={instances:{}},mi=o.createSlice({name:"assetTypeIdentifierValues",initialState:jo,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,jo)),reducers:{initializeAssetTypeIdentifierValues:pe.initialize,addAssetTypeIdentifierValue:pe.addOne,addAssetTypeIdentifierValues:pe.addMany,setAssetTypeIdentifierValue:pe.setOne,setAssetTypeIdentifierValues:pe.setMany,updateAssetTypeIdentifierValue:pe.updateOne,updateAssetTypeIdentifierValues:pe.updateMany,deleteAssetTypeIdentifierValue:pe.deleteOne,deleteAssetTypeIdentifierValues:pe.deleteMany}}),{initializeAssetTypeIdentifierValues:$o,addAssetTypeIdentifierValue:Co,addAssetTypeIdentifierValues:Uo,setAssetTypeIdentifierValue:Lo,setAssetTypeIdentifierValues:No,updateAssetTypeIdentifierValue:Go,updateAssetTypeIdentifierValues:Ho,deleteAssetTypeIdentifierValue:Ko,deleteAssetTypeIdentifierValues:Yo}=mi.actions,Zo=t=>t.assetTypeIdentifierValueReducer.instances,Ct=o.createSelector([Zo],t=>Object.values(t)),Jo=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],Qo=S(o.createSelector([Ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),v_=S(o.createSelector([Ct,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset===s)))),V_=S(o.createSelector([Ct,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_type_identifier===s)))),Xo=mi.reducer,me=F(t=>t.uuid),xo={instances:{}},yi=o.createSlice({name:"assetTypes",initialState:xo,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,xo)),reducers:{initializeAssetTypes:me.initialize,setAssetType:me.setOne,setAssetTypes:me.setMany,addAssetType:me.addOne,addAssetTypes:me.addMany,updateAssetType:me.updateOne,updateAssetTypes:me.updateMany,deleteAssetType:me.deleteOne,deleteAssetTypes:me.deleteMany}}),{initializeAssetTypes:eh,setAssetType:th,setAssetTypes:sh,addAssetType:ih,addAssetTypes:nh,updateAssetType:ah,updateAssetTypes:ch,deleteAssetType:rh,deleteAssetTypes:dh}=yi.actions,lh=t=>t.assetTypeReducer.instances,fi=o.createSelector([lh],t=>Object.values(t)),uh=t=>s=>s.assetTypeReducer.instances[t],oh=S(o.createSelector([fi,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),B_=S(o.createSelector([fi,(t,s)=>s],(t,s)=>A(t.filter(e=>e.organization===s)))),hh=yi.reducer,ye=F(t=>t.uuid),ph={instances:{}},Si=o.createSlice({name:"assetTypeStatuses",initialState:ph,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,ph)),reducers:{initializeAssetTypeStatuses:ye.initialize,addAssetTypeStatus:ye.addOne,addAssetTypeStatuses:ye.addMany,setAssetTypeStatus:ye.setOne,setAssetTypeStatuses:ye.setMany,updateAssetTypeStatus:ye.updateOne,updateAssetTypeStatuses:ye.updateMany,deleteAssetTypeStatus:ye.deleteOne,deleteAssetTypeStatuses:ye.deleteMany}}),{initializeAssetTypeStatuses:mh,addAssetTypeStatus:yh,addAssetTypeStatuses:fh,setAssetTypeStatus:Sh,setAssetTypeStatuses:Ah,updateAssetTypeStatus:Th,updateAssetTypeStatuses:wh,deleteAssetTypeStatus:Ih,deleteAssetTypeStatuses:Oh}=Si.actions,Fh=t=>t.assetTypeStatusReducer.instances,Ai=o.createSelector([Fh],t=>A(Object.values(t).toSorted(Xa))),gh=t=>s=>s.assetTypeStatusReducer.instances[t],Ph=S(o.createSelector([Ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),z_=S(o.createSelector([Ai,(t,s)=>s],(t,s)=>A(t.filter(e=>e.asset_type===s)))),_h=Si.reducer,bh={accessToken:"",refreshToken:"",isLoggedIn:!1},Ut=o.createSlice({name:"auth",initialState:bh,extraReducers:t=>t.addCase(I,s=>Object.assign(s,bh)),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||Ut.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:W_,clearTokens:q_,setLoggedIn:Mh}=Ut.actions,D_=t=>t.authReducer.accessToken,j_=t=>t.authReducer.isLoggedIn,Rh=Ut.reducer,fe=F(t=>t.uuid),Eh={instances:{}},Ti=o.createSlice({name:"documentAttachments",initialState:Eh,extraReducers:t=>t.addCase(I,s=>Object.assign(s,Eh)),reducers:{initializeDocumentAttachments:fe.initialize,addDocumentAttachment:fe.addOne,addDocumentAttachments:fe.addMany,setDocumentAttachment:fe.setOne,setDocumentAttachments:fe.setMany,updateDocumentAttachment:fe.updateOne,updateDocumentAttachments:fe.updateMany,deleteDocumentAttachment:fe.deleteOne,deleteDocumentAttachments:fe.deleteMany}}),{initializeDocumentAttachments:kh,addDocumentAttachment:vh,addDocumentAttachments:Vh,setDocumentAttachment:Bh,setDocumentAttachments:zh,updateDocumentAttachment:Wh,updateDocumentAttachments:qh,deleteDocumentAttachment:Dh,deleteDocumentAttachments:jh}=Ti.actions,$h=t=>t.documentAttachmentReducer.instances,wi=o.createSelector([$h],t=>Object.values(t)),Ch=t=>s=>s.documentAttachmentReducer.instances[t],Uh=S(o.createSelector([wi,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),$_=S(o.createSelector([wi,(t,s)=>s],(t,s)=>A(t.filter(({document:e})=>s===e)))),Lh=Ti.reducer,Se=F(({uuid:t})=>t),Nh={instances:{}},Ii=o.createSlice({name:"documents",initialState:Nh,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>{Object.assign(s,Nh)}),reducers:{initializeDocuments:Se.initialize,addDocument:Se.addOne,addDocuments:Se.addMany,setDocument:Se.setOne,setDocuments:Se.setMany,updateDocument:Se.updateOne,updateDocuments:Se.updateMany,deleteDocument:Se.deleteOne,deleteDocuments:Se.deleteMany}}),{initializeDocuments:Gh,addDocument:Hh,addDocuments:Kh,setDocument:Yh,setDocuments:Zh,updateDocument:Jh,updateDocuments:Qh,deleteDocument:Xh,deleteDocuments:xh}=Ii.actions,ep=Ii.reducer,Oi=t=>t.documentsReducer.instances,Lt=o.createSelector([Oi],t=>Object.values(t)),tp=t=>s=>s.documentsReducer.instances[t],sp=S(o.createSelector([Lt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),C_=S(o.createSelector([Lt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),U_=S(o.createSelector([Lt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),ip=S(o.createSelector([Oi,(t,s)=>s],(t,s)=>{if(!t[s])return A([]);const a=tc(s,Object.values(t)).all().map(({model:c})=>c);return A(a)})),Ae=F(t=>t.uuid),np={instances:{}},Fi=o.createSlice({name:"emailDomains",initialState:np,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,np)),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:ap,addEmailDomain:cp,addEmailDomains:rp,setEmailDomain:dp,setEmailDomains:lp,updateEmailDomain:up,updateEmailDomains:op,deleteEmailDomain:hp,deleteEmailDomains:pp}=Fi.actions,mp=t=>t.emailDomainsReducer.instances,gi=o.createSelector([mp],t=>Object.values(t)),yp=t=>s=>s.emailDomainsReducer.instances[t],fp=S(o.createSelector([gi,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),L_=S(o.createSelector([gi,(t,s)=>s],(t,s)=>A(t.filter(e=>e.organization===s)))),Sp=Fi.reducer,Ap={s3Urls:{}},Tp=1e3*60*60,N_=Tp*24*7,Pi=o.createSlice({name:"file",initialState:Ap,extraReducers:t=>t.addCase(I,s=>Object.assign(s,Ap)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,c=new Date,r=new Date(c.getTime()+N_);t.s3Urls[a]={url:e,fields:n,exp:r.getTime()}}}}),{setUploadUrl:G_}=Pi.actions,H_=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<Tp))return e},wp=Pi.reducer,Te=F(t=>t.uuid),Ip={instances:{}},_i=o.createSlice({name:"formIdentifiers",initialState:Ip,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Ip)),reducers:{initializeFormIdentifiers:Te.initialize,addFormIdentifier:Te.addOne,addFormIdentifiers:Te.addMany,setFormIdentifier:Te.setOne,setFormIdentifiers:Te.setMany,updateFormIdentifier:Te.updateOne,updateFormIdentifiers:Te.updateMany,deleteFormIdentifier:Te.deleteOne,deleteFormIdentifiers:Te.deleteMany}}),{initializeFormIdentifiers:Op,addFormIdentifier:Fp,addFormIdentifiers:gp,setFormIdentifier:Pp,setFormIdentifiers:_p,updateFormIdentifier:bp,updateFormIdentifiers:Mp,deleteFormIdentifier:Rp,deleteFormIdentifiers:Ep}=_i.actions,kp=t=>t.formIdentifierReducer.instances,bi=o.createSelector([kp],t=>Object.values(t)),vp=t=>s=>s.formIdentifierReducer.instances[t],Vp=S(o.createSelector([bi,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),K_=S(o.createSelector([bi,(t,s)=>s],(t,s)=>A(t.filter(e=>e.form===s)))),Bp=_i.reducer,we=F(t=>t.uuid),zp={instances:{}},Mi=o.createSlice({name:"formIdentifierValues",initialState:zp,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,zp)),reducers:{initializeFormIdentifierValues:we.initialize,addFormIdentifierValue:we.addOne,addFormIdentifierValues:we.addMany,setFormIdentifierValue:we.setOne,setFormIdentifierValues:we.setMany,updateFormIdentifierValue:we.updateOne,updateFormIdentifierValues:we.updateMany,deleteFormIdentifierValue:we.deleteOne,deleteFormIdentifierValues:we.deleteMany}}),{initializeFormIdentifierValues:Wp,addFormIdentifierValue:qp,addFormIdentifierValues:Dp,setFormIdentifierValue:jp,setFormIdentifierValues:$p,updateFormIdentifierValue:Cp,updateFormIdentifierValues:Up,deleteFormIdentifierValue:Lp,deleteFormIdentifierValues:Np}=Mi.actions,Gp=t=>t.formIdentifierValueReducer.instances,Nt=o.createSelector([Gp],t=>Object.values(t)),Hp=t=>s=>s.formIdentifierValueReducer.instances[t],Kp=S(o.createSelector([Nt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Y_=S(o.createSelector([Nt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.form_submission===s)))),Z_=S(o.createSelector([Nt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.form_identifier===s)))),Yp=Mi.reducer,Ie=F(t=>t.uuid),Zp={instances:{}},Ri=o.createSlice({name:"formRevisionAttachments",initialState:Zp,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Zp)),reducers:{initializeFormRevisionAttachments:Ie.initialize,addFormRevisionAttachment:Ie.addOne,addFormRevisionAttachments:Ie.addMany,setFormRevisionAttachment:Ie.setOne,setFormRevisionAttachments:Ie.setMany,updateFormRevisionAttachment:Ie.updateOne,updateFormRevisionAttachments:Ie.updateMany,deleteFormRevisionAttachment:Ie.deleteOne,deleteFormRevisionAttachments:Ie.deleteMany}}),{initializeFormRevisionAttachments:Jp,addFormRevisionAttachment:Qp,addFormRevisionAttachments:Xp,setFormRevisionAttachment:xp,setFormRevisionAttachments:em,updateFormRevisionAttachment:tm,updateFormRevisionAttachments:sm,deleteFormRevisionAttachment:im,deleteFormRevisionAttachments:nm}=Ri.actions,Gt=t=>t.formRevisionAttachmentReducer.instances,am=o.createSelector([Gt],t=>Object.values(t)),cm=S(o.createSelector([Gt,(t,s)=>s],(t,s)=>t[s])),rm=S(o.createSelector([am,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),J_=S(o.createSelector([Gt,(t,s)=>s],(t,s)=>A(Object.values(t).filter(e=>e.form_revision===s)))),dm=Ri.reducer,Oe=F(t=>t.uuid),lm={instances:{}},Ei=o.createSlice({name:"formRevisions",initialState:lm,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,lm)),reducers:{initializeFormRevisions:Oe.initialize,addFormRevision:Oe.addOne,addFormRevisions:Oe.addMany,setFormRevision:Oe.setOne,setFormRevisions:Oe.setMany,updateFormRevision:Oe.updateOne,updateFormRevisions:Oe.updateMany,deleteFormRevision:Oe.deleteOne,deleteFormRevisions:Oe.deleteMany}}),{initializeFormRevisions:um,addFormRevision:ki,addFormRevisions:vi,setFormRevision:om,setFormRevisions:hm,updateFormRevision:pm,updateFormRevisions:mm,deleteFormRevision:Vi,deleteFormRevisions:Bi}=Ei.actions,zi=t=>t.formRevisionReducer.instances,Ht=o.createSelector([zi],t=>Object.values(t)),ym=t=>s=>s.formRevisionReducer.instances[t],fm=S(o.createSelector([Ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Q_=S(o.createSelector([Ht,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Sm=S(o.createSelector([Ht,(t,s)=>s],(t,s)=>A(t.filter(e=>e.form===s)))),Am=Ei.reducer,Fe=F(t=>t.uuid),Tm={instances:{}},Wi=o.createSlice({name:"forms",initialState:Tm,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Tm)),reducers:{initializeForms:Fe.initialize,addForm:Fe.addOne,addForms:Fe.addMany,setForm:Fe.setOne,setForms:Fe.setMany,updateForm:Fe.updateOne,updateForms:Fe.updateMany,deleteForm:Fe.deleteOne,deleteForms:Fe.deleteMany}}),{initializeForms:wm,addForm:Im,addForms:Om,setForm:Fm,setForms:gm,updateForm:Pm,updateForms:_m,deleteForm:bm,deleteForms:Mm}=Wi.actions,Rm=Wi.reducer,Em=t=>t.formReducer.instances,qi=o.createSelector([Em],t=>Object.values(t)),km=t=>s=>s.formReducer.instances[t],vm=S(o.createSelector([qi,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),X_=S(o.createSelector([qi,(t,s)=>s],(t,s)=>A(t.filter(e=>e.organization===s)))),ge=F(t=>t.uuid),Vm={instances:{}},Di=o.createSlice({name:"formSubmissionAttachments",initialState:Vm,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Vm)),reducers:{initializeFormSubmissionAttachments:ge.initialize,addFormSubmissionAttachment:ge.addOne,addFormSubmissionAttachments:ge.addMany,setFormSubmissionAttachment:ge.setOne,setFormSubmissionAttachments:ge.setMany,updateFormSubmissionAttachment:ge.updateOne,updateFormSubmissionAttachments:ge.updateMany,deleteFormSubmissionAttachment:ge.deleteOne,deleteFormSubmissionAttachments:ge.deleteMany}}),{initializeFormSubmissionAttachments:Bm,addFormSubmissionAttachment:zm,addFormSubmissionAttachments:ji,setFormSubmissionAttachment:Wm,setFormSubmissionAttachments:qm,updateFormSubmissionAttachment:Dm,updateFormSubmissionAttachments:jm,deleteFormSubmissionAttachment:$m,deleteFormSubmissionAttachments:$i}=Di.actions,Ci=t=>t.formSubmissionAttachmentReducer.instances,Ui=o.createSelector([Ci],t=>Object.values(t)),Cm=S(o.createSelector([Ci,(t,s)=>s],(t,s)=>t[s])),Li=S(o.createSelector([Ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(n=>e.has(n.uuid)))})),Um=Li,Lm=S(o.createSelector([Ui,(t,s)=>s],(t,s)=>A(t.filter(e=>e.form_submission===s)))),Nm=Di.reducer,Pe=F(t=>t.uuid),Gm={instances:{}},Ni=o.createSlice({name:"formSubmissions",initialState:Gm,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Gm)),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:Hm,setFormSubmission:Km,setFormSubmissions:Ym,addFormSubmission:Zm,addFormSubmissions:Gi,updateFormSubmission:Jm,updateFormSubmissions:Qm,deleteFormSubmission:Xm,deleteFormSubmissions:Hi}=Ni.actions,Ki=t=>t.formSubmissionReducer.instances,xm=o.createSelector([Ki],t=>Object.values(t)),ey=t=>s=>s.formSubmissionReducer.instances[t],ty=S(o.createSelector([xm,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),sy=S(o.createSelector([Ki,zi,(t,s)=>s],(t,s,e)=>{const n=new Set;for(const a of Object.values(s))a.form===e&&n.add(a.uuid);return Object.values(t).filter(a=>n.has(a.form_revision))})),iy=Ni.reducer,_e=F(t=>t.uuid),ny={instances:{}},Yi=o.createSlice({name:"geoImages",initialState:ny,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,ny)),reducers:{initializeGeoImages:_e.initialize,setGeoImage:_e.setOne,setGeoImages:_e.setMany,addGeoImage:_e.addOne,addGeoImages:_e.addMany,updateGeoImage:_e.updateOne,updateGeoImages:_e.updateMany,deleteGeoImage:_e.deleteOne,deleteGeoImages:_e.deleteMany}}),{initializeGeoImages:ay,setGeoImage:cy,setGeoImages:ry,addGeoImage:dy,addGeoImages:ly,updateGeoImage:uy,updateGeoImages:oy,deleteGeoImage:hy,deleteGeoImages:py}=Yi.actions,my=t=>t.geoImageReducer.instances,Zi=o.createSelector([my],t=>Object.values(t)),yy=t=>s=>s.geoImageReducer.instances[t],fy=S(o.createSelector([Zi,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),x_=S(o.createSelector([Zi,(t,s)=>s],(t,s)=>A(t.filter(e=>e.project===s)))),Sy=Yi.reducer,be=F(t=>t.uuid),Ay={instances:{}},Ji=o.createSlice({name:"issueAssociations",initialState:Ay,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,Ay)),reducers:{initializeIssueAssociations:be.initialize,addIssueAssociation:be.addOne,addIssueAssociations:be.addMany,setIssueAssociation:be.setOne,setIssueAssociations:be.setMany,updateIssueAssociation:be.updateOne,updateIssueAssociations:be.updateMany,deleteIssueAssociation:be.deleteOne,deleteIssueAssociations:be.deleteMany}}),{initializeIssueAssociations:Ty,setIssueAssociations:wy,setIssueAssociation:Iy,updateIssueAssociation:Oy,updateIssueAssociations:Fy,addIssueAssociation:gy,addIssueAssociations:pt,deleteIssueAssociation:Py,deleteIssueAssociations:mt}=Ji.actions,_y=t=>t.issueAssociationReducer.instances,yt=o.createSelector([_y],t=>Object.values(t)),by=t=>s=>s.issueAssociationReducer.instances[t],My=S(o.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Ry=S(o.createSelector([yt,(t,s)=>s],(t,s)=>A(t.filter(({associated_issue:e})=>e===s)))),Ey=S(o.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({associated_issue:n})=>e.has(n)))})),ky=S(o.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({issue:n})=>n&&e.has(n)))})),vy=S(o.createSelector([yt,(t,s)=>s],(t,s)=>A(t.filter(({issue:e})=>e===s)))),Vy=S(o.createSelector([yt,(t,s)=>s],(t,s)=>A(t.filter(({asset:e})=>e===s)))),By=Ji.reducer,Me=F(t=>t.uuid),zy={instances:{}},Qi=o.createSlice({name:"issueAttachments",initialState:zy,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,zy)),reducers:{initializeIssueAttachments:Me.initialize,addIssueAttachment:Me.addOne,addIssueAttachments:Me.addMany,setIssueAttachment:Me.setOne,setIssueAttachments:Me.setMany,updateIssueAttachment:Me.updateOne,updateIssueAttachments:Me.updateMany,deleteIssueAttachment:Me.deleteOne,deleteIssueAttachments:Me.deleteMany}}),{initializeIssueAttachments:Wy,addIssueAttachment:qy,addIssueAttachments:Xi,setIssueAttachment:Dy,setIssueAttachments:jy,updateIssueAttachment:$y,updateIssueAttachments:Cy,deleteIssueAttachment:Uy,deleteIssueAttachments:xi}=Qi.actions,Ly=t=>t.issueAttachmentReducer.instances,en=o.createSelector([Ly],t=>Object.values(t)),Ny=S(o.createSelector([en,(t,s)=>s],(t,s)=>A(t.filter(({issue:e})=>s===e)))),Gy=t=>s=>s.issueAttachmentReducer.instances[t],Hy=S(o.createSelector([en,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Ky=Qi.reducer,Re=F(t=>t.uuid),Yy={instances:{}},tn=o.createSlice({name:"issueCommentAttachments",initialState:Yy,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,Yy)),reducers:{initializeIssueCommentAttachments:Re.initialize,addIssueCommentAttachment:Re.addOne,addIssueCommentAttachments:Re.addMany,setIssueCommentAttachment:Re.setOne,setIssueCommentAttachments:Re.setMany,updateIssueCommentAttachment:Re.updateOne,updateIssueCommentAttachments:Re.updateMany,deleteIssueCommentAttachment:Re.deleteOne,deleteIssueCommentAttachments:Re.deleteMany}}),{initializeIssueCommentAttachments:Zy,addIssueCommentAttachment:Jy,addIssueCommentAttachments:Qy,setIssueCommentAttachment:Xy,setIssueCommentAttachments:xy,updateIssueCommentAttachment:ef,updateIssueCommentAttachments:tf,deleteIssueCommentAttachment:sf,deleteIssueCommentAttachments:nf}=tn.actions,af=t=>t.issueCommentAttachmentReducer.instances,sn=o.createSelector([af],t=>Object.values(t)),cf=t=>s=>s.issueCommentAttachmentReducer.instances[t],rf=S(o.createSelector([sn,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),eb=S(o.createSelector([sn,(t,s)=>s],(t,s)=>A(t.filter(({issue_comment:e})=>s===e)))),df=tn.reducer,Ee=F(t=>t.uuid),lf={instances:{}},nn=o.createSlice({name:"issueComments",initialState:lf,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,lf)),reducers:{initializeIssueComments:Ee.initialize,addIssueComment:Ee.addOne,addIssueComments:Ee.addMany,setIssueComment:Ee.setOne,setIssueComments:Ee.setMany,updateIssueComment:Ee.updateOne,updateIssueComments:Ee.updateMany,deleteIssueComment:Ee.deleteOne,deleteIssueComments:Ee.deleteMany}}),{initializeIssueComments:uf,addIssueComment:of,addIssueComments:hf,setIssueComment:pf,setIssueComments:mf,updateIssueComment:yf,updateIssueComments:ff,deleteIssueComment:Sf,deleteIssueComments:Af}=nn.actions,an=t=>t.issueCommentReducer.instances,Tf=t=>s=>s.issueCommentReducer.instances[t],wf=S(o.createSelector([an,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(Object.values(t).filter(({uuid:n})=>e.has(n)))})),tb=S(o.createSelector([an,(t,s)=>s],(t,s)=>A(Object.values(t).filter(e=>e.issue===s)))),If=nn.reducer,ke=F(t=>t.uuid),Of={instances:{}},cn=o.createSlice({name:"issues",initialState:Of,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,Of)),reducers:{initializeIssues:ke.initialize,addIssue:ke.addOne,addIssues:ke.addMany,setIssue:ke.setOne,setIssues:ke.setMany,updateIssue:ke.updateOne,updateIssues:ke.updateMany,deleteIssue:ke.deleteOne,deleteIssues:ke.deleteMany}}),{initializeIssues:Ff,addIssue:gf,addIssues:rn,setIssue:Pf,setIssues:_f,updateIssue:bf,updateIssues:Mf,deleteIssue:Rf,deleteIssues:dn}=cn.actions,Ef=t=>t.issueReducer.instances,Kt=o.createSelector([Ef],t=>Object.values(t)),kf=t=>s=>s.issueReducer.instances[t],vf=S(o.createSelector([Kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),sb=S(o.createSelector([Kt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Vf=S(o.createSelector([Kt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),Bf=cn.reducer,ve=F(t=>t.uuid),zf={instances:{}},ln=o.createSlice({name:"issueTypeAttachments",initialState:zf,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,zf)),reducers:{initializeIssueTypeAttachments:ve.initialize,addIssueTypeAttachment:ve.addOne,addIssueTypeAttachments:ve.addMany,setIssueTypeAttachment:ve.setOne,setIssueTypeAttachments:ve.setMany,updateIssueTypeAttachment:ve.updateOne,updateIssueTypeAttachments:ve.updateMany,deleteIssueTypeAttachment:ve.deleteOne,deleteIssueTypeAttachments:ve.deleteMany}}),{initializeIssueTypeAttachments:Wf,addIssueTypeAttachment:qf,addIssueTypeAttachments:Df,setIssueTypeAttachment:jf,setIssueTypeAttachments:$f,updateIssueTypeAttachment:Cf,updateIssueTypeAttachments:Uf,deleteIssueTypeAttachment:Lf,deleteIssueTypeAttachments:Nf}=ln.actions,Gf=t=>t.issueTypeAttachmentReducer.instances,un=o.createSelector([Gf],t=>Object.values(t)),Hf=t=>s=>s.issueTypeAttachmentReducer.instances[t],Kf=S(o.createSelector([un,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),ib=S(o.createSelector([un,(t,s)=>s],(t,s)=>A(t.filter(({issue_type:e})=>s===e)))),Yf=ln.reducer,Ve=F(t=>t.uuid),Zf={instances:{}},on=o.createSlice({name:"issueTypeFieldsAttachments",initialState:Zf,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Zf)),reducers:{initializeIssueTypeFieldsAttachments:Ve.initialize,addIssueTypeFieldsAttachment:Ve.addOne,addIssueTypeFieldsAttachments:Ve.addMany,setIssueTypeFieldsAttachment:Ve.setOne,setIssueTypeFieldsAttachments:Ve.setMany,updateIssueTypeFieldsAttachment:Ve.updateOne,updateIssueTypeFieldsAttachments:Ve.updateMany,deleteIssueTypeFieldsAttachment:Ve.deleteOne,deleteIssueTypeFieldsAttachments:Ve.deleteMany}}),{initializeIssueTypeFieldsAttachments:Jf,addIssueTypeFieldsAttachment:Qf,addIssueTypeFieldsAttachments:Xf,setIssueTypeFieldsAttachment:xf,setIssueTypeFieldsAttachments:eS,updateIssueTypeFieldsAttachment:tS,updateIssueTypeFieldsAttachments:sS,deleteIssueTypeFieldsAttachment:iS,deleteIssueTypeFieldsAttachments:nS}=on.actions,aS=t=>t.issueTypeFieldsAttachmentReducer.instances,hn=o.createSelector([aS],t=>Object.values(t)),nb=S(o.createSelector([hn,(t,s)=>s],(t,s)=>A(t.filter(e=>e.fields_revision===s)))),cS=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],rS=S(o.createSelector([hn,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),dS=on.reducer,Be=F(t=>t.uuid),lS={instances:{}},pn=o.createSlice({name:"issueTypeFieldValues",initialState:lS,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,lS)),reducers:{initializeIssueTypeFieldValues:Be.initialize,addIssueTypeFieldValues:Be.addOne,addIssueTypeFieldValuesMany:Be.addMany,setIssueTypeFieldValues:Be.setOne,setIssueTypeFieldValuesMany:Be.setMany,updateIssueTypeFieldValues:Be.updateOne,updateIssueTypeFieldValuesMany:Be.updateMany,deleteIssueTypeFieldValues:Be.deleteOne,deleteIssueTypeFieldValuesMany:Be.deleteMany}}),{initializeIssueTypeFieldValues:uS,addIssueTypeFieldValues:oS,addIssueTypeFieldValuesMany:hS,setIssueTypeFieldValues:pS,setIssueTypeFieldValuesMany:mS,updateIssueTypeFieldValues:yS,updateIssueTypeFieldValuesMany:fS,deleteIssueTypeFieldValues:SS,deleteIssueTypeFieldValuesMany:AS}=pn.actions,TS=t=>t.issueTypeFieldValuesReducer.instances,Yt=o.createSelector([TS],t=>Object.values(t)),ab=S(o.createSelector([Yt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.issue===s)))),wS=t=>s=>s.issueTypeFieldValuesReducer.instances[t],IS=S(o.createSelector([Yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),OS=pn.reducer,ze=F(t=>t.uuid),FS={instances:{}},mn=o.createSlice({name:"issueTypeFields",initialState:FS,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,FS)),reducers:{initializeIssueTypeFields:ze.initialize,addIssueTypeFields:ze.addOne,addIssueTypeFieldsMany:ze.addMany,setIssueTypeFields:ze.setOne,setIssueTypeFieldsMany:ze.setMany,updateIssueTypeFields:ze.updateOne,updateIssueTypeFieldsMany:ze.updateMany,deleteIssueTypeFields:ze.deleteOne,deleteIssueTypeFieldsMany:ze.deleteMany}}),{initializeIssueTypeFields:gS,addIssueTypeFields:PS,addIssueTypeFieldsMany:_S,setIssueTypeFields:bS,setIssueTypeFieldsMany:MS,updateIssueTypeFields:RS,updateIssueTypeFieldsMany:ES,deleteIssueTypeFields:kS,deleteIssueTypeFieldsMany:vS}=mn.actions,VS=t=>t.issueTypeFieldsReducer.instances,bt=o.createSelector([VS],t=>Object.values(t)),cb=S(o.createSelector([bt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.issue_type===s)))),rb=S(o.createSelector([bt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),db=S(o.createSelector([bt,Yt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.issue_type===e).map(a=>a.uuid));return A(s.filter(a=>n.has(a.fields_revision)))})),BS=t=>s=>s.issueTypeFieldsReducer.instances[t],zS=S(o.createSelector([bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),WS=mn.reducer,We=F(t=>t.uuid),qS={instances:{}},yn=o.createSlice({name:"issueTypeFieldValuesAttachments",initialState:qS,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,qS)),reducers:{initializeIssueTypeFieldValuesAttachments:We.initialize,addIssueTypeFieldValuesAttachment:We.addOne,addIssueTypeFieldValuesAttachments:We.addMany,setIssueTypeFieldValuesAttachment:We.setOne,setIssueTypeFieldValuesAttachments:We.setMany,updateIssueTypeFieldValuesAttachment:We.updateOne,updateIssueTypeFieldValuesAttachments:We.updateMany,deleteIssueTypeFieldValuesAttachment:We.deleteOne,deleteIssueTypeFieldValuesAttachments:We.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:DS,addIssueTypeFieldValuesAttachment:jS,addIssueTypeFieldValuesAttachments:fn,setIssueTypeFieldValuesAttachment:$S,setIssueTypeFieldValuesAttachments:CS,updateIssueTypeFieldValuesAttachment:US,updateIssueTypeFieldValuesAttachments:LS,deleteIssueTypeFieldValuesAttachment:NS,deleteIssueTypeFieldValuesAttachments:Sn}=yn.actions,GS=t=>t.issueTypeFieldValuesAttachmentReducer.instances,An=o.createSelector([GS],t=>Object.values(t)),HS=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],KS=S(o.createSelector([An,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),YS=S(o.createSelector([An,(t,s)=>s],(t,s)=>A(t.filter(e=>e.field_values===s)))),ZS=yn.reducer,qe=F(t=>t.uuid),JS={instances:{}},Tn=o.createSlice({name:"issueTypeIdentifiers",initialState:JS,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,JS)),reducers:{initializeIssueTypeIdentifiers:qe.initialize,addIssueTypeIdentifier:qe.addOne,addIssueTypeIdentifiers:qe.addMany,setIssueTypeIdentifier:qe.setOne,setIssueTypeIdentifiers:qe.setMany,updateIssueTypeIdentifier:qe.updateOne,updateIssueTypeIdentifiers:qe.updateMany,deleteIssueTypeIdentifier:qe.deleteOne,deleteIssueTypeIdentifiers:qe.deleteMany}}),{initializeIssueTypeIdentifiers:QS,addIssueTypeIdentifier:XS,addIssueTypeIdentifiers:xS,setIssueTypeIdentifier:eA,setIssueTypeIdentifiers:tA,updateIssueTypeIdentifier:sA,updateIssueTypeIdentifiers:iA,deleteIssueTypeIdentifier:nA,deleteIssueTypeIdentifiers:aA}=Tn.actions,cA=t=>t.issueTypeIdentifierReducer.instances,wn=o.createSelector([cA],t=>Object.values(t)),rA=t=>s=>s.issueTypeIdentifierReducer.instances[t],dA=S(o.createSelector([wn,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),lb=S(o.createSelector([wn,(t,s)=>s],(t,s)=>A(t.filter(e=>e.issue_type===s)))),lA=Tn.reducer,De=F(t=>t.uuid),uA={instances:{}},In=o.createSlice({name:"issueTypeIdentifierValues",initialState:uA,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,uA)),reducers:{initializeIssueTypeIdentifierValues:De.initialize,addIssueTypeIdentifierValue:De.addOne,addIssueTypeIdentifierValues:De.addMany,setIssueTypeIdentifierValue:De.setOne,setIssueTypeIdentifierValues:De.setMany,updateIssueTypeIdentifierValue:De.updateOne,updateIssueTypeIdentifierValues:De.updateMany,deleteIssueTypeIdentifierValue:De.deleteOne,deleteIssueTypeIdentifierValues:De.deleteMany}}),{initializeIssueTypeIdentifierValues:oA,addIssueTypeIdentifierValue:hA,addIssueTypeIdentifierValues:pA,setIssueTypeIdentifierValue:mA,setIssueTypeIdentifierValues:yA,updateIssueTypeIdentifierValue:fA,updateIssueTypeIdentifierValues:SA,deleteIssueTypeIdentifierValue:AA,deleteIssueTypeIdentifierValues:TA}=In.actions,wA=t=>t.issueTypeIdentifierValueReducer.instances,Zt=o.createSelector([wA],t=>Object.values(t)),IA=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],OA=S(o.createSelector([Zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),ub=S(o.createSelector([Zt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.issue===s)))),ob=S(o.createSelector([Zt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.issue_type_identifier===s)))),FA=In.reducer,je=F(t=>t.uuid),gA={instances:{}},On=o.createSlice({name:"issueTypes",initialState:gA,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,gA)),reducers:{initializeIssueTypes:je.initialize,addIssueType:je.addOne,addIssueTypes:je.addMany,setIssueType:je.setOne,setIssueTypes:je.setMany,updateIssueType:je.updateOne,updateIssueTypes:je.updateMany,deleteIssueType:je.deleteOne,deleteIssueTypes:je.deleteMany}}),{initializeIssueTypes:PA,addIssueType:_A,addIssueTypes:bA,setIssueType:MA,setIssueTypes:RA,updateIssueType:EA,updateIssueTypes:kA,deleteIssueType:vA,deleteIssueTypes:VA}=On.actions,BA=t=>t.issueTypeReducer.instances,Fn=o.createSelector(BA,t=>Object.values(t)),zA=t=>s=>s.issueTypeReducer.instances[t],WA=S(o.createSelector([Fn,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),hb=S(o.createSelector([Fn,(t,s)=>s],(t,s)=>A(t.filter(e=>e.organization===s)))),qA=On.reducer,$e=F(t=>t.uuid),DA={instances:{}},gn=o.createSlice({name:"issueTypeStatuses",initialState:DA,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,DA)),reducers:{initializeIssueTypeStatuses:$e.initialize,addIssueTypeStatus:$e.addOne,addIssueTypeStatuses:$e.addMany,setIssueTypeStatus:$e.setOne,setIssueTypeStatuses:$e.setMany,updateIssueTypeStatus:$e.updateOne,updateIssueTypeStatuses:$e.updateMany,deleteIssueTypeStatus:$e.deleteOne,deleteIssueTypeStatuses:$e.deleteMany}}),{initializeIssueTypeStatuses:jA,addIssueTypeStatus:$A,addIssueTypeStatuses:CA,setIssueTypeStatus:UA,setIssueTypeStatuses:LA,updateIssueTypeStatus:NA,updateIssueTypeStatuses:GA,deleteIssueTypeStatus:HA,deleteIssueTypeStatuses:KA}=gn.actions,YA=t=>t.issueTypeStatusReducer.instances,Pn=o.createSelector([YA],t=>A(Object.values(t).toSorted(xa))),_n=t=>s=>s.issueTypeStatusReducer.instances[t],ZA=S(o.createSelector([Pn,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),pb=S(o.createSelector([Pn,(t,s)=>s],(t,s)=>A(t.filter(e=>e.issue_type===s)))),JA=gn.reducer,Ce=F(t=>t.uuid),QA={instances:{}},bn=o.createSlice({name:"issueUpdates",initialState:QA,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,QA)),reducers:{initializeIssueUpdates:Ce.initialize,addIssueUpdate:Ce.addOne,addIssueUpdates:Ce.addMany,setIssueUpdate:Ce.setOne,setIssueUpdates:Ce.setMany,updateIssueUpdate:Ce.updateOne,updateIssueUpdates:Ce.updateMany,deleteIssueUpdate:Ce.deleteOne,deleteIssueUpdates:Ce.deleteMany}}),{initializeIssueUpdates:XA,addIssueUpdate:Mn,addIssueUpdates:Rn,setIssueUpdate:xA,setIssueUpdates:eT,updateIssueUpdate:tT,updateIssueUpdates:sT,deleteIssueUpdate:En,deleteIssueUpdates:kn}=bn.actions,vn=t=>t.issueUpdateReducer.instances,Vn=o.createSelector([vn],t=>Object.values(t)),iT=S(o.createSelector([vn,(t,s)=>s],(t,s)=>t[s])),nT=S(o.createSelector([Vn,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),aT=S(o.createSelector([Vn,(t,s)=>s],(t,s)=>A(t.filter(e=>e.issue===s)))),cT=bn.reducer,Ue=F(t=>t.id),rT={instances:{},currentUser:null},Bn=o.createSlice({name:"users",initialState:rT,extraReducers:t=>t.addCase(I,s=>Object.assign(s,rT)).addCase(g,s=>Object.assign(s,{...s,instances:[]})),reducers:{initializeUsers:Ue.initialize,setUsers:Ue.setMany,setUser:Ue.setOne,addUsers:Ue.addMany,addUser:Ue.addOne,updateUsers:Ue.updateMany,updateUser:Ue.updateOne,deleteUser:Ue.deleteOne,deleteUsers:Ue.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:dT,setUsers:lT,setUser:uT,addUsers:oT,addUser:zn,updateUsers:hT,updateUser:pT,deleteUser:Wn,deleteUsers:mT,setCurrentUser:mb,setCurrentUserProfile:yb}=Bn.actions,yT=Bn.reducer,fT=t=>t.userReducer.currentUser,qn=t=>t.userReducer.instances,Jt=o.createSelector([qn],t=>Object.values(t)),Qt=t=>s=>s.userReducer.instances[t],ST=S(o.createSelector([Jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({id:n})=>e.has(n)))})),Le=F(t=>t.uuid),AT={instances:{}},Dn=o.createSlice({name:"organizationAccess",initialState:AT,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,AT)),reducers:{initializeOrganizationAccesses:Le.initialize,addOrganizationAccess:Le.addOne,addOrganizationAccesses:Le.addMany,setOrganizationAccess:Le.setOne,setOrganizationAccesses:Le.setMany,updateOrganizationAccess:Le.updateOne,updateOrganizationAccesses:Le.updateMany,deleteOrganizationAccess:Le.deleteOne,deleteOrganizationAccesses:Le.deleteMany}}),{initializeOrganizationAccesses:TT,addOrganizationAccess:wT,addOrganizationAccesses:IT,setOrganizationAccess:OT,setOrganizationAccesses:FT,updateOrganizationAccess:gT,updateOrganizationAccesses:PT,deleteOrganizationAccess:_T,deleteOrganizationAccesses:bT}=Dn.actions,MT=Dn.reducer,Xt=t=>t.organizationAccessReducer.instances,RT=t=>s=>s.organizationAccessReducer.instances[t],ET=S(o.createSelector([Xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(Object.values(t).filter(({uuid:n})=>e.has(n)))})),fb=o.createSelector([fT,Xt],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),kT=o.createSelector([Xt],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return kt(s)}),Sb=S(o.createSelector([qn,kT,(t,s)=>s],(t,s,e)=>A(Object.values(t).filter(n=>{const a=s[n.id];return!!a&&a.organization===e})))),Ne=F(t=>t.uuid),vT={instances:{}},jn=o.createSlice({name:"organizations",initialState:vT,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,vT)),reducers:{initializeOrganizations:Ne.initialize,setOrganizations:Ne.setMany,setOrganization:Ne.setOne,addOrganizations:Ne.addMany,addOrganization:Ne.addOne,updateOrganizations:Ne.updateMany,updateOrganization:Ne.updateOne,deleteOrganization:Ne.deleteOne,deleteOrganizations:Ne.deleteMany}}),{initializeOrganizations:VT,setOrganizations:BT,setOrganization:zT,addOrganizations:WT,addOrganization:qT,updateOrganizations:DT,updateOrganization:jT,deleteOrganization:$T,deleteOrganizations:CT}=jn.actions,UT=t=>t.organizationReducer.instances,LT=o.createSelector([UT],t=>Object.values(t)),NT=t=>s=>s.organizationReducer.instances[t],GT=S(o.createSelector([LT,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),HT=jn.reducer,KT=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:ot.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},YT={deletedRequests:[],latestRetryTime:0},$n=o.createSlice({name:"outbox",initialState:YT,extraReducers:t=>t.addCase(I,s=>Object.assign(s,YT)),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 KT(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}}}),Ab=t=>t.outboxReducer.deletedRequests,Tb=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:ZT,markForDeletion:wb,markAsDeleted:JT,_setLatestRetryTime:QT}=$n.actions,XT=$n.reducer,Ge=F(t=>t.uuid),xT={instances:{}},Cn=o.createSlice({name:"projectAccess",initialState:xT,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,xT)),reducers:{initializeProjectAccesses:Ge.initialize,addProjectAccess:Ge.addOne,addProjectAccesses:Ge.addMany,setProjectAccess:Ge.setOne,setProjectAccesses:Ge.setMany,updateProjectAccess:Ge.updateOne,updateProjectAccesses:Ge.updateMany,deleteProjectAccess:Ge.deleteOne,deleteProjectAccesses:Ge.deleteMany}}),{initializeProjectAccesses:ew,addProjectAccess:tw,addProjectAccesses:sw,setProjectAccess:iw,setProjectAccesses:nw,updateProjectAccess:aw,updateProjectAccesses:cw,deleteProjectAccess:rw,deleteProjectAccesses:dw}=Cn.actions,lw=Cn.reducer,Un=t=>t.projectAccessReducer.instances,Mt=o.createSelector(Un,t=>Object.values(t)),uw=t=>s=>s.projectAccessReducer.instances[t],ow=S(o.createSelector([Mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Ib=S(o.createSelector([Un,(t,s)=>s],(t,s)=>A(Object.values(t).filter(e=>e.project===s)))),Ob=S(o.createSelector([Mt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),Fb=S(o.createSelector([Jt,Mt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.project===e).map(a=>a.user));return A(t.filter(a=>n.has(a.id)))})),He=F(t=>t.uuid),hw={instances:{}},Ln=o.createSlice({name:"projectAttachments",initialState:hw,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,hw)),reducers:{initializeProjectAttachments:He.initialize,addProjectAttachment:He.addOne,addProjectAttachments:He.addMany,setProjectAttachment:He.setOne,setProjectAttachments:He.setMany,updateProjectAttachment:He.updateOne,updateProjectAttachments:He.updateMany,deleteProjectAttachment:He.deleteOne,deleteProjectAttachments:He.deleteMany}}),{initializeProjectAttachments:pw,addProjectAttachment:mw,addProjectAttachments:yw,setProjectAttachment:fw,setProjectAttachments:Sw,updateProjectAttachment:Aw,updateProjectAttachments:Tw,deleteProjectAttachment:ww,deleteProjectAttachments:Iw}=Ln.actions,Ow=t=>t.projectAttachmentReducer.instances,Nn=o.createSelector([Ow],t=>Object.values(t)),Fw=t=>s=>s.projectAttachmentReducer.instances[t],gw=S(o.createSelector([Nn,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),gb=S(o.createSelector([Nn,(t,s)=>s],(t,s)=>A(t.filter(({project:e})=>s===e)))),Pw=Ln.reducer,Ke=F(t=>t.uuid),_w={instances:{}},Gn=o.createSlice({name:"projectFiles",initialState:_w,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,_w)),reducers:{initializeProjectFiles:Ke.initialize,setProjectFile:Ke.setOne,setProjectFiles:Ke.setMany,addProjectFile:Ke.addOne,addProjectFiles:Ke.addMany,updateProjectFile:Ke.updateOne,updateProjectFiles:Ke.updateMany,deleteProjectFile:Ke.deleteOne,deleteProjectFiles:Ke.deleteMany}}),{initializeProjectFiles:bw,setProjectFile:Mw,setProjectFiles:Rw,addProjectFile:Ew,addProjectFiles:kw,updateProjectFile:vw,updateProjectFiles:Vw,deleteProjectFile:Bw,deleteProjectFiles:zw}=Gn.actions,Ww=t=>t.projectFileReducer.instances,qw=o.createSelector([Ww],t=>A(Object.values(t).sort((s,e)=>s.z_index-e.z_index))),Dw=t=>s=>s.projectFileReducer.instances[t],jw=S(o.createSelector([qw,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),$w=Gn.reducer,Ye=F(t=>t.uuid),Cw={instances:{}},Hn=o.createSlice({name:"projects",initialState:Cw,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Cw)),reducers:{initializeProjects:Ye.initialize,setProjects:Ye.setMany,setProject:Ye.setOne,addProjects:Ye.addMany,addProject:Ye.addOne,updateProjects:Ye.updateMany,updateProject:Ye.updateOne,deleteProject:Ye.deleteOne,deleteProjects:Ye.deleteMany}}),{initializeProjects:Uw,setProjects:Lw,setProject:Nw,addProjects:Gw,addProject:Hw,updateProjects:Kw,updateProject:Yw,deleteProject:Zw,deleteProjects:Jw}=Hn.actions,Qw=Hn.reducer,Xw=t=>t.projectReducer.instances,xt=o.createSelector([Xw],t=>Object.values(t)),xw=t=>s=>s.projectReducer.instances[t],eI=S(o.createSelector([xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Pb=S(o.createSelector([xt,Mt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.user===e).map(a=>a.project));return A(t.filter(a=>n.has(a.uuid)))})),_b=S(o.createSelector([xt,(t,s)=>s],(t,s)=>A(t.filter(e=>e.organization===s)))),bb={isRehydrated:!1},Kn=o.createSlice({name:"rehydrated",initialState:bb,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:Mb}=Kn.actions,Rb=t=>t.rehydratedReducer.isRehydrated,tI=Kn.reducer,Ze=F(t=>t.uuid),sI={instances:{}},Yn=o.createSlice({name:"teamMemberships",initialState:sI,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,sI)),reducers:{initializeTeamMemberships:Ze.initialize,addTeamMembership:Ze.addOne,addTeamMemberships:Ze.addMany,setTeamMembership:Ze.setOne,setTeamMemberships:Ze.setMany,updateTeamMembership:Ze.updateOne,updateTeamMemberships:Ze.updateMany,deleteTeamMembership:Ze.deleteOne,deleteTeamMemberships:Ze.deleteMany}}),{initializeTeamMemberships:iI,addTeamMembership:nI,addTeamMemberships:aI,setTeamMembership:cI,setTeamMemberships:rI,updateTeamMembership:dI,updateTeamMemberships:lI,deleteTeamMembership:uI,deleteTeamMemberships:oI}=Yn.actions,hI=Yn.reducer,pI=t=>t.teamMembershipReducer.instances,es=o.createSelector([pI],t=>Object.values(t)),mI=t=>s=>s.teamMembershipReducer.instances[t],yI=S(o.createSelector([es,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Eb=S(o.createSelector([es,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),kb=S(o.createSelector([Jt,es,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.team===e).map(a=>a.user));return A(t.filter(a=>n.has(a.id)))})),Je=F(t=>t.uuid),fI={instances:{}},Zn=o.createSlice({name:"teams",initialState:fI,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,fI)),reducers:{initializeTeams:Je.initialize,addTeam:Je.addOne,addTeams:Je.addMany,setTeam:Je.setOne,setTeams:Je.setMany,updateTeam:Je.updateOne,updateTeams:Je.updateMany,deleteTeam:Je.deleteOne,deleteTeams:Je.deleteMany}}),{initializeTeams:SI,addTeam:AI,addTeams:TI,setTeam:wI,setTeams:II,updateTeam:OI,updateTeams:FI,deleteTeam:gI,deleteTeams:PI}=Zn.actions,_I=t=>t.teamReducer.instances,Jn=o.createSelector([_I],t=>Object.values(t)),bI=t=>s=>s.teamReducer.instances[t],MI=S(o.createSelector([Jn,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),vb=S(o.createSelector([Jn,(t,s)=>s],(t,s)=>A(t.filter(e=>e.organization===s)))),RI=Zn.reducer,Vb={version:0},EI=o.createSlice({name:"versioning",initialState:Vb,reducers:{}}),kI=EI.reducer,Qe=F(t=>t.uuid),vI={instances:{}},Qn=o.createSlice({name:"workflows",initialState:vI,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,vI)),reducers:{initializeWorkflows:Qe.initialize,addWorkflow:Qe.addOne,addWorkflows:Qe.addMany,setWorkflow:Qe.setOne,setWorkflows:Qe.setMany,updateWorkflow:Qe.updateOne,updateWorkflows:Qe.updateMany,deleteWorkflow:Qe.deleteOne,deleteWorkflows:Qe.deleteMany}}),{initializeWorkflows:VI,addWorkflow:BI,addWorkflows:zI,setWorkflow:WI,setWorkflows:qI,updateWorkflow:DI,updateWorkflows:jI,deleteWorkflow:$I,deleteWorkflows:CI}=Qn.actions,UI=t=>t.workflowReducer.instances,ts=o.createSelector([UI],t=>Object.values(t)),LI=t=>s=>s.workflowReducer.instances[t],NI=S(o.createSelector([ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Bb=S(o.createSelector([ts,(t,s)=>s],(t,s)=>A(t.filter(e=>e.project===s)))),zb=S(o.createSelector([ts,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow_type===s)))),GI=Qn.reducer,Xe=F(t=>t.uuid),HI={instances:{}},Xn=o.createSlice({name:"workflowStepAssignees",initialState:HI,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,HI)),reducers:{initializeWorkflowStepAssignees:Xe.initialize,addWorkflowStepAssignee:Xe.addOne,addWorkflowStepAssignees:Xe.addMany,setWorkflowStepAssignee:Xe.setOne,setWorkflowStepAssignees:Xe.setMany,updateWorkflowStepAssignee:Xe.updateOne,updateWorkflowStepAssignees:Xe.updateMany,deleteWorkflowStepAssignee:Xe.deleteOne,deleteWorkflowStepAssignees:Xe.deleteMany}}),{initializeWorkflowStepAssignees:KI,addWorkflowStepAssignee:YI,addWorkflowStepAssignees:ZI,setWorkflowStepAssignee:JI,setWorkflowStepAssignees:QI,updateWorkflowStepAssignee:XI,updateWorkflowStepAssignees:xI,deleteWorkflowStepAssignee:eO,deleteWorkflowStepAssignees:tO}=Xn.actions,sO=t=>t.workflowStepAssigneeReducer.instances,ss=o.createSelector([sO],t=>Object.values(t)),iO=t=>s=>s.workflowStepAssigneeReducer.instances[t],nO=S(o.createSelector([ss,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Wb=S(o.createSelector([ss,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow===s)))),qb=S(o.createSelector([ss,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow_step===s)))),aO=Xn.reducer,xe=F(t=>t.uuid),cO={instances:{}},xn=o.createSlice({name:"workflowStepComments",initialState:cO,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,cO)),reducers:{initializeWorkflowStepComments:xe.initialize,addWorkflowStepComment:xe.addOne,addWorkflowStepComments:xe.addMany,setWorkflowStepComment:xe.setOne,setWorkflowStepComments:xe.setMany,updateWorkflowStepComment:xe.updateOne,updateWorkflowStepComments:xe.updateMany,deleteWorkflowStepComment:xe.deleteOne,deleteWorkflowStepComments:xe.deleteMany}}),{initializeWorkflowStepComments:rO,addWorkflowStepComment:dO,addWorkflowStepComments:lO,setWorkflowStepComment:uO,setWorkflowStepComments:oO,updateWorkflowStepComment:hO,updateWorkflowStepComments:pO,deleteWorkflowStepComment:mO,deleteWorkflowStepComments:yO}=xn.actions,fO=t=>t.workflowStepCommentReducer.instances,is=o.createSelector([fO],t=>Object.values(t)),SO=t=>s=>s.workflowStepCommentReducer.instances[t],AO=S(o.createSelector([is,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Db=S(o.createSelector([is,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow===s)))),jb=S(o.createSelector([is,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow_step===s)))),TO=xn.reducer,et=F(t=>t.uuid),wO={instances:{}},ea=o.createSlice({name:"workflowStepEvents",initialState:wO,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,wO)),reducers:{initializeWorkflowStepEvents:et.initialize,addWorkflowStepEvent:et.addOne,addWorkflowStepEvents:et.addMany,setWorkflowStepEvent:et.setOne,setWorkflowStepEvents:et.setMany,updateWorkflowStepEvent:et.updateOne,updateWorkflowStepEvents:et.updateMany,deleteWorkflowStepEvent:et.deleteOne,deleteWorkflowStepEvents:et.deleteMany}}),{initializeWorkflowStepEvents:IO,addWorkflowStepEvent:OO,addWorkflowStepEvents:FO,setWorkflowStepEvent:gO,setWorkflowStepEvents:PO,updateWorkflowStepEvent:_O,updateWorkflowStepEvents:bO,deleteWorkflowStepEvent:MO,deleteWorkflowStepEvents:RO}=ea.actions,EO=t=>t.workflowStepEventReducer.instances,ns=o.createSelector([EO],t=>Object.values(t)),kO=t=>s=>s.workflowStepEventReducer.instances[t],vO=S(o.createSelector([ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),$b=S(o.createSelector([ns,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow===s)))),Cb=S(o.createSelector([ns,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow_step===s)))),VO=ea.reducer,tt=F(t=>t.uuid),BO={instances:{}},ta=o.createSlice({name:"workflowStepFieldsAttachments",initialState:BO,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,BO)),reducers:{initializeWorkflowStepFieldsAttachments:tt.initialize,addWorkflowStepFieldsAttachment:tt.addOne,addWorkflowStepFieldsAttachments:tt.addMany,setWorkflowStepFieldsAttachment:tt.setOne,setWorkflowStepFieldsAttachments:tt.setMany,updateWorkflowStepFieldsAttachment:tt.updateOne,updateWorkflowStepFieldsAttachments:tt.updateMany,deleteWorkflowStepFieldsAttachment:tt.deleteOne,deleteWorkflowStepFieldsAttachments:tt.deleteMany}}),{initializeWorkflowStepFieldsAttachments:zO,addWorkflowStepFieldsAttachment:WO,addWorkflowStepFieldsAttachments:sa,setWorkflowStepFieldsAttachment:qO,setWorkflowStepFieldsAttachments:DO,updateWorkflowStepFieldsAttachment:jO,updateWorkflowStepFieldsAttachments:$O,deleteWorkflowStepFieldsAttachment:CO,deleteWorkflowStepFieldsAttachments:ia}=ta.actions,UO=t=>t.workflowStepFieldsAttachmentReducer.instances,na=o.createSelector([UO],t=>Object.values(t)),LO=S(o.createSelector([na,(t,s)=>s],(t,s)=>A(t.filter(e=>e.fields_revision===s)))),NO=t=>s=>s.workflowStepFieldsAttachmentReducer.instances[t],GO=S(o.createSelector([na,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),HO=ta.reducer,st=F(t=>t.uuid),KO={instances:{}},aa=o.createSlice({name:"workflowStepFields",initialState:KO,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,KO)),reducers:{initializeWorkflowStepFields:st.initialize,addWorkflowStepFields:st.addOne,addWorkflowStepFieldsMany:st.addMany,setWorkflowStepFields:st.setOne,setWorkflowStepFieldsMany:st.setMany,updateWorkflowStepFields:st.updateOne,updateWorkflowStepFieldsMany:st.updateMany,deleteWorkflowStepFields:st.deleteOne,deleteWorkflowStepFieldsMany:st.deleteMany}}),{initializeWorkflowStepFields:YO,addWorkflowStepFields:ZO,addWorkflowStepFieldsMany:JO,setWorkflowStepFields:QO,setWorkflowStepFieldsMany:XO,updateWorkflowStepFields:xO,updateWorkflowStepFieldsMany:eF,deleteWorkflowStepFields:tF,deleteWorkflowStepFieldsMany:sF}=aa.actions,iF=t=>t.workflowStepFieldsReducer.instances,as=o.createSelector([iF],t=>Object.values(t)),Ub=S(o.createSelector([as,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow_step===s)))),Lb=S(o.createSelector([as,(t,s)=>s],(t,s)=>t.filter(e=>e.workflow_step===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),nF=t=>s=>s.workflowStepFieldsReducer.instances[t],aF=S(o.createSelector([as,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),cF=aa.reducer,it=F(t=>t.uuid),rF={instances:{}},ca=o.createSlice({name:"workflowStepFieldValuesAttachments",initialState:rF,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,rF)),reducers:{initializeWorkflowStepFieldValuesAttachments:it.initialize,addWorkflowStepFieldValuesAttachment:it.addOne,addWorkflowStepFieldValuesAttachments:it.addMany,setWorkflowStepFieldValuesAttachment:it.setOne,setWorkflowStepFieldValuesAttachments:it.setMany,updateWorkflowStepFieldValuesAttachment:it.updateOne,updateWorkflowStepFieldValuesAttachments:it.updateMany,deleteWorkflowStepFieldValuesAttachment:it.deleteOne,deleteWorkflowStepFieldValuesAttachments:it.deleteMany}}),{initializeWorkflowStepFieldValuesAttachments:dF,addWorkflowStepFieldValuesAttachment:lF,addWorkflowStepFieldValuesAttachments:ra,setWorkflowStepFieldValuesAttachment:uF,setWorkflowStepFieldValuesAttachments:oF,updateWorkflowStepFieldValuesAttachment:hF,updateWorkflowStepFieldValuesAttachments:pF,deleteWorkflowStepFieldValuesAttachment:mF,deleteWorkflowStepFieldValuesAttachments:da}=ca.actions,yF=t=>t.workflowStepFieldValuesAttachmentReducer.instances,la=o.createSelector([yF],t=>Object.values(t)),fF=t=>s=>s.workflowStepFieldValuesAttachmentReducer.instances[t],SF=S(o.createSelector([la,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),AF=S(o.createSelector([la,(t,s)=>s],(t,s)=>A(t.filter(e=>e.field_values===s)))),TF=ca.reducer,nt=F(t=>t.uuid),wF={instances:{}},ua=o.createSlice({name:"workflowStepFieldValuesReviewRequests",initialState:wF,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,wF)),reducers:{initializeWorkflowStepFieldValuesReviewRequests:nt.initialize,addWorkflowStepFieldValuesReviewRequest:nt.addOne,addWorkflowStepFieldValuesReviewRequests:nt.addMany,setWorkflowStepFieldValuesReviewRequest:nt.setOne,setWorkflowStepFieldValuesReviewRequests:nt.setMany,updateWorkflowStepFieldValuesReviewRequest:nt.updateOne,updateWorkflowStepFieldValuesReviewRequests:nt.updateMany,deleteWorkflowStepFieldValuesReviewRequest:nt.deleteOne,deleteWorkflowStepFieldValuesReviewRequests:nt.deleteMany}}),{initializeWorkflowStepFieldValuesReviewRequests:IF,addWorkflowStepFieldValuesReviewRequest:OF,addWorkflowStepFieldValuesReviewRequests:oa,setWorkflowStepFieldValuesReviewRequest:FF,setWorkflowStepFieldValuesReviewRequests:gF,updateWorkflowStepFieldValuesReviewRequest:PF,updateWorkflowStepFieldValuesReviewRequests:_F,deleteWorkflowStepFieldValuesReviewRequest:bF,deleteWorkflowStepFieldValuesReviewRequests:ha}=ua.actions,MF=t=>t.workflowStepFieldValuesReviewRequestReducer.instances,pa=o.createSelector([MF],t=>Object.values(t)),RF=t=>s=>s.workflowStepFieldValuesReviewRequestReducer.instances[t],EF=S(o.createSelector([pa,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),kF=S(o.createSelector([pa,(t,s)=>s],(t,s)=>A(t.filter(e=>e.field_values===s)))),vF=ua.reducer,at=F(t=>t.uuid),VF={instances:{}},ma=o.createSlice({name:"workflowStepFieldValuesReviews",initialState:VF,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,VF)),reducers:{initializeWorkflowStepFieldValuesReviews:at.initialize,addWorkflowStepFieldValuesReview:at.addOne,addWorkflowStepFieldValuesReviews:at.addMany,setWorkflowStepFieldValuesReview:at.setOne,setWorkflowStepFieldValuesReviews:at.setMany,updateWorkflowStepFieldValuesReview:at.updateOne,updateWorkflowStepFieldValuesReviews:at.updateMany,deleteWorkflowStepFieldValuesReview:at.deleteOne,deleteWorkflowStepFieldValuesReviews:at.deleteMany}}),{initializeWorkflowStepFieldValuesReviews:BF,addWorkflowStepFieldValuesReview:zF,addWorkflowStepFieldValuesReviews:ya,setWorkflowStepFieldValuesReview:WF,setWorkflowStepFieldValuesReviews:qF,updateWorkflowStepFieldValuesReview:DF,updateWorkflowStepFieldValuesReviews:jF,deleteWorkflowStepFieldValuesReview:$F,deleteWorkflowStepFieldValuesReviews:fa}=ma.actions,CF=t=>t.workflowStepFieldValuesReviewReducer.instances,Sa=o.createSelector([CF],t=>Object.values(t)),UF=t=>s=>s.workflowStepFieldValuesReviewReducer.instances[t],LF=S(o.createSelector([Sa,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),NF=S(o.createSelector([Sa,(t,s)=>s],(t,s)=>A(t.filter(e=>e.field_values===s)))),GF=ma.reducer,ct=F(t=>t.uuid),HF={instances:{}},Aa=o.createSlice({name:"workflowStepFieldValues",initialState:HF,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,HF)),reducers:{initializeWorkflowStepFieldValues:ct.initialize,addWorkflowStepFieldValues:ct.addOne,addWorkflowStepFieldValuesMany:ct.addMany,setWorkflowStepFieldValues:ct.setOne,setWorkflowStepFieldValuesMany:ct.setMany,updateWorkflowStepFieldValues:ct.updateOne,updateWorkflowStepFieldValuesMany:ct.updateMany,deleteWorkflowStepFieldValues:ct.deleteOne,deleteWorkflowStepFieldValuesMany:ct.deleteMany}}),{initializeWorkflowStepFieldValues:KF,addWorkflowStepFieldValues:YF,addWorkflowStepFieldValuesMany:ZF,setWorkflowStepFieldValues:JF,setWorkflowStepFieldValuesMany:QF,updateWorkflowStepFieldValues:XF,updateWorkflowStepFieldValuesMany:xF,deleteWorkflowStepFieldValues:eg,deleteWorkflowStepFieldValuesMany:tg}=Aa.actions,sg=t=>t.workflowStepFieldValuesReducer.instances,cs=o.createSelector([sg],t=>Object.values(t)),Nb=S(o.createSelector([cs,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow===s)))),Gb=S(o.createSelector([cs,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow_step===s)))),ig=t=>s=>s.workflowStepFieldValuesReducer.instances[t],ng=S(o.createSelector([cs,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),ag=Aa.reducer,rt=F(t=>t.uuid),cg={instances:{}},Ta=o.createSlice({name:"workflowStepReviewers",initialState:cg,extraReducers:t=>t.addMatcher(o.isAnyOf(I,B,g),s=>Object.assign(s,cg)),reducers:{initializeWorkflowStepReviewers:rt.initialize,addWorkflowStepReviewer:rt.addOne,addWorkflowStepReviewers:rt.addMany,setWorkflowStepReviewer:rt.setOne,setWorkflowStepReviewers:rt.setMany,updateWorkflowStepReviewer:rt.updateOne,updateWorkflowStepReviewers:rt.updateMany,deleteWorkflowStepReviewer:rt.deleteOne,deleteWorkflowStepReviewers:rt.deleteMany}}),{initializeWorkflowStepReviewers:rg,addWorkflowStepReviewer:dg,addWorkflowStepReviewers:lg,setWorkflowStepReviewer:ug,setWorkflowStepReviewers:og,updateWorkflowStepReviewer:hg,updateWorkflowStepReviewers:pg,deleteWorkflowStepReviewer:mg,deleteWorkflowStepReviewers:yg}=Ta.actions,fg=t=>t.workflowStepReviewerReducer.instances,rs=o.createSelector([fg],t=>Object.values(t)),Sg=t=>s=>s.workflowStepReviewerReducer.instances[t],Ag=S(o.createSelector([rs,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Hb=S(o.createSelector([rs,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow===s)))),Kb=S(o.createSelector([rs,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow_step===s)))),Tg=Ta.reducer,dt=F(t=>t.uuid),wg={instances:{}},wa=o.createSlice({name:"workflowSteps",initialState:wg,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,wg)),reducers:{initializeWorkflowSteps:dt.initialize,addWorkflowStep:dt.addOne,addWorkflowSteps:dt.addMany,setWorkflowStep:dt.setOne,setWorkflowSteps:dt.setMany,updateWorkflowStep:dt.updateOne,updateWorkflowSteps:dt.updateMany,deleteWorkflowStep:dt.deleteOne,deleteWorkflowSteps:dt.deleteMany}}),{initializeWorkflowSteps:Ig,addWorkflowStep:Og,addWorkflowSteps:Fg,setWorkflowStep:gg,setWorkflowSteps:Pg,updateWorkflowStep:_g,updateWorkflowSteps:bg,deleteWorkflowStep:Mg,deleteWorkflowSteps:Rg}=wa.actions,Eg=t=>t.workflowStepReducer.instances,Ia=o.createSelector([Eg],t=>Object.values(t)),kg=t=>s=>s.workflowStepReducer.instances[t],vg=S(o.createSelector([Ia,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Yb=S(o.createSelector([Ia,(t,s)=>s],(t,s)=>A(t.filter(e=>e.workflow_type===s)))),Vg=wa.reducer,lt=F(t=>t.uuid),Bg={instances:{}},Oa=o.createSlice({name:"workflowTypes",initialState:Bg,extraReducers:t=>t.addMatcher(o.isAnyOf(I,g),s=>Object.assign(s,Bg)),reducers:{initializeWorkflowTypes:lt.initialize,addWorkflowType:lt.addOne,addWorkflowTypes:lt.addMany,setWorkflowType:lt.setOne,setWorkflowTypes:lt.setMany,updateWorkflowType:lt.updateOne,updateWorkflowTypes:lt.updateMany,deleteWorkflowType:lt.deleteOne,deleteWorkflowTypes:lt.deleteMany}}),{initializeWorkflowTypes:zg,addWorkflowType:Wg,addWorkflowTypes:qg,setWorkflowType:Dg,setWorkflowTypes:jg,updateWorkflowType:$g,updateWorkflowTypes:Cg,deleteWorkflowType:Ug,deleteWorkflowTypes:Lg}=Oa.actions,Ng=t=>t.workflowTypeReducer.instances,Fa=o.createSelector([Ng],t=>Object.values(t)),Gg=t=>s=>s.workflowTypeReducer.instances[t],Hg=S(o.createSelector([Fa,(t,s)=>s],(t,s)=>{const e=new Set(s);return A(t.filter(({uuid:n})=>e.has(n)))})),Zb=S(o.createSelector([Fa,(t,s)=>s],(t,s)=>A(t.filter(e=>e.organization===s)))),Kg=Oa.reducer,ga={outboxReducer:XT,fileReducer:wp,authReducer:Rh},Jb=o.combineReducers(ga),Yg={...ga,[gt]:kI,assetReducer:zl,assetAttachmentReducer:wc,assetStageCompletionReducer:Hl,assetStageReducer:ru,assetTypeReducer:hh,assetTypeAttachmentReducer:Ou,issueReducer:Bf,issueAttachmentReducer:Ky,issueTypeReducer:qA,issueTypeAttachmentReducer:Yf,organizationReducer:HT,projectReducer:Qw,projectAttachmentReducer:Pw,projectAccessReducer:lw,organizationAccessReducer:MT,projectFileReducer:$w,rehydratedReducer:tI,formReducer:Rm,formRevisionReducer:Am,formRevisionAttachmentReducer:dm,formSubmissionAttachmentReducer:Nm,formSubmissionReducer:iy,formIdentifierReducer:Bp,formIdentifierValueReducer:Yp,userReducer:yT,emailDomainsReducer:Sp,documentsReducer:ep,documentAttachmentReducer:Lh,teamReducer:RI,agentsReducer:rc,issueCommentReducer:If,issueCommentAttachmentReducer:df,issueUpdateReducer:cT,geoImageReducer:Sy,issueAssociationReducer:By,issueTypeFieldsReducer:WS,issueTypeFieldValuesReducer:OS,issueTypeFieldsAttachmentReducer:dS,issueTypeFieldValuesAttachmentReducer:ZS,issueTypeIdentifierReducer:lA,issueTypeIdentifierValueReducer:FA,issueTypeStatusReducer:JA,assetTypeFieldsReducer:Ju,assetTypeFieldValuesReducer:go,assetTypeFieldsAttachmentReducer:Wu,assetTypeFieldValuesAttachmentReducer:uo,assetTypeIdentifierReducer:Do,assetTypeIdentifierValueReducer:Xo,assetTypeStatusReducer:_h,assetProcedureTypeReducer:ad,assetProcedureReducer:Nr,assetProcedureTypeFieldsReducer:ar,assetProcedureTypeFieldValuesReducer:vr,assetProcedureTypeFieldsAttachmentReducer:Gc,assetProcedureTypeFieldValuesAttachmentReducer:Sr,assetProcedureTypeAttachmentReducer:kc,assetProcedureStepFieldsAttachmentReducer:Od,assetProcedureStepFieldsReducer:zd,assetProcedureStepFieldValuesAttachmentReducer:Yd,assetProcedureStepFieldValuesReducer:dl,assetProcedureStepReducer:Tl,teamMembershipReducer:hI,workflowTypeReducer:Kg,workflowStepReducer:Vg,workflowStepFieldsReducer:cF,workflowStepFieldsAttachmentReducer:HO,workflowReducer:GI,workflowStepAssigneeReducer:aO,workflowStepCommentReducer:TO,workflowStepEventReducer:VO,workflowStepFieldValuesReducer:ag,workflowStepFieldValuesAttachmentReducer:TF,workflowStepFieldValuesReviewReducer:GF,workflowStepFieldValuesReviewRequestReducer:vF,workflowStepReviewerReducer:Tg},Qb=o.combineReducers(Yg),Zg=1e4,Jg=200,Pa=[400,409,403,404,405,500],ut=1e4,Qg={};class Xg{constructor(s){m(this,"client");m(this,"pageSize",Zg);Qg[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)}}const xg=()=>sP.length-1,eP=t=>(t[gt]={version:xg()},t),tP=()=>eP({}),Xb=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),xb=t=>s=>{var e;return s===void 0&&(s={}),((e=s[gt])==null?void 0:e.version)===xg()?s:t(s)},sP=[eP,tP,tP,Xb],eM=Object.fromEntries(sP.map((t,s)=>[s,xb(t)])),tM=t=>{if(t)throw t;const s=Ot();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},iP=(t,s,e)=>{const n=St();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},nP=(t,s,e)=>{const n=St();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=s.meta.offlineAction.payload.uuid;return n.remove(c),n.getQueue()};async function sM(t,s){if(!s.payload)throw new Error("Received empty payload");return SP(s)}const iM={...va,effect:sM,discard:cP,returnPromises:!0,persistCallback:tM,retry:rM,persistOptions:{storage:gP},queue:{...va.queue,enqueue:iP,dequeue:nP,peek:(...t)=>cM(...t)}},nM=PP(eM,gt),aM=o.compose(FP.offline(iM),nM);async function aP(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=Qg[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return ba(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function cP(t,s,e=0){var u;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
|
|
2
|
+
Url:`,s.payload.url,`
|
|
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=Ot(),c=n.getState().outboxReducer.deletedRequests,r=s.payload.uuid;function d(){n.dispatch(JT(r));const p=St();if(!p)throw new Error("Outbox coordinator not set");p.remove(s.payload.uuid);const y=s.meta.offline.rollback;throw y&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(y)),t}if(t instanceof C&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s.payload.url),d()),c.includes(r)&&(console.debug("Discarding request due to deletion:",s.payload.url),d()),t instanceof C){const p=t.status||((u=t.response)==null?void 0:u.status);if(p||console.warn("Error has no status code:",t),p!==void 0&&Pa.includes(p)){console.warn("Discarding request due to error:",t,`
|
|
4
|
+
Action:`,s);const y=St();if(!y)throw new Error("Outbox coordinator not set");y.remove(s.payload.uuid),t.options.discard=!0,d()}}console.debug("Registering a retry for request:",s.payload.uuid);const l=St();if(!l)throw new Error("Outbox coordinator not set");return l.registerRetry(s.payload.uuid),!1}function cM(t,s,e){var n;return(n=St())==null?void 0:n.peek()}function rM(t,s){return Ot().dispatch(QT(new Date().getTime())),Ua}const Tt="An unknown error occurred",dM=500,rP=["non_field_errors","detail"];function lM(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(([a,c])=>typeof c=="string"?rP.includes(a)?c:`${a}: ${c}`:Array.isArray(c)?rP.includes(a)?c.join(`
|
|
5
|
+
`):c.map(r=>`${a}: ${r}`).join(`
|
|
6
|
+
`):`${a}: ${JSON.stringify(c)}`).join(`
|
|
7
|
+
`)}catch(a){console.error("Failed to extract error message from response body",a)}}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>dM?Tt:e}class C extends Error{constructor(e){super(Tt);m(this,"status");m(this,"response");m(this,"message");m(this,"options");const{response:n,innerError:a}=e;this.message=e.message??lM(n,a)??Tt,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function dP(t){function s(e){return typeof e=="object"&&e!==null&&["ok","redirect","clientError","serverError","error"].every(a=>a 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 uM extends Xg{constructor(s){super(s)}}class ft extends Xg{constructor(e,n){super(e);m(this,"auth");this.auth=n}}class oM extends ft{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:h.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(nc(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:h.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(a=>{this.dispatch(cc(a))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:h.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(ac(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:h.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:h.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(ic(n)),n}}function ht(t,s){const e=[];let n=0;const a=t.length;for(;n<a;)e.push(t.slice(n,n+=s));return e}function T(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case h.GET:return`Get ${n}`;case h.POST:return`Create ${n}`;case h.PATCH:return`Update ${n}`;case h.PUT:return`Update ${n}`;case h.DELETE:return`Delete ${n}`}}class R extends ft{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:h.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:h.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:h.GET,...s},e)}}class q extends R{constructor(){super(...arguments);m(this,"pageSize",Jg)}async add(e){const{addOne:n,updateOne:a,deleteOne:c}=this.actions;let r,d=null,l=null;if("file"in e){const{file:_,...k}=e;d=await this.client.files.getFilePayload(_),l=URL.createObjectURL(_),r={...k,file_sha1:d.sha1,file_type:d.file_type,file_name:_.name,file_extension:d.extension,file_url:l}}else r=e;const u=this.buildModel(r),p=this.buildPayload(u);this.dispatch(n(u));const y=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:{...p,...d?{file:d}:{}},blockers:this.getBlockers(u),blocks:this.getBlocks(u)});y.then(({instance:_})=>{this.dispatch(a(_))}).catch(_=>{throw this.dispatch(c(this.getId(u))),_}).finally(()=>{l&&URL.revokeObjectURL(l)});const f=y.then(({instance:_})=>_),w=y.then(async({instance:_,presigned_url:k})=>{try{return k&&await this.client.files.processPresignedUrl(_.file_sha1,k),_.file_sha1}catch(P){throw console.error("Upload to s3 using presigned url failed.",P),P}});return[u,f,w]}async bulkAdd(e,n){const{addMany:a,updateMany:c,deleteMany:r}=this.actions,d=new Date().toISOString(),l=[],u=new Set,p=ht(e,Math.min(n??e.length,ut)),y=[];for(const k of p){const P=[],E={},b=[],W=[];for(const z of k){let D;if("file"in z){const{file:Ea,...$R}=z,Ft=await this.client.files.getFilePayload(Ea);Ft.sha1 in E||(E[Ft.sha1]=Ft);const wP=URL.createObjectURL(Ea);u.add(wP),D={...$R,file_sha1:Ft.sha1,file_type:Ft.file_type,file_name:Ea.name,file_extension:Ft.extension,file_url:wP}}else D=z;const v=this.buildModel(D);l.push(v);const L=this.buildBulkPayload(v);P.push(L);const ds=this.getBlockers(v);b.push(...ds);const jR=this.getBlocks(v);W.push(...jR)}const j={payloads:P,submittedAt:d,files:Object.values(E),blockers:b,blocks:W};y.push(j)}this.dispatch(a(l));const f=y.map(k=>{const{submittedAt:P,files:E,payloads:b,blocks:W,blockers:j}=k;return this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{submitted_at:P,files:E,payloads:b},blockers:j,blocks:W})});Promise.all(f).then(k=>{const P=k.flatMap(E=>E.instances);this.dispatch(c(P))}).catch(k=>{throw this.dispatch(r(l.map(P=>this.getId(P)))),console.error(k),k}).finally(()=>{for(const k of u)URL.revokeObjectURL(k)});const w=Promise.all(f).then(k=>k.flatMap(({instances:P})=>P)),_=Promise.all(f).then(async k=>{const P=[];for(const{presigned_urls:E}of k){const b=this.client.files.processPresignedUrls(E);for(const[W,j]of Object.entries(b))try{await j,P.push(W)}catch(z){throw console.error("Upload to s3 using presigned url failed.",z),z}}return P});return[l,w,_]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Attempting to delete ${this.name} with pk ${e} that does not exist in the store`);this.dispatch(c(this.getId(d)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(a(d)),l}}}class hM extends q{constructor(){super(...arguments);m(this,"name","Asset attachment");m(this,"url","/asset-attachments");m(this,"actions",{addOne:uc,addMany:As,setOne:oc,setMany:hc,updateOne:pc,updateMany:mc,deleteOne:yc,deleteMany:Ts,initialize:lc});m(this,"selectors",{selectById:Sc,selectByIds:Ac})}getId(e){return e.uuid}getBlockers(e){const{asset:n}=e;return[n]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,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:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(r)),r}}class pM extends q{constructor(){super(...arguments);m(this,"name","Asset Procedure Attachment");m(this,"url","/asset-procedure-type-attachments");m(this,"actions",{addOne:Fc,addMany:gc,setOne:Pc,setMany:_c,updateOne:bc,updateMany:Mc,deleteOne:Rc,deleteMany:Ec,initialize:Oc});m(this,"selectors",{selectById:Vc,selectByIds:Bc})}getId(e){return e.uuid}getBlockers(e){return[e.asset_procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){var f;const{store:n}=this.client,{asset_procedure_type:a,file_sha1:c,file_extension:r,file_name:d,file_type:l,file_url:u}=e,p=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,y=new Date().toISOString();return O({file_url:u,file_sha1:c,file_extension:r,file_name:d,file_type:l,created_by:p,submitted_at:y,asset_procedure_type:a})}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_procedure_type:e.asset_procedure_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_procedure_type:e.asset_procedure_type}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class mM extends q{constructor(){super(...arguments);m(this,"name","Asset Procedure Type Fields Attachment");m(this,"url","/asset-procedure-type-fields-attachments");m(this,"actions",{addOne:qc,addMany:Dc,setOne:jc,setMany:$c,updateOne:Cc,updateMany:Uc,deleteOne:Lc,deleteMany:Nc,initialize:Wc});m(this,"selectors",{selectById:Kc,selectByIds:Yc})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class yM extends R{constructor(){super(...arguments);m(this,"name","Asset Procedure Type Fields");m(this,"url","/asset-procedure-type-fields");m(this,"actions",{addOne:Qc,addMany:Xc,setOne:xc,setMany:er,updateOne:tr,updateMany:sr,deleteOne:ir,deleteMany:nr,initialize:Jc});m(this,"selectors",{selectById:rr,selectByIds:dr})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[u.asset_procedure_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(f=>{throw this.dispatch(r(u.uuid)),f}),[u,p]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class fM extends q{constructor(){super(...arguments);m(this,"name","Asset Procedure Type Field Values Attachment");m(this,"url","/asset-procedure-type-field-values-attachments");m(this,"actions",{addOne:or,addMany:bs,setOne:hr,setMany:pr,updateOne:mr,updateMany:yr,deleteOne:fr,deleteMany:Ms,initialize:ur});m(this,"selectors",{selectById:Tr,selectByIds:wr})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,d=n.getState(),l=r(e)(d);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class SM extends R{constructor(){super(...arguments);m(this,"name","Asset Procedure Type Field Values");m(this,"url","/asset-procedure-type-field-values");m(this,"actions",{addOne:gr,addMany:Pr,setOne:_r,setMany:br,updateOne:Mr,updateMany:Rr,deleteOne:Er,deleteMany:kr,initialize:Fr});m(this,"selectors",{selectById:Br,selectByIds:zr})}add(e){var f;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=new Date().toISOString(),p=O({...e,created_by:l,submitted_at:u}),y=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(p),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[p.uuid]});return this.dispatch(a(p)),y.then(w=>{this.dispatch(c(w))}).catch(()=>{this.dispatch(r(p.uuid))}),[p,y]}bulkAdd(e,n){var k;const{values:a,payloads:c}=e,{addMany:r,setMany:d,deleteMany:l}=this.actions,u=new Date().toISOString(),p=((k=this.client.store.getState().userReducer.currentUser)==null?void 0:k.id)??null,y=[],f=ht(c,Math.min(n??c.length,ut)),w=[];for(const P of f){const E=[];for(const b of P){const W=O({...b,values:b.values,created_by:p,submitted_at:u});y.push(W),E.push({uuid:W.uuid,asset:b.asset,fields_revision:b.fields_revision,asset_procedure:b.asset_procedure,published_at:b.published_at,values:W.values})}w.push({submitted_at:u,values:a,field_values:E})}this.dispatch(r(y));const _=[];for(const P of w){const{field_values:E}=P,b=E.map(({asset:v})=>v),W=E.map(({fields_revision:v})=>v),j=E.map(({asset_procedure:v})=>v),z=E.map(({uuid:v})=>v),D=this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:P,blockers:b.concat(W).concat(j),blocks:z});_.push(D)}return Promise.all(_).then(P=>{this.dispatch(d(P.flat()))}).catch(()=>{this.dispatch(l(V(y)))}),[y,_]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),d=c(e.uuid)(r);if(!d)throw new Error(`Expected AssetProcedureTypeFieldValues with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[l.fields_revision,l.asset,l.asset_procedure],blocks:[l.uuid]});return u.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(a(d))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected submission with uuid ${e} to exist`);const u=Ir(e)(d);this.dispatch(a(e)),this.dispatch(Ms(V(u)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(l)),this.dispatch(bs(u)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class AM extends R{constructor(){super(...arguments);m(this,"name","Asset Procedure");m(this,"url","/asset-procedures");m(this,"actions",{addOne:Dr,addMany:vs,setOne:Ur,setMany:Lr,updateOne:jr,updateMany:$r,deleteOne:Cr,deleteMany:Vs,initialize:qr});m(this,"selectors",{selectById:Kr,selectByIds:Yr})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[e.asset_procedure_type,e.asset_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset procedure with uuid ${e.uuid} to exist`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected asset procedure with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class TM extends R{constructor(){super(...arguments);m(this,"name","Asset Procedure Type");m(this,"url","/asset-procedure-types");m(this,"actions",{addOne:Qr,addMany:Xr,setOne:id,setMany:nd,updateOne:xr,updateMany:ed,deleteOne:td,deleteMany:sd,initialize:Jr});m(this,"selectors",{selectById:rd,selectByIds:dd})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset procedure type with uuid ${e.uuid} to exist`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected asset procedure type with uuid ${e} to exist`);const u=Hr(e)(d);this.dispatch(a(e)),this.dispatch(Vs(V(u)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(l)),this.dispatch(vs(u)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class wM extends q{constructor(){super(...arguments);m(this,"name","Asset Procedure Step Fields Attachment");m(this,"url","/asset-procedure-step-fields-attachments");m(this,"actions",{addOne:od,addMany:hd,setOne:pd,setMany:md,updateOne:yd,updateMany:fd,deleteOne:Sd,deleteMany:Ad,initialize:ud});m(this,"selectors",{selectById:wd,selectByIds:Id})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,field_identifier:e.field_identifier,fields_revision:e.fields_revision,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension}}buildBulkPayload(e){return{uuid:e.uuid,field_identifier:e.field_identifier,fields_revision:e.fields_revision,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_step__organization:e}},n);return this.dispatch(a(c)),c}}class IM extends R{constructor(){super(...arguments);m(this,"name","Asset Procedure Step Fields");m(this,"url","/asset-procedure-step-fields");m(this,"actions",{addOne:Pd,addMany:_d,setOne:bd,setMany:Md,updateOne:Rd,updateMany:Ed,deleteOne:kd,deleteMany:vd,initialize:gd});m(this,"selectors",{selectById:Vd,selectByIds:Bd})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[u.asset_procedure_step],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(f=>{throw this.dispatch(r(u.uuid)),f}),[u,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,c=n.getState().assetProcedureStepFieldsReducer.instances[e.uuid];if(!c)throw new Error(`AssetProcedureStepFields with uuid ${e.uuid} not found`);const r={...c,...e};this.dispatch(a(r));const d=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return d.then(l=>{this.dispatch(a(l))}).catch(l=>{throw this.dispatch(a(c)),l}),[r,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,r=n.getState().assetProcedureStepFieldsReducer.instances[e];if(!r)throw new Error(`AssetProcedureStepFields with uuid ${e} not found`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(c(r)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_step__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class OM extends q{constructor(){super(...arguments);m(this,"name","Asset Procedure Step Field Values Attachment");m(this,"url","/asset-procedure-step-field-values-attachments");m(this,"actions",{addOne:Dd,addMany:Cs,setOne:jd,setMany:$d,updateOne:Cd,updateMany:Ud,deleteOne:Ld,deleteMany:Us,initialize:qd});m(this,"selectors",{selectById:Gd,selectByIds:Hd})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,d=n.getState(),l=r(e)(d);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class FM extends R{constructor(){super(...arguments);m(this,"name","Asset Procedure Step Field Values");m(this,"url","/asset-procedure-step-field-values");m(this,"actions",{addOne:Qd,addMany:Xd,setOne:xd,setMany:el,updateOne:tl,updateMany:sl,deleteOne:il,deleteMany:nl,initialize:Jd});m(this,"selectors",{selectById:cl,selectByIds:rl})}add(e){var f;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=new Date().toISOString(),p=O({...e,created_by:l,submitted_at:u}),y=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(p),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[p.uuid]});return this.dispatch(a(p)),y.then(w=>{this.dispatch(c(w))}).catch(()=>{this.dispatch(r(p.uuid))}),[p,y]}bulkAdd(e,n){var k;const{payloads:a,values:c}=e,{addMany:r,setMany:d,deleteMany:l}=this.actions,u=new Date().toISOString(),p=((k=this.client.store.getState().userReducer.currentUser)==null?void 0:k.id)??null,y=[],f=ht(a,Math.min(n??a.length,ut)),w=[];for(const P of f){const E=[];for(const b of P){const W=O({...b,values:b.values,created_by:p,submitted_at:u});y.push(W),E.push({uuid:W.uuid,asset:b.asset,fields_revision:b.fields_revision,asset_procedure:b.asset_procedure,asset_procedure_step:b.asset_procedure_step,published_at:b.published_at,values:W.values})}w.push({submitted_at:u,values:c,field_values:E})}this.dispatch(r(y));const _=[];for(const P of w){const{field_values:E}=P,b=E.map(({asset:v})=>v),W=E.map(({fields_revision:v})=>v),j=E.map(({asset_procedure:v})=>v),z=E.map(({uuid:v})=>v),D=this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:P,blockers:b.concat(W).concat(j),blocks:z});_.push(D)}return Promise.all(_).then(P=>{this.dispatch(d(P.flat()))}).catch(()=>{this.dispatch(l(V(y)))}),[y,_]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),d=c(e.uuid)(r);if(!d)throw new Error(`Expected AssetProcedureStepFieldValues with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[l.fields_revision,l.asset,l.asset_procedure],blocks:[l.uuid]});return u.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(a(d))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected submission with uuid ${e} to exist`);const u=Kd(e)(d);this.dispatch(a(e)),this.dispatch(Us(V(u)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(l)),this.dispatch(Cs(u)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class gM extends R{constructor(){super(...arguments);m(this,"name","Asset Procedure Step");m(this,"url","/asset-procedure-steps");m(this,"actions",{addOne:pl,addMany:ml,setOne:ol,setMany:hl,updateOne:yl,updateMany:fl,deleteOne:Sl,deleteMany:Al,initialize:ul});m(this,"selectors",{selectById:wl,selectByIds:Il})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[u.asset_procedure_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset procedure step with uuid ${e.uuid} found in the store`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${r.uuid}/`,payload:{name:e.name,description:e.description,priority:e.order,color:e.color},blockers:[r.uuid],blocks:[r.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteMany:a,addMany:c,addOne:r,deleteOne:d}=this.actions,{selectById:l}=this.selectors,u=n.getState(),p=l(e)(u);if(!p)throw new Error(`No asset procedure step with uuid ${e} found in the store`);const y=Ol(e)(u);this.dispatch(d(e)),this.dispatch(a(V(y)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(r(p)),this.dispatch(c(y)),f}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class PM extends R{constructor(){super(...arguments);m(this,"url","/assets");m(this,"name","Asset");m(this,"actions",{addOne:Pl,addMany:Ys,setOne:Rl,setMany:El,updateOne:_l,updateMany:bl,deleteOne:Ml,deleteMany:Zs,initialize:gl});m(this,"selectors",{selectById:Vl,selectByIds:Bl})}add(e){var y;const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[u.asset_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`No asset with uuid ${e} found in the store`);const u=Tc(e)(d),p=Vy(e)(d);this.dispatch(c(e)),this.dispatch(Ts(V(u))),this.dispatch(mt(V(p)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(y){throw this.dispatch(a(l)),this.dispatch(As(u)),this.dispatch(pt(p)),y}}bulkAdd(e,n){const{addMany:a}=this.actions,c=new Date().toISOString(),r=ot.v4(),d=ht(e,Math.min(n??e.length,ut)).map(p=>{const y=p.map(f=>O(f));return{batchId:ot.v4(),payload:{transaction_id:r,submitted_at:c,assets:y}}}),l=[];let u=null;for(const p of d){const{batchId:y,payload:f}=p,w=f.assets.map(({uuid:b})=>b),_=f.assets.map(({asset_type:b})=>b),k=f.assets.map(({project:b})=>b),P=f.assets.map(({status:b})=>b),E=this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:f,blockers:(u?[u]:[]).concat(_).concat(k).concat(P),blocks:[y].concat(w)});u=p.batchId,l.push(E)}return Promise.all(l).then(p=>{const y=p.flat();this.dispatch(a(y))}),l}bulkUpdate(e,n){const{store:a}=this.client,{updateMany:c}=this.actions,{selectByIds:r}=this.selectors,d=V(e).toSorted(Vt);if(d.length!==e.length)throw new Error("payloads contains duplicate uuids.");const l=r(d)(a.getState()).toSorted(ms);if(d.length!=l.length)throw new Error(`Attempting to bulk update ${d.length-l.length} assets that dont exist in the store`);const u=[];for(let w=0;w<d.length;w++)u.push({...l[w],...e[w]});this.dispatch(c(u));const p=ht(e,Math.min(n??e.length,ut)),y=[];let f=null;for(const w of p){const _=ot.v4(),k=V(w),P=w.map(({status:b})=>b).filter(Boolean),E=this.enqueueRequest({description:T(h.PATCH,this.name,!0),method:h.PATCH,url:`${this.url}/bulk/`,payload:{payloads:w},blockers:(f?[f]:[]).concat(k).concat(P),blocks:[_].concat(k)});y.push(E),f=_}return Promise.all(y).then(w=>{this.dispatch(c(w.flat()))}).catch(()=>{this.dispatch(c(l))}),[u,y]}async bulkDelete(e){const{store:n}=this.client,{addMany:a,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,d=n.getState(),l=r(e)(d);this.dispatch(c(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class _M extends R{constructor(){super(...arguments);m(this,"name","Asset Stage Completion");m(this,"url","/asset-stage-completions");m(this,"actions",{addOne:Dl,addMany:jl,setOne:$l,setMany:Cl,updateOne:Ul,updateMany:Ll,deleteOne:Nl,deleteMany:Gl,initialize:ql});m(this,"selectors",{selectById:Zl,selectByIds:Jl})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[e.asset,e.asset_stage],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Expected asset stage completion with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}bulkAdd(e){var w;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,d=new Date().toISOString(),l=((w=n.getState().userReducer.currentUser)==null?void 0:w.id)??null,u=e.map(_=>O(_)),p=u.map(_=>({..._,created_by:l,submitted_at:d})),y=p.map(({uuid:_})=>_);this.dispatch(a(p));const f=this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{submitted_at:d,completions:u},blockers:[...e.map(_=>_.asset_procedure),...e.map(_=>_.asset_stage),...e.map(_=>_.asset)],blocks:y});return f.then(_=>{this.dispatch(c(_))}).catch(()=>{this.dispatch(r(y))}),[p,f]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,d=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e}},n)).flat();return this.dispatch(a(r)),r}}class bM extends R{constructor(){super(...arguments);m(this,"name","Asset Stage");m(this,"url","/asset-stages");m(this,"actions",{addOne:tu,addMany:su,setOne:xl,setMany:eu,updateOne:iu,updateMany:nu,deleteOne:au,deleteMany:cu,initialize:Xl});m(this,"selectors",{selectById:du,selectByIds:lu})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[u.asset_procedure_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset stage with uuid ${e.uuid} found in the store`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`No asset stage with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class MM extends q{constructor(){super(...arguments);m(this,"name","Asset Type Attachment");m(this,"url","/asset-type-attachments");m(this,"actions",{addOne:hu,addMany:ti,setOne:pu,setMany:mu,updateOne:yu,updateMany:fu,deleteOne:Su,deleteMany:si,initialize:ou});m(this,"selectors",{selectById:Tu,selectByIds:wu})}getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,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:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class RM extends q{constructor(){super(...arguments);m(this,"name","Asset Type Fields Attachment");m(this,"url","/asset-type-fields-attachments");m(this,"actions",{addOne:Pu,addMany:_u,setOne:bu,setMany:Mu,updateOne:Ru,updateMany:Eu,deleteOne:ku,deleteMany:vu,initialize:gu});m(this,"selectors",{selectById:Bu,selectByIds:zu})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class EM extends R{constructor(){super(...arguments);m(this,"name","Asset Type Fields");m(this,"url","/asset-type-fields");m(this,"actions",{addOne:ju,addMany:$u,setOne:Cu,setMany:Uu,updateOne:Lu,updateMany:Nu,deleteOne:Gu,deleteMany:Hu,initialize:Du});m(this,"selectors",{selectById:Yu,selectByIds:Zu})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[u.asset_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(f=>{throw this.dispatch(r(u.uuid)),f}),[u,p]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class kM extends q{constructor(){super(...arguments);m(this,"name","Asset Type Field Values Attachment");m(this,"url","/asset-type-field-values-attachments");m(this,"actions",{addOne:xu,addMany:di,setOne:eo,setMany:to,updateOne:so,updateMany:io,deleteOne:no,deleteMany:li,initialize:Xu});m(this,"selectors",{selectById:co,selectByIds:ro})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,d=n.getState(),l=r(e)(d);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class vM extends R{constructor(){super(...arguments);m(this,"name","Asset Type Field Values");m(this,"url","/asset-type-field-values");m(this,"actions",{addOne:po,addMany:mo,setOne:yo,setMany:fo,updateOne:So,updateMany:Ao,deleteOne:To,deleteMany:wo,initialize:ho});m(this,"selectors",{selectById:Oo,selectByIds:Fo})}add(e){var f;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=new Date().toISOString(),p=O({...e,created_by:l,submitted_at:u}),y=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(p),blockers:[e.asset,e.fields_revision],blocks:[p.uuid]});return this.dispatch(a(p)),y.then(w=>{this.dispatch(c(w))}).catch(()=>{this.dispatch(r(p.uuid))}),[p,y]}bulkAdd(e,n){var _;const{payloads:a,values:c}=e,{addMany:r,setMany:d,deleteMany:l}=this.actions,u=new Date().toISOString(),p=[],y=ht(a,Math.min(n??a.length,ut)),f=[];for(const k of y){const P=[];for(const E of k){const b=O({...E,values:E.values,created_by:((_=this.client.store.getState().userReducer.currentUser)==null?void 0:_.id)??null,submitted_at:u});p.push(b),P.push({uuid:b.uuid,asset:E.asset,fields_revision:E.fields_revision,published_at:E.published_at,values:b.values})}f.push({submitted_at:u,values:c,field_values:P})}this.dispatch(r(p));const w=[];for(const k of f){const{field_values:P}=k,E=P.map(({asset:z})=>z),b=P.map(({fields_revision:z})=>z),W=P.map(({uuid:z})=>z),j=this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:k,blockers:E.concat(b),blocks:W});w.push(j)}return Promise.all(w).then(k=>{this.dispatch(d(k.flat()))}).catch(()=>{this.dispatch(l(V(p)))}),[p,w]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),d=c(e.uuid)(r);if(!d)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[l.uuid,l.fields_revision,l.asset],blocks:[l.uuid]});return u.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(a(d))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected submission with uuid ${e} to exist`);const u=lo(e)(d);this.dispatch(a(e)),this.dispatch(li(V(u)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(l)),this.dispatch(di(u)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class VM extends R{constructor(){super(...arguments);m(this,"name","Asset Type Identifier");m(this,"url","/asset-type-identifiers");m(this,"actions",{addOne:bo,addMany:Mo,setOne:Ro,setMany:Eo,updateOne:ko,updateMany:vo,deleteOne:Vo,deleteMany:Bo,initialize:_o});m(this,"selectors",{selectById:Wo,selectByIds:qo})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[u.asset_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class BM extends R{constructor(){super(...arguments);m(this,"name","Asset Type Identifier Value");m(this,"url","/asset-type-identifier-values");m(this,"actions",{addOne:Co,addMany:Uo,setOne:Lo,setMany:No,updateOne:Go,updateMany:Ho,deleteOne:Ko,deleteMany:Yo,initialize:$o});m(this,"selectors",{selectById:Jo,selectByIds:Qo})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[e.asset,e.asset_type_identifier],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}bulkAdd(e,n){var k;const{store:a}=this.client,{addMany:c,updateMany:r,deleteMany:d}=this.actions,l=new Date().toISOString(),u=((k=a.getState().userReducer.currentUser)==null?void 0:k.id)??null,p=ht(e,Math.min(n??e.length,ut)),y=[],f=[];for(const P of p){const E=[],b=[],W=[];for(const z of P){const D=O({...z,submitted_at:l,created_by:u});f.push(D);const v={uuid:D.uuid,asset:D.asset,asset_type_identifier:D.asset_type_identifier,value:D.value};E.push(v),b.push(D.asset),b.push(D.asset_type_identifier),W.push(D.uuid)}const j={payloads:E,submitted_at:l,blockers:b,blocks:W};y.push(j)}this.dispatch(c(f));const w=y.map(P=>{const{payloads:E,submitted_at:b,blockers:W,blocks:j}=P;return this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{submitted_at:b,payloads:E},blockers:W,blocks:j})});Promise.all(w).then(P=>{this.dispatch(r(P.flat()))}).catch(P=>{throw this.dispatch(d(V(f))),P});const _=Promise.all(w).then(P=>P.flat());return[f,_]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class zM extends R{constructor(){super(...arguments);m(this,"name","Asset Type");m(this,"url","/asset-types");m(this,"actions",{addOne:ih,addMany:nh,setOne:th,setMany:sh,updateOne:ah,updateMany:ch,deleteOne:rh,deleteMany:dh,initialize:eh});m(this,"selectors",{selectById:uh,selectByIds:oh})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected asset type with uuid ${e} to exist`);const u=vl(e)(d),p=Iu(e)(d);this.dispatch(a(e)),this.dispatch(Zs(V(u))),this.dispatch(si(V(p)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(y){throw this.dispatch(c(l)),this.dispatch(Ys(u)),this.dispatch(ti(p)),y}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class WM extends R{constructor(){super(...arguments);m(this,"name","Asset Type Status");m(this,"url","/asset-type-statuses");m(this,"actions",{addOne:yh,addMany:fh,setOne:Sh,setMany:Ah,updateOne:Th,updateMany:wh,deleteOne:Ih,deleteMany:Oh,initialize:mh});m(this,"selectors",{selectById:gh,selectByIds:Ph})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[e.asset_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const d={...r,...e};this.dispatch(n(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(n(u))}).catch(()=>{this.dispatch(n(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class qM extends q{constructor(){super(...arguments);m(this,"name","Document Attachment");m(this,"url","/document-attachments");m(this,"actions",{addOne:vh,addMany:Vh,setOne:Bh,setMany:zh,updateOne:Wh,updateMany:qh,deleteOne:Dh,deleteMany:jh,initialize:kh});m(this,"selectors",{selectById:Ch,selectByIds:Uh})}getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,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[a,c,r]=await super.bulkAdd(e,n),d={};for(const{file_sha1:l,uuid:u}of a)l in d||(d[l]=[]),d[l].push(u);return r.then(l=>{const u=l.flatMap(p=>d[p]??[]);for(const p of u)this.makeReadable(p)}),[a,c,r]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:h.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:a}=this.actions,c=this.list({queryParams:{document__project__organization:e}},n),r=this.list({queryParams:{document__organization:e}},n),l=(await Promise.all([c,r])).flat();return this.dispatch(a(l)),l}}class DM extends R{constructor(){super(...arguments);m(this,"name","Document");m(this,"url","/documents");m(this,"actions",{addOne:Hh,addMany:Kh,setOne:Yh,setMany:Zh,updateOne:Jh,updateMany:Qh,deleteOne:Xh,deleteMany:xh,initialize:Gh});m(this,"selectors",{selectById:tp,selectByIds:sp})}add(e){var y;const{store:n}=this.client,{addOne:a,deleteOne:c,updateOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:u.parent_document?[u.parent_document]:[],blocks:[u.uuid]});return p.then(f=>{this.dispatch(r(f))}).catch(()=>{this.dispatch(c(u.uuid))}),[u,p]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c,addMany:r,deleteMany:d}=this.actions,{selectById:l}=this.selectors,u=n.getState(),p=l(e)(u);if(!p)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const y=ip(e)(u);this.dispatch(a(e)),this.dispatch(d(V(y)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(c(p)),this.dispatch(r(y)),f}}async refreshStore(e,n){const{initialize:a}=this.actions,c=this.list({queryParams:{project__organization:e}},n),r=this.list({queryParams:{organization:e}},n),l=(await Promise.all([c,r])).flat();return this.dispatch(a(l)),l}}class wt extends ft{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:h.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:h.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:h.GET,...s},e)}}class jM extends wt{constructor(){super(...arguments);m(this,"name","Email Domains");m(this,"url","/organization-email-domains");m(this,"actions",{addOne:cp,addMany:rp,setOne:dp,setMany:lp,updateOne:up,updateMany:op,deleteOne:hp,deleteMany:pp,initialize:ap});m(this,"selectors",{selectById:yp,selectByIds:fp})}async add(e,n){return this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:{email:n,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:n,addOne:a}=this.actions;this.dispatch(n(e.uuid));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(c){throw this.dispatch(a(e)),c}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class $M extends ft{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:h.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:h.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const Rt={},_a=new Set;class CM extends ft{constructor(){super(...arguments);m(this,"host");m(this,"dbPromise",_P.openDB("fileCache",1,{upgrade(e){e.createObjectStore("files")}}))}async getDB(){return await this.dbPromise}async addCache(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 vt(e);if(_a.has(n))return;const a=await this.getDB();!!await a.get("files",n)?console.warn(`Attempting to add a file already cached, ${e.name}`):await a.put("files",e,n),_a.add(n)}async removeCache(e){await(await this.getDB()).delete("files",e),_a.delete(e)}async fetchCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,n,a=n){const c=e.split("?")[0]??e,r=await this.fetchCache(n);if(r)return r;let d;c in Rt?d=Rt[c]:Ka(e)?(d=Ha(e,a),Rt[c]=d):(d=new Promise(p=>{this.performRequest({method:h.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1}).then(y=>{const f=new File([y],a,{type:y.type});p(f)})}),Rt[c]=d);let l;try{l=await d}catch(p){throw p instanceof C&&delete Rt[c],p}const u=await vt(l);if(u!==n){const p=`The hash of the file returned from the server (${u}) does not match the
|
|
8
|
+
expected hash (${n}). This can happen if you're using a local development server and the
|
|
10
9
|
isExternalUrl flag in the request details is set to true, because instead of requesting the local
|
|
11
10
|
REST API, you will be requesting localhost:80 (where this app runs), resulting in a transformed blob
|
|
12
11
|
(with an uuid attached) being returned. Alternatively, you may be running with
|
|
13
12
|
import.meta.env.PROD, which will result in some file requests being treated as
|
|
14
|
-
external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}const p=u.type.split("/")[1];if(!p)throw new Error("File has no extension");const A=c??o+"."+p;if(u=Fc(u,A),!u.name)throw new Error("Failed to set file's name");await this.addCache(u,o),Bt[n]=new Promise(f=>{f(u)})}return u}}class Wb extends q{async bulkAdd(e){var m;const i=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,c={},n=[],r=[];for(const u of e){const{revisionUuid:o,fieldIdentifier:p,file:A}=u,f=await this.getFilePayload(A);f.sha1 in c||(c[f.sha1]=f);const b=T({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:f.sha1,created_by:a,form_revision:o,submitted_at:i,field_identifier:p});n.push(b);const P={uuid:b.uuid,file_name:A.name,field_identifier:p,file_extension:f.extension,file_sha1:f.sha1,form_revision:o};r.push(P)}this.dispatch(ru(n));const l=this.enqueueRequest({description:"Attach files to form revision",method:h.POST,url:"/form-revision-attachments/bulk/",payload:{submitted_at:i,attachments:r,files:Object.values(c)},blockers:n.map(u=>u.form_revision),blocks:n.map(u=>u.uuid)});return l.then(u=>{this.processPresignedUrls(u.presigned_urls),this.dispatch(du(u.attachments))}).catch(()=>{this.dispatch(uu(n.map(u=>u.uuid)))}),[n,l.then(({attachments:u})=>u)]}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Fetch organization form revision attachments",method:h.GET,url:"/form-revision-attachments/",queryParams:{form_revision__form__organization:e},blockers:[e],blocks:[]},i);return this.dispatch(nu(a)),a}}class Yb extends q{add(e){var l;const{store:i}=this.client,c=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,n=T({...e,created_by:c,submitted_at:new Date().toISOString()});this.dispatch(Mi(n));const r=this.enqueueRequest({description:"Create form revision",method:h.POST,url:"/form-revisions/",payload:w(n),blockers:[e.form],blocks:[n.uuid]});return r.then(m=>{this.dispatch(Au(m))}).catch(()=>{this.dispatch(Ei(n.uuid))}),[n,r]}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get organization form revisions",method:h.GET,url:"/form-revisions/",queryParams:{form__organization:e},blockers:[e],blocks:[]},i);return this.dispatch(mu(a)),a}}class Kb extends q{add(e,i){var u;const{store:a}=this.client,c=new Date().toISOString(),n=(u=a.getState().userReducer.currentUser)==null?void 0:u.id,r=T({...e,submitted_at:c,created_by:n}),l=T({...i,form:r.uuid,submitted_at:c,created_by:n});this.dispatch(zi(r)),this.dispatch(Mi(l));const m=this.enqueueRequest({description:"Create form",method:h.POST,url:"/forms/",payload:{...w(r),initial_revision:{uuid:l.uuid,submitted_at:l.submitted_at,title:l.title,description:l.description,fields:l.fields}},blockers:[],blocks:[r.uuid,l.uuid]});return m.catch(o=>{throw this.dispatch(Ui(r.uuid)),this.dispatch(Ei(l.uuid)),o}),[r,l,m]}async delete(e){const{store:i}=this.client,a=i.getState(),c=Iu(e)(a);if(!c)throw new Error("Expected form to exist");const n=zu(e)(a);n.length>0&&this.dispatch(jt(n.map(({uuid:l})=>l)));const r=yu(e)(a);r.length>0&&this.dispatch(fu(r.map(({uuid:l})=>l))),this.dispatch(Ui(e));try{return await this.enqueueRequest({description:"Delete form",method:h.DELETE,url:`/forms/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(zi(c)),r.length>0&&this.dispatch(pu(r)),n.length>0&&this.dispatch(Et(n)),l}}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Fetch organization forms",method:h.GET,url:"/forms/",queryParams:{organization:e},blockers:[e],blocks:[]},i);return this.dispatch(bu(a)),a}}class Zb extends q{async bulkAdd(e){var m;const i=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,c={},n=[],r=[];for(const u of e){const{submissionUuid:o,fieldIdentifier:p,file:A}=u,f=await this.getFilePayload(A);f.sha1 in c||(c[f.sha1]=f);const b=T({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:f.sha1,created_by:a,form_submission:o,submitted_at:i,field_identifier:p});n.push(b);const P={uuid:b.uuid,file_name:A.name,file_sha1:f.sha1,file_extension:f.extension,field_identifier:p,form_submission:o};r.push(P)}this.dispatch(vt(n));const l=this.enqueueRequest({description:"Attach files to form submission",method:h.POST,url:"/form-submission-attachments/bulk/",payload:{submitted_at:i,attachments:r,files:Object.values(c)},blockers:n.map(u=>u.form_submission),blocks:n.map(u=>u.uuid)});return l.then(u=>{this.processPresignedUrls(u.presigned_urls),this.dispatch(Ru(u.attachments))}).catch(u=>{throw this.dispatch(wt(n.map(o=>o.uuid))),u}),[n,l.then(({attachments:u})=>u)]}async bulkDelete(e){const{store:i}=this.client,a=i.getState(),c=wu(e)(a);this.dispatch(wt(e));try{await this.enqueueRequest({description:"Delete form submission attachments",method:h.DELETE,url:"/form-submission-attachments/bulk/",payload:{uuids:e},blockers:e,blocks:[]})}catch(n){throw this.dispatch(vt(c)),n}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get form submission attachments",method:h.GET,url:"/form-submission-attachments/",queryParams:{limit:E,paginate:!0,form_submission__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get form submission attachments",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(_u(c)),c}}class Jb extends q{add(e){var r;const{store:i}=this.client,a=i.getState(),c=T({...e,created_by:(r=a.userReducer.currentUser)==null?void 0:r.id,submitted_at:new Date().toISOString()}),n=this.enqueueRequest({description:"Add form submission",method:h.POST,url:"/form-submissions/",payload:w(c),blockers:[e.form_revision,...e.issue?[e.issue]:[],...e.asset?[e.asset]:[]],blocks:[c.uuid]});return this.dispatch(Bi(c)),n.then(l=>(this.dispatch(Mt(l)),l)).catch(()=>{this.dispatch(Gi(c.uuid))}),[c,n]}update(e){const{store:i}=this.client,a=i.getState(),c=Ni(e.uuid)(a);if(!c)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const n={...c,...e};this.dispatch(Vu(n));const r=this.enqueueRequest({description:"Delete user form submissions",method:h.PATCH,url:`/form-submissions/${n.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return r.then(l=>{this.dispatch(Mt(l))}).catch(()=>{this.dispatch(Mt(c))}),[n,r]}async delete(e){const{store:i}=this.client,a=i.getState(),c=Ni(e)(a);if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const n=Mu(e)(a);this.dispatch(Gi(e)),this.dispatch(wt(n.map(r=>r.uuid)));try{return await this.enqueueRequest({description:"Delete user form submissions",method:h.DELETE,url:`/form-submissions/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(Bi(c)),this.dispatch(vt(n)),r}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Fetch form submissions",method:h.GET,url:"/form-submissions/",queryParams:{limit:E,paginate:!0,project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Fetch form submissions",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(qu(c)),c}}class Xb extends q{async add(e){var p;const{store:i}=this.client,{file:a,...c}=e,n=new Date().toISOString(),r=(p=i.getState().userReducer.currentUser)==null?void 0:p.id,l=c.project,m=await this.getFilePayload(a),u=T({...c,file_name:a.name,file_sha1:m.sha1,file:URL.createObjectURL(a),submitted_at:n,created_by:r});this.dispatch($u(u));const o=this.enqueueRequest({description:"Add geo image",method:h.POST,url:"/geo-images/",payload:{uuid:u.uuid,submitted_at:n,title:u.title,description:u.description,geo_marker:u.geo_marker,canvas_marker:u.canvas_marker,sha1:u.file_sha1,project:u.project,file_name:u.file_name,direction:u.direction,original_date:u.original_date,file:m},blocks:[l],blockers:[l]});return o.then(A=>{this.processPresignedUrls(A.presigned_urls),this.dispatch(at(A.geo_image))}).catch(()=>{this.dispatch(Wi(u.uuid))}),[u,o.then(A=>A.geo_image)]}async bulkAdd(e,i){var p;const{store:a}=this.client,c=new Date().toISOString(),n=(p=a.getState().userReducer.currentUser)==null?void 0:p.id,r=[],l=[],m=[],u={};for(const A of e){const{file:f,...b}=A,P=await this.getFilePayload(f);P.sha1 in u||(u[P.sha1]=P);const _=T({...b,file_name:f.name,file_sha1:P.sha1,file:URL.createObjectURL(f),submitted_at:c,created_by:n,project:i});r.push(_),l.push(_.uuid),m.push({uuid:_.uuid,sha1:_.file_sha1,file_name:_.file_name,title:_.title,description:_.description,geo_marker:_.geo_marker,canvas_marker:_.canvas_marker,direction:_.direction,original_date:_.original_date})}this.dispatch(Lu(r));const o=this.enqueueRequest({description:"Bulk add geo images",method:h.POST,url:"/geo-images/bulk/",payload:{submitted_at:c,project:i,geo_images:m,files:Object.values(u)},blocks:[i],blockers:l});return o.then(A=>{this.processPresignedUrls(A.presigned_urls),this.dispatch(Gu(A.geo_images))}).catch(()=>{this.dispatch(Hu(l))}),[r,o.then(A=>A.geo_images)]}update(e){const{store:i}=this.client,a=i.getState(),c=Yi(e.uuid)(a);if(!c)throw new Error(`Map image with uuid ${e.uuid} does not exist in the store`);const n={...c,...e};this.dispatch(Nu(n));const r=this.enqueueRequest({description:"Update geo image",method:h.PATCH,url:`/geo-images/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return r.then(l=>{this.dispatch(at(l))}).catch(()=>{this.dispatch(at(c))}),[n,r]}async delete(e){const{store:i}=this.client,a=i.getState(),c=Yi(e)(a);if(!c)throw new Error(`Map image with uuid ${e} does not exist in the store`);this.dispatch(Wi(e));const n=this.enqueueRequest({description:"Delete geo image",method:h.DELETE,url:`/geo-images/${e}/`,blocks:[e],blockers:[e]});return n.catch(()=>{this.dispatch(at(c))}),n}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get geo images",method:h.GET,url:"/geo-images/",queryParams:{project:e},blocks:[e],blockers:[]},i);return this.dispatch(Bu(a)),a}}class Qb extends v{add(e){var l;const{store:i}=this.client,a=new Date().toISOString(),c=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,n=T({...e,submitted_at:a,created_by:c});this.dispatch(Zi(n));const r=this.enqueueRequest({description:"Add issue association",method:h.POST,url:"/issue-associations/",payload:w(n),blockers:[e.associated_issue,...e.issue?[e.issue]:[],...e.asset?[e.asset]:[]],blocks:[n.uuid]});return r.then(m=>{this.dispatch(Xu(m))}).catch(()=>{this.dispatch(Xi(n.uuid))}),[n,r]}async delete(e){const{store:i}=this.client,a=Qu(e)(i.getState());if(!a)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(Xi(e));const c=this.enqueueRequest({description:"Delete issue association",method:h.DELETE,url:`/issue-associations/${e}/`,blockers:[e],blocks:[]});return c.catch(()=>{this.dispatch(Zi(a))}),c}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Fetch issue associations",method:h.GET,url:"/issue-associations/",queryParams:{limit:E,paginate:!0,associated_issue__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Fetch issue associations",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(Ju(c)),c}}class xb extends ke{constructor(){super(...arguments);S(this,"name","Issue Attachment");S(this,"url","/issue-attachments");S(this,"initializeAttachments",ea);S(this,"addAttachments",ta);S(this,"updateAttachments",co);S(this,"removeAttachments",sa);S(this,"removeAttachment",no);S(this,"setAttachment",ao);S(this,"selectAttachment",lo)}buildOfflineAttachment(i){return T({file:URL.createObjectURL(i.file),file_sha1:i.file_sha1,created_by:i.created_by,file_name:i.file.name,file_type:i.file.type,submitted_at:i.submitted_at,description:i.description,issue:i.modelUuid})}buildAttachmentPayload(i){return{...i,issue:i.modelUuid}}async bulkAdd(i){return this._bulkAdd(i.map(a=>({modelUuid:a.issueUuid,file:a.file})))}async delete(i){return this._delete(i)}async refreshStore(i,a){const n=(await this.performPagination({immediate:!0,description:"Get issue attachments",method:h.GET,url:`${this.url}/`,queryParams:{limit:E,paginate:!0,issue__project:i},blocks:[],blockers:[]},r=>({immediate:!0,description:"Get issue attachments",method:h.GET,url:r,blockers:[],blocks:[]}),a)).flat();return this.dispatch(ea(n)),n}}class eP extends ke{constructor(){super(...arguments);S(this,"name","Issue Comment Attachment");S(this,"url","/issue-comment-attachments");S(this,"initializeAttachments",aa);S(this,"addAttachments",po);S(this,"updateAttachments",fo);S(this,"removeAttachments",So);S(this,"removeAttachment",yo);S(this,"setAttachment",Ao);S(this,"selectAttachment",Po)}buildOfflineAttachment(i){return T({file:URL.createObjectURL(i.file),file_sha1:i.file_sha1,created_by:i.created_by,file_name:i.file.name,file_type:i.file.type,submitted_at:i.submitted_at,description:i.description,issue_comment:i.modelUuid})}buildAttachmentPayload(i){return{...i,issue_comment:i.modelUuid}}async bulkAdd(i){return this._bulkAdd(i.map(a=>({modelUuid:a.issueCommentUuid,file:a.file})))}async delete(i){return this._delete(i)}async refreshStore(i,a){const n=(await this.performPagination({immediate:!0,description:"Get issue comment attachments",method:h.GET,url:`${this.url}/`,queryParams:{limit:E,paginate:!0,issue_comment__issue__project:i},blocks:[],blockers:[]},r=>({immediate:!0,description:"Get issue comment attachments",method:h.GET,url:r,blockers:[],blocks:[]}),a)).flat();return this.dispatch(aa(n)),n}}class tP extends v{add(e){var n;const{store:i}=this.client,a=T({...e,author:(n=i.getState().userReducer.currentUser)==null?void 0:n.id,submitted_at:new Date().toISOString()});this.dispatch(na(a));const c=this.enqueueRequest({description:"Add issue comment",method:h.POST,url:"/issue-comments/",payload:w(a),blockers:[e.issue],blocks:[a.uuid]});return c.catch(()=>{this.dispatch(da(a.uuid))}),[a,c]}update(e){const{store:i}=this.client,a=ua(e.uuid)(i.getState());if(!a)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const c={...a,...e};this.dispatch(ra(c));const n=this.enqueueRequest({description:"Edit issue comment",method:h.PATCH,url:`/issue-comments/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return n.catch(()=>{this.dispatch(ra(a))}),[c,n]}remove(e){const{store:i}=this.client,a=ua(e)(i.getState());if(!a)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(da(e));const c=this.enqueueRequest({description:"Delete comment",method:h.DELETE,url:`/issue-comments/${e}/`,blockers:[e],blocks:[]});return c.catch(()=>{this.dispatch(na(a))}),c}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get comments",method:h.GET,url:"/issue-comments/",queryParams:{issue__project:e},blockers:[],blocks:[]},i);return this.dispatch(Io(a)),a}}class sP extends v{add(e){var m;const{store:i}=this.client,a=i.getState(),c=new Date().toISOString(),n=(m=a.userReducer.currentUser)==null?void 0:m.id,r=T({...e,submitted_at:c,created_by:n});this.dispatch(la(r));const l=this.enqueueRequest({description:"Create issue",method:h.POST,url:"/issues/",payload:w(r),blockers:[r.project,r.issue_type,...r.category?[r.category]:[]],blocks:[r.uuid]});return l.then(u=>{this.dispatch(qt(u))}).catch(u=>{throw this.dispatch(ha(r.uuid)),u}),[r,l]}update(e){var m;const i=this.client.store.getState(),a=Aa(e.uuid)(i);if(!a)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const c={...a,...e};this.dispatch(qt(c));const n={};for(const u of[j.TITLE,j.DESCRIPTION,j.STATUS,j.CATEGORY,j.PRIORITY,j.ASSIGNED_TO,j.DUE_DATE])if(u in e&&e[u]!==a[u])switch(u){case j.PRIORITY:case j.STATUS:{const o=e[u];n[u]=o!==void 0?Number(o):null;break}case j.DUE_DATE:case j.DESCRIPTION:case j.TITLE:n[u]=e[u]??null;break;case j.CATEGORY:{let o=null;const p=e[u];if(p&&(o=i.categoryReducer.instances[p]??null,!o))throw new Error(`Trying to update issue category to ${p} which does not exist in store`);n[u]=o?{name:o.name,color:o.color,uuid:o.uuid}:null;break}case j.ASSIGNED_TO:{let o=null;const p=e[u];if(p&&(o=i.userReducer.instances[p]??null,!o))throw new Error(`Trying to update issue assigned_to to ${p} which does not exist in store`);n[u]=o?{full_name:o.username,id:o.id}:null;break}}const r=T({created_by:(m=i.userReducer.currentUser)==null?void 0:m.id,submitted_at:new Date().toISOString(),issue:a.uuid,changes:n});this.dispatch(Tl(r));const l=this.enqueueRequest({description:"Edit issue",method:h.PATCH,url:`/issues/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.catch(()=>{this.dispatch(qt(a)),this.dispatch(Ol(r.uuid))}),[c,l]}async remove(e){const{store:i}=this.client,a=i.getState(),c=Aa(e)(a);if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const n=oo(e)(a),r=wl(e)(a),l=Uu(e)(a),m={};for(const o of xu(e)(a))m[o.uuid]=o;for(const o of eo(e)(a))m[o.uuid]=o;const u=Object.values(m);this.dispatch(ha(e)),n.length>0&&this.dispatch(sa(n.map(({uuid:o})=>o))),r.length>0&&this.dispatch(_l(r.map(({uuid:o})=>o))),l.length>0&&this.dispatch(jt(l.map(({uuid:o})=>o))),u.length>0&&this.dispatch(Qi(u.map(({uuid:o})=>o)));try{return await this.enqueueRequest({description:"Delete issue",method:h.DELETE,url:`/issues/${e}/`,blockers:[e],blocks:[]})}catch(o){throw this.dispatch(la(c)),this.dispatch(ta(n)),this.dispatch(Il(r)),this.dispatch(Et(l)),this.dispatch(Ji(u)),o}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get issues",method:h.GET,url:"/issues/",queryParams:{limit:E,paginate:!0,project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get issues",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(vo(c)),c}}class iP extends ke{constructor(){super(...arguments);S(this,"name","Issue Type Attachment");S(this,"url","/issue-type-attachments");S(this,"initializeAttachments",ya);S(this,"addAttachments",Vo);S(this,"updateAttachments",Uo);S(this,"removeAttachments",Co);S(this,"removeAttachment",Do);S(this,"setAttachment",zo);S(this,"selectAttachment",Go)}buildOfflineAttachment(i){return T({file:URL.createObjectURL(i.file),file_sha1:i.file_sha1,created_by:i.created_by,file_name:i.file.name,file_type:i.file.type,submitted_at:i.submitted_at,description:i.description,issue_type:i.modelUuid})}buildAttachmentPayload(i){return{...i,issue_type:i.modelUuid}}async bulkAdd(i){return this._bulkAdd(i.map(a=>({modelUuid:a.issueTypeUuid,file:a.file})))}async delete(i){return this._delete(i)}async refreshStore(i,a){const c=await this.enqueueRequest({immediate:!0,description:"Get issue type attachments",method:h.GET,url:`${this.url}/`,queryParams:{issue_type__organization:i},blocks:[],blockers:[]},a);return this.dispatch(ya(c)),c}}class aP extends q{async bulkAdd(e){var m;const i=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,c={},n=[],r=[];for(const u of e){const{fieldsRevisionUuid:o,fieldIdentifier:p,file:A}=u,f=await this.getFilePayload(A);f.sha1 in c||(c[f.sha1]=f);const b=T({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:f.sha1,created_by:a,fields_revision:o,submitted_at:i,field_identifier:p});n.push(b);const P={uuid:b.uuid,file_name:A.name,file_extension:f.extension,field_identifier:p,file_sha1:f.sha1,fields_revision:o};r.push(P)}this.dispatch(Ho(n));const l=this.enqueueRequest({description:"Add issue type fields attachments",method:h.POST,url:"/issue-type-fields-attachments/bulk/",payload:{submitted_at:i,attachments:r,files:Object.values(c)},blockers:n.map(u=>u.fields_revision),blocks:n.map(u=>u.uuid)});return l.then(u=>{this.processPresignedUrls(u.presigned_urls),this.dispatch(Wo(u.attachments))}).catch(()=>{this.dispatch(Yo(n.map(u=>u.uuid)))}),[n,l.then(({attachments:u})=>u)]}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"get issue type fields attachments",method:h.GET,url:"/issue-type-fields-attachments/",queryParams:{fields_revision__issue_type__organization:e},blockers:[e],blocks:[]},i);return this.dispatch(No(a)),a}}class cP extends v{add(e){var l;const{store:i}=this.client,a=(l=i.getState().userReducer.currentUser)==null?void 0:l.id,c=new Date().toISOString(),n=T({...e,created_by:a,submitted_at:c});this.dispatch(il(n));const r=this.enqueueRequest({description:"Add Issue Type Fields",method:h.POST,url:"/issue-type-fields/",payload:w(n),blockers:[n.issue_type],blocks:[n.uuid]});return r.then(m=>{this.dispatch(al(m))}).catch(m=>{throw this.dispatch(cl(n.uuid)),m}),[n,r]}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get Issue Type Fields",method:h.GET,url:"/issue-type-fields/",queryParams:{issue_type__organization:e},blockers:[],blocks:[]},i);return this.dispatch(sl(a)),a}}class nP extends q{async bulkAdd(e){var m;const i=new Date().toISOString(),a=(m=this.client.store.getState().userReducer.currentUser)==null?void 0:m.id,c={},n=[],r=[];for(const u of e){const{fieldValuesUuid:o,fieldIdentifier:p,file:A}=u,f=await this.getFilePayload(A);f.sha1 in c||(c[f.sha1]=f);const b=T({file:URL.createObjectURL(A),file_type:A.type,file_name:A.name,file_sha1:f.sha1,created_by:a,field_values:o,submitted_at:i,field_identifier:p});n.push(b);const P={uuid:b.uuid,file_name:A.name,file_sha1:f.sha1,file_extension:f.extension,field_identifier:p,field_values:o};r.push(P)}this.dispatch(zt(n));const l=this.enqueueRequest({description:"Add issue type field values attachments",method:h.POST,url:"/issue-type-field-values-attachments/bulk/",payload:{submitted_at:i,attachments:r,files:Object.values(c)},blockers:n.map(u=>u.field_values),blocks:n.map(u=>u.uuid)});return l.then(({presigned_urls:u,attachments:o})=>{this.processPresignedUrls(u),this.dispatch(ol(o))}).catch(u=>{throw this.dispatch(Ut(n.map(o=>o.uuid))),u}),[n,l.then(({attachments:u})=>u)]}async bulkDelete(e){const{store:i}=this.client,a=i.getState(),c=hl(e)(a);this.dispatch(Ut(e));try{await this.enqueueRequest({description:"Delete issue type field values attachments",method:h.DELETE,url:"/issue-type-field-values-attachments/bulk/",payload:{uuids:e},blockers:e,blocks:[]})}catch(n){throw this.dispatch(zt(c)),n}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get issue type field values attachments",method:h.GET,url:"/issue-type-field-values-attachments/",queryParams:{limit:E,paginate:!0,field_values__issue__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get issue type field values attachments",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(ul(c)),c}}class rP extends v{add(e){var r;const{store:i}=this.client,a=i.getState(),c=T({...e,created_by:(r=a.userReducer.currentUser)==null?void 0:r.id,submitted_at:new Date().toISOString()}),n=this.enqueueRequest({description:"Add issue type field values",method:h.POST,url:"/issue-type-field-values/",payload:w(c),blockers:[e.issue,e.fields_revision],blocks:[c.uuid]});return this.dispatch(ba(c)),n.then(l=>(this.dispatch(nt(l)),l)).catch(()=>{this.dispatch(Pa(c.uuid))}),[c,n]}update(e){const{store:i}=this.client,a=i.getState(),c=Ta(e.uuid)(a);if(!c)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const n={...c,...e};this.dispatch(nt(n));const r=this.enqueueRequest({description:"Update issue type field values",method:h.PATCH,url:`/issue-type-field-values/${e.uuid}/`,payload:e,blockers:[n.uuid,n.fields_revision,n.issue],blocks:[n.uuid]});return r.then(l=>{this.dispatch(nt(l))}).catch(()=>{this.dispatch(nt(c))}),[n,r]}async delete(e){const{store:i}=this.client,a=i.getState(),c=Ta(e)(a);if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const n=ml(e)(a);this.dispatch(Pa(e)),this.dispatch(Ut(n.map(r=>r.uuid)));try{await this.enqueueRequest({description:"Delete issue type field values",method:h.DELETE,url:`/issue-type-field-values/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(ba(c)),this.dispatch(zt(n)),r}}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get issue type field values",method:h.GET,url:"/issue-type-field-values/",queryParams:{limit:E,paginate:!0,issue__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get issue type field values",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(Qo(c)),c}}class dP extends v{add(e){var r;const{store:i}=this.client,a=i.getState(),c=T({...e,submitted_at:new Date().toISOString(),created_by:(r=a.userReducer.currentUser)==null?void 0:r.id});this.dispatch(yl(c));const n=this.enqueueRequest({method:h.POST,url:"/issue-types/",payload:w(c),blockers:[],blocks:[c.uuid]});return n.then(l=>{this.dispatch(rt(l))}).catch(()=>{this.dispatch(va(c.uuid))}),[c,n]}update(e){const{store:i}=this.client,a=i.getState(),c=Ma(e.uuid)(a);if(!c)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const n={...c,...e};this.dispatch(Sl(n));const r=this.enqueueRequest({method:h.PATCH,url:`/issue-types/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(l=>{this.dispatch(rt(l))}).catch(()=>{this.dispatch(rt(c))}),[n,r]}delete(e){const{store:i}=this.client,a=i.getState(),c=Ma(e)(a);if(!c)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const n=Eo(e)(a);this.dispatch(va(e)),this.dispatch(Mo(n.map(l=>l.uuid)));const r=this.enqueueRequest({method:h.DELETE,url:`/issue-types/${e}/`,blockers:[e],blocks:[]});return r.catch(()=>{this.dispatch(rt(c)),this.dispatch(wo(n))}),r}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,method:h.GET,url:"/issue-types/",queryParams:{organization:e},blockers:[],blocks:[]},i);return this.dispatch(fl(a)),a}}class uP extends v{async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get issue updates",method:h.GET,url:"/issue-updates/",queryParams:{limit:E,paginate:!0,issue__project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get issue updates",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(Fl(c)),c}}const oP=1800;function lP(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 hP extends mb{constructor(){super(...arguments);S(this,"_getRenewedTokens",async i=>{const a=this.enqueueRequest({description:"Get renewed tokens",method:h.POST,url:this.refreshTokensUrl,payload:{refresh:i},isAuthNeeded:!1,blockers:[],blocks:[],checkAuth:!1,immediate:!0});let c;try{c=await a}catch(n){console.error("Could not renew tokens; clearing auth",n),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(Td(!1)),this.clearTokens(),this.dispatch(F()),this.dispatch(F())}async renewTokens(){const i=this.getRefreshToken();if(!i)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const a=await this._getRenewedTokens(i);if(!a)return;console.log("Got renewed tokens"),this.setTokens(a)}catch(a){throw console.error("Could not renew tokens; clearing auth",a),this.clearAuth(),a}}tokenIsExpiringSoon(){const i=this.getAccessToken();if(!i)return!1;const a=Date.now()/1e3;let c;try{c=bm(i).exp??a}catch{c=a}return c-a<oP}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(i){return i instanceof D&&this.clearAuth(),i instanceof Error?Promise.reject(i):Promise.reject(new Error((i??Ye).toString()))}}}async handleUnauthorized(i,a){const c=this.client.store.getState();if(i.url.endsWith("/token/refresh/"))throw c.authReducer.isLoggedIn&&console.warn("No signed-in user to sign out."),this.clearAuth(),new D({message:"You have been signed out due to inactivity.",response:a,discard:!0});if(c.authReducer.isLoggedIn)await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new D({message:"Incorrect username or password.",response:a,discard:!0})}async initAuth(i){const a=Ne.v4();return console.debug(this.constructor.name,"Initiating auth"),this.enqueueRequest({uuid:a,description:"Get token pair",method:h.POST,url:this.initTokensUrl,payload:i,isAuthNeeded:!1,checkAuth:!1,immediate:!0,blockers:[],blocks:[]}).then(c=>{this.setTokens(lP(c))})}}class mP extends v{update(e){const{store:i}=this.client,a=Ua(e.uuid)(i.getState()),c={...a,...e};this.dispatch(Ct(c));const n=this.enqueueRequest({description:"Edit organization access",method:h.PATCH,url:`/organization-accesses/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return n.then(r=>{this.dispatch(Ct(r))}).catch(r=>{throw this.dispatch(Ct(a)),r}),[c,n]}async remove(e){const{store:i}=this.client,a=i.getState(),c=Ua(e)(a),n=Dl(c.user)(a);this.dispatch(Gl(c.uuid)),this.dispatch(Vl(c.user));try{await this.enqueueRequest({description:"Remove organization access",method:h.DELETE,url:`/organization-accesses/${c.uuid}/`,blockers:[c.uuid],blocks:[]})}catch(r){throw this.dispatch(Bl(c)),this.dispatch(ql(n)),r}}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get organization accesses",method:h.GET,url:"/organization-accesses/",queryParams:{organization:e},blockers:[],blocks:[]},i);return this.dispatch(kl(a)),a}}class pP extends v{async add(e){const i=await this.enqueueRequest({description:"Create organization",method:h.POST,url:"/organizations/",payload:e,blockers:[],blocks:[]});return this.dispatch(Wl(i)),i}async update(e){const i=await this.enqueueRequest({description:"Edit organization",method:h.PATCH,url:`/organizations/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(Yl(i)),i}async invite(e,i){return this.enqueueRequest({description:"Invite user to organization",method:h.POST,url:`/organizations/${e}/invite/${i}/`,blockers:[],blocks:[]})}async refreshStore(e){const i=await this.enqueueRequest({immediate:!0,description:"Fetch organizations",method:h.GET,url:"/organizations/",blockers:[],blocks:[]},e);return this.dispatch(Hl(i)),i}}class AP extends v{add(e){var n;const{store:i}=this.client,a=T({...e,created_by:(n=i.getState().userReducer.currentUser)==null?void 0:n.id});this.dispatch(Ba(a));const c=this.enqueueRequest({description:"Add project access",method:h.POST,url:"/project-accesses/",payload:w(a),blockers:[a.organization_access,a.project],blocks:[a.uuid]});return c.then(r=>{this.dispatch(dt(r))}).catch(r=>{throw this.dispatch(Ga(a.uuid)),r}),[a,c]}update(e){const{store:i}=this.client,a=La(e.uuid)(i.getState()),c={...a,...e};this.dispatch(dt(c));const n=this.enqueueRequest({description:"Edit project access",method:h.PATCH,url:`/project-accesses/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return n.then(r=>{this.dispatch(dt(r))}).catch(r=>{throw this.dispatch(dt(a)),r}),[c,n]}async remove(e){const{store:i}=this.client,a=La(e)(i.getState());this.dispatch(Ga(e));try{await this.enqueueRequest({description:"Delete project access",method:h.DELETE,url:`/project-accesses/${e}/`,blockers:[e],blocks:[]})}catch(c){throw this.dispatch(Ba(a)),c}}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Get project accesses",method:h.GET,url:"/project-accesses/",queryParams:{project__organization_owner:e},blockers:[],blocks:[]},i);return this.dispatch(ih(a)),a}}class fP extends ke{constructor(){super(...arguments);S(this,"name","Project Attachment");S(this,"url","/project-attachments");S(this,"addAttachments",oh);S(this,"updateAttachments",mh);S(this,"removeAttachments",Ha);S(this,"removeAttachment",ph);S(this,"setAttachment",lh);S(this,"selectAttachment",yh)}buildOfflineAttachment(i){return T({file:URL.createObjectURL(i.file),file_sha1:i.file_sha1,created_by:i.created_by,file_name:i.file.name,file_type:i.file.type,submitted_at:i.submitted_at,description:i.description,project:i.modelUuid})}buildAttachmentPayload(i){return{...i,project:i.modelUuid}}async bulkAdd(i){return this._bulkAdd(i.map(a=>({modelUuid:a.projectUuid,file:a.file})))}async delete(i){return this._delete(i)}async refreshStore(i,a){const c=await this.enqueueRequest({immediate:!0,description:"Get project attachments",method:h.GET,url:`${this.url}/`,queryParams:{project__organization_owner:i},blockers:[],blocks:[]},a);return this.dispatch(uh(c)),c}}class yP extends v{async saveExisting(e){if(!e.uuid)throw new Error("You can only use this method to save existing project files. The one provided has no uuid.");const i={...e};delete i.file;const a=this.enqueueRequest({method:h.PATCH,url:`/project-files/${e.uuid}/`,payload:i,blockers:[e.uuid],blocks:[e.uuid]});return a.then(c=>{this.dispatch(Ya(c))}),a}saveActive(){const{store:e}=this.client,i=e.getState(),a=i.projectFileReducer.activeProjectFileId;if(!a)throw new Error("No active project file");const c=i.projectFileReducer.instances[a];if(!c)throw new Error("No active project file");if(!c.bounds&&!c.canvas_bounds)throw new Error("Project file must either have bounds or canvas_bounds set");let n;if(typeof c.file=="string"&&!c.file.startsWith("blob:")){const m={...c};delete m.file,n={method:h.PATCH,url:`/project-files/${a}/`,payload:m,blockers:[a],blocks:[a]}}else n=new Promise((m,u)=>{this.client.files.uploadFileToS3(c.file_sha1).then(([o])=>{m({method:h.POST,url:`/project-files${c.project}/`,payload:{...c,...o},blockers:[a],blocks:[a]})}).catch(u)});const l=Promise.resolve(n).then(m=>this.enqueueRequest(m));return l.then(m=>{this.dispatch(Ya(m))}),this.dispatch(Rh),this.dispatch(_h(null)),this.dispatch(Oh(!1)),[c,l]}delete(e){return this.dispatch(Th(e)),this.enqueueRequest({method:h.DELETE,url:`/project-files/${e}`,blockers:[e],blocks:[]})}async refreshStore(e,i){const c=(await this.performPagination({immediate:!0,description:"Get project files",method:h.GET,url:"/project-files/",queryParams:{limit:E,paginate:!0,project:e},blockers:[],blocks:[]},n=>({immediate:!0,description:"Get project files",method:h.GET,url:n,blockers:[],blocks:[]}),i)).flat();return this.dispatch(Ph(c)),c}}class SP extends v{async add(e){const i=await this.enqueueRequest({description:"Create project",method:h.POST,url:"/projects/",payload:w(e),blockers:[],blocks:[]});return this.dispatch(Za(i)),i}async update(e){if(!e.bounds&&!e.canvas_bounds)throw new Error("Project must either have bounds or canvas_bounds set");return this.dispatch(qh(e)),await this.enqueueRequest({description:"Update project",method:h.PATCH,url:`/projects/${e.uuid}/`,payload:{name:e.name,bounds:e.bounds},blockers:[e.uuid],blocks:[e.uuid]})}async delete(e){const{store:i}=this.client,a=i.getState(),c=Uh(e)(a);if(!c)throw new Error("Expected project to exist");const n=wh(a).filter(m=>m.project===e);this.dispatch(Ih(n.map(({uuid:m})=>m)));const r=Sh(c.uuid)(a);this.dispatch(Ha(r.map(({uuid:m})=>m)));const l=rh(e)(a);this.dispatch(ch(l.map(({uuid:m})=>m))),this.dispatch(Ja(c.uuid));try{await this.enqueueRequest({description:"Delete project",method:h.DELETE,url:`/projects/${e}/`,blockers:[e],blocks:[]}),this.dispatch(Ja(c.uuid))}catch(m){throw this.dispatch(Za(c)),this.dispatch(ah(Object.values(l))),this.dispatch(Fh(n)),this.dispatch(hh(r)),m}}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Fetch projects",method:h.GET,url:"/projects/",queryParams:{organization_owner:e},blockers:[],blocks:[]},i);return this.dispatch(jh(a)),a}}class gP extends v{add(e){var n;const{store:i}=this.client,a=T({...e,created_by:(n=i.getState().userReducer.currentUser)==null?void 0:n.id});this.dispatch(Bh(a));const c=this.enqueueRequest({description:"Create team membership",method:h.POST,url:"/team-memberships/",payload:w(a),blockers:[e.team],blocks:[a.uuid]});return c.then(r=>{this.dispatch(ec(r))}).catch(()=>{this.dispatch(tc(a.uuid))}),[a,c]}async delete(e){const{store:i}=this.client,a=i.getState(),c=Lh(e)(a);if(!c)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(tc(e));try{return await this.enqueueRequest({description:"Delete team membership",method:h.DELETE,url:`/team-memberships/${e}/`,blockers:[e],blocks:[e]})}catch(n){throw this.dispatch(ec(c)),n}}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Fetch team memberships",method:h.GET,url:"/team-memberships/",queryParams:{team__organization:e},blockers:[],blocks:[]},i);return this.dispatch(kh(a)),a}}class bP extends v{add(e){var n;const{store:i}=this.client,a=T({...e,submitted_at:new Date().toISOString(),created_by:(n=i.getState().userReducer.currentUser)==null?void 0:n.id});this.dispatch(Wh(a));const c=this.enqueueRequest({description:"Create team",method:h.POST,url:"/teams/",payload:w(a),blockers:[],blocks:[a.uuid]});return c.then(r=>{this.dispatch(ut(r))}).catch(()=>{this.dispatch(ac(a.uuid))}),[a,c]}update(e){const{store:i}=this.client,a=nc(e.uuid)(i.getState());if(!a)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const c={...a,...e};this.dispatch(Yh(c));const n=this.enqueueRequest({description:"Update team",method:h.PATCH,url:`/teams/${e.uuid}/`,payload:w(e),blockers:[e.uuid],blocks:[e.uuid]});return n.then(r=>{this.dispatch(ut(r))}).catch(()=>{this.dispatch(ut(a))}),[c,n]}async delete(e){const{store:i}=this.client,a=i.getState(),c=nc(e)(a);if(!c)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(ac(e));try{return await this.enqueueRequest({description:"Delete team",method:h.DELETE,url:`/teams/${e}/`,blockers:[e],blocks:[e]})}catch(n){throw this.dispatch(ut(c)),n}}async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Fetch teams",method:h.GET,url:"/teams/",queryParams:{organization:e},blockers:[],blocks:[]},i);return this.dispatch(Hh(a)),a}}class PP extends v{async refreshStore(e,i){const a=await this.enqueueRequest({immediate:!0,description:"Fetch organization users",method:h.GET,url:`/organizations/${e}/users/`,blockers:[],blocks:[]},i);return this.dispatch(jl(a)),a}}class FP{constructor(e){S(this,"store");this.store=e}async enqueueRequest(e,i,a,c){return this._enqueueRequest(e,i,a,c).then(n=>{if(n instanceof D)throw n;return n})}_enqueueRequest(e,i,a,c){const n=new bc,r={...e,BASE_URL:i,serviceName:a};if(e.immediate){const l={...r,uuid:e.uuid??Ne.v4()},m={payload:l,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:l,BASE_URL:i,serviceName:a}}}};uc(m,this,c).then(u=>{n.resolve(u.body)}).catch(u=>{oc(u,m),u instanceof Error?n.reject(u):n.reject(new Error((u??Ye).toString()))})}else{const l=this.store.dispatch(Ql(r)),m=o=>{if(o)n.resolve(o.body);else{const p=new D({message:"Could not get a response from the server.",response:o,discard:!0});n.reject(p)}},u=o=>{o instanceof D?o.options.discard=!0:(console.error("Received an unexpected error while processing a request:",o,`
|
|
15
|
-
Converting error to APIError and discarding.`),o=new D({message:"An error occurred while processing the request.",innerError:o,discard:!0})),n.reject(o)};l.then(m,u)}return n}}class Ke{constructor(){S(this,"graph");S(this,"requestAttemptCounter");this.graph=new Pm.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(e){const i=new Ke;for(let a=0;a<e.length;a++){const c=e[a];if(!c){console.error("Outbox item was undefined");continue}i.sneakRequest(c);for(let n=0;n<a;n++){const r=e[n];if(!r){console.error("Previous outbox item was undefined");continue}r.payload.uuid!==c.payload.uuid&&r.payload.blocks.some(l=>c.payload.blockers.includes(l))&&Ke._addDependency(c.payload.uuid,r.payload.uuid,i.graph)}}return i}_addDependency(e,i){Ke._addDependency(e,i,this.graph)}static _addDependency(e,i,a){if(e===i)throw new Error(`Tried to add dependency from node to itself: ${e}`);if(!a.hasNode(e))throw new Error(`Tried to add dependency from non-existent node: ${e} (to node: ${i})`);if(!a.hasNode(i))throw new Error(`Tried to add dependency to non-existent node: ${i} (from node: ${e})`);a.addDependency(e,i)}addRequest(e){if(this.graph.addNode(e.payload.uuid,e),!(e.payload.blockers.length===0||this.graph.size()===1))for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const a=this.graph.getNodeData(i);e.payload.blockers.some(c=>a.payload.blocks.includes(c))&&this._addDependency(e.payload.uuid,i)}}insertRequest(e){this.graph.addNode(e.payload.uuid,e);for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;this.graph.getNodeData(i).payload.blockers.some(c=>e.payload.blocks.includes(c))&&this._addDependency(i,e.payload.uuid)}}sneakRequest(e){this.graph.addNode(e.payload.uuid,e)}_getNextNode(){const e=this.graph.overallOrder(!0);let i=1/0,a;for(const c of e){const n=this.requestAttemptCounter[c]||0;n<i&&(i=n,a=c)}return a}peek(){const e=this._getNextNode();if(e)return this.graph.getNodeData(e)}remove(e){this.graph.removeNode(e),delete this.requestAttemptCounter[e]}pop(){const e=this.peek();return e&&this.graph.removeNode(e.payload.uuid),e}getQueue(){const e=this.graph.overallOrder().map(a=>this.graph.getNodeData(a)),i=this._getNextNode();if(i){const a=this.graph.getNodeData(i),c=e.findIndex(n=>n.payload.uuid===a.payload.uuid);c!==-1&&(e.splice(c,1),e.unshift(a))}return e}getReady(){let e=this.graph.overallOrder(!0).map(i=>this.graph.getNodeData(i));return e=e.sort((i,a)=>i.meta.offline.effect.timestamp.localeCompare(a.meta.offline.effect.timestamp)),e=e.sort((i,a)=>{const c=this.requestAttemptCounter[i.payload.uuid]||0,n=this.requestAttemptCounter[a.payload.uuid]||0;return c-n}),e}registerRetry(e){this.requestAttemptCounter[e]=(this.requestAttemptCounter[e]||0)+1}}const TP=(t,e)=>{const i=new e(t);return Yg(i),Wg(t),i};var hm=(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))(hm||{});s.APIError=D,s.AgentService=pb,s.AssetAttachmentService=yb,s.AssetProcedureAttachmentService=Sb,s.AssetProcedureFieldValuesAttachmentService=Pb,s.AssetProcedureFieldValuesService=Fb,s.AssetProcedureFieldsAttachmentService=gb,s.AssetProcedureFieldsService=bb,s.AssetProcedureInstanceService=Tb,s.AssetProcedureService=Ib,s.AssetProcedureStepFieldValuesAttachmentService=Rb,s.AssetProcedureStepFieldValuesService=vb,s.AssetProcedureStepFieldsAttachmentService=Ob,s.AssetProcedureStepFieldsService=_b,s.AssetProcedureStepService=wb,s.AssetService=Mb,s.AssetStageCompletionService=Eb,s.AssetStageService=jb,s.AssetTypeAttachmentService=qb,s.AssetTypeFieldValuesAttachmentService=Ub,s.AssetTypeFieldValuesService=Db,s.AssetTypeFieldsAttachmentService=Vb,s.AssetTypeFieldsService=zb,s.AssetTypeService=Cb,s.AttachmentModel=Sc,s.BaseApiService=v,s.BaseSDK=FP,s.COMMON_AUTO_FIELDS=Oc,s.CategoryService=kb,s.DEFAULT_ISSUE_PRIORITY=Tm,s.DEFAULT_ISSUE_STATUS=Fm,s.DEFAULT_PAGINATION_PAGE_SIZE=E,s.DeferredPromise=bc,s.DocumentAttachmentService=Bb,s.DocumentService=Gb,s.EMPTY_ARRAY=Ac,s.EMPTY_OBJECT=fc,s.EmailDomainsService=$b,s.EmailVerificationService=Lb,s.FileService=Hb,s.FormRevisionAttachmentService=Wb,s.FormRevisionService=Yb,s.FormService=Kb,s.FormSubmissionAttachmentService=Zb,s.FormSubmissionService=Jb,s.GeoImageService=Xb,s.HttpMethod=h,s.IssueAssociationService=Qb,s.IssueAttachmentService=xb,s.IssueCommentAttachmentService=eP,s.IssueCommentService=tP,s.IssuePriority=$t,s.IssueService=sP,s.IssueStatus=Lt,s.IssueTypeAttachmentService=iP,s.IssueTypeFieldValuesAttachmentService=nP,s.IssueTypeFieldValuesService=rP,s.IssueTypeFieldsAttachmentService=aP,s.IssueTypeFieldsService=cP,s.IssueTypeService=dP,s.IssueUpdateChange=j,s.IssueUpdateService=uP,s.JWTService=hP,s.OUTBOX_RETRY_DELAY=gc,s.OrganizationAccessLevel=yc,s.OrganizationAccessService=mP,s.OrganizationService=pP,s.OutboxCoordinator=Ke,s.PAGINATION_MAX_PAGE_SIZE=Ab,s.PAGINATION_PAGE_SIZE_QUERY_PARAM=fb,s.ProjectAccessService=AP,s.ProjectAttachmentService=fP,s.ProjectFileService=yP,s.ProjectService=SP,s.RESET_ORGANIZATION_STATE=O,s.RESET_PROJECT_STATE=M,s.RESET_STATE=F,s.SelectorBuilder=Hg,s.TeamMembershipService=gP,s.TeamService=bP,s.UNKNOWN_ERROR_MESSAGE=Ye,s.UserService=PP,s.VERSION_REDUCER_KEY=Ze,s.VerificationCodeType=hm,s._setLatestRetryTime=eh,s.addAsset=ks,s.addAssetAttachment=ep,s.addAssetAttachments=Qt,s.addAssetProcedure=Ss,s.addAssetProcedureAttachment=ip,s.addAssetProcedureAttachments=Hc,s.addAssetProcedureFieldValues=rs,s.addAssetProcedureFieldValuesAttachment=Fp,s.addAssetProcedureFieldValuesAttachments=mt,s.addAssetProcedureFieldValuesMany=On,s.addAssetProcedureFields=ln,s.addAssetProcedureFieldsAttachment=rp,s.addAssetProcedureFieldsAttachments=sn,s.addAssetProcedureFieldsMany=pp,s.addAssetProcedureInstance=hs,s.addAssetProcedureInstances=jn,s.addAssetProcedureStep=zs,s.addAssetProcedureStepFieldValues=Es,s.addAssetProcedureStepFieldValuesAttachment=nA,s.addAssetProcedureStepFieldValuesAttachments=At,s.addAssetProcedureStepFieldValuesMany=nr,s.addAssetProcedureStepFields=Is,s.addAssetProcedureStepFieldsAttachment=Np,s.addAssetProcedureStepFieldsAttachments=$n,s.addAssetProcedureStepFieldsMany=Xp,s.addAssetProcedureSteps=SA,s.addAssetProcedures=Dp,s.addAssetStage=Qs,s.addAssetStageCompletion=Ws,s.addAssetStageCompletions=Ys,s.addAssetStages=jA,s.addAssetType=pi,s.addAssetTypeAttachment=CA,s.addAssetTypeAttachments=si,s.addAssetTypeFieldValues=ui,s.addAssetTypeFieldValuesAttachment=sf,s.addAssetTypeFieldValuesAttachments=It,s.addAssetTypeFieldValuesMany=md,s.addAssetTypeFields=xr,s.addAssetTypeFieldsAttachment=GA,s.addAssetTypeFieldsAttachments=Hr,s.addAssetTypeFieldsMany=KA,s.addAssetTypes=Af,s.addAssets=bt,s.addCategories=If,s.addCategory=gi,s.addConversation=Mc,s.addConversations=Ym,s.addDocumentAttachment=Ef,s.addDocumentAttachments=qd,s.addDocuments=Nd,s.addEmailDomain=Zd,s.addEmailDomains=Cf,s.addForm=zi,s.addFormRevision=Mi,s.addFormRevisionAttachment=Wf,s.addFormRevisionAttachments=ru,s.addFormRevisions=pu,s.addFormSubmission=Bi,s.addFormSubmissionAttachment=oy,s.addFormSubmissionAttachments=vt,s.addFormSubmissions=Et,s.addForms=iy,s.addGeoImage=$u,s.addGeoImages=Lu,s.addIssue=la,s.addIssueAssociation=Zi,s.addIssueAssociations=Ji,s.addIssueAttachment=Ty,s.addIssueAttachments=ta,s.addIssueComment=na,s.addIssueCommentAttachment=_y,s.addIssueCommentAttachments=po,s.addIssueComments=Ey,s.addIssueType=yl,s.addIssueTypeAttachment=Gy,s.addIssueTypeAttachments=Vo,s.addIssueTypeFieldValues=ba,s.addIssueTypeFieldValuesAttachment=mS,s.addIssueTypeFieldValuesAttachments=zt,s.addIssueTypeFieldValuesMany=Qy,s.addIssueTypeFields=il,s.addIssueTypeFieldsAttachment=Hy,s.addIssueTypeFieldsAttachments=Ho,s.addIssueTypeFieldsMany=aS,s.addIssueTypes=gS,s.addIssueUpdate=Tl,s.addIssueUpdates=Il,s.addIssues=wo,s.addOrganization=Wl,s.addOrganizationAccess=Bl,s.addOrganizationAccesses=kS,s.addOrganizations=KS,s.addProject=Za,s.addProjectAccess=Ba,s.addProjectAccesses=ah,s.addProjectAttachment=dg,s.addProjectAttachments=oh,s.addProjectFile=hg,s.addProjectFiles=Fh,s.addProjects=bg,s.addTeam=Wh,s.addTeamMembership=Bh,s.addTeamMemberships=vg,s.addTeams=zg,s.addUser=ql,s.addUsers=jS,s.agentsReducer=qc,s.agentsSlice=Kt,s.areArraysEqual=wm,s.assetAttachmentReducer=$c,s.assetAttachmentSlice=Jt,s.assetProcedureAttachmentReducer=Jc,s.assetProcedureAttachmentSlice=es,s.assetProcedureFieldValuesAttachmentReducer=Fn,s.assetProcedureFieldValuesAttachmentSlice=as,s.assetProcedureFieldValuesReducer=vn,s.assetProcedureFieldValuesSlice=ns,s.assetProcedureFieldsAttachmentReducer=dn,s.assetProcedureFieldsAttachmentSlice=ts,s.assetProcedureFieldsReducer=An,s.assetProcedureFieldsSlice=ss,s.assetProcedureInstanceReducer=Vn,s.assetProcedureInstanceSlice=ls,s.assetProcedureReducer=Cn,s.assetProcedureSlice=ys,s.assetProcedureStepFieldValuesAttachmentReducer=ir,s.assetProcedureStepFieldValuesAttachmentSlice=vs,s.assetProcedureStepFieldValuesReducer=or,s.assetProcedureStepFieldValuesSlice=Ms,s.assetProcedureStepFieldsAttachmentReducer=Yn,s.assetProcedureStepFieldsAttachmentSlice=Fs,s.assetProcedureStepFieldsReducer=Jn,s.assetProcedureStepFieldsSlice=Ts,s.assetProcedureStepReducer=pr,s.assetProcedureStepSlice=Vs,s.assetReducer=br,s.assetSlice=Cs,s.assetStageCompletionReducer=Or,s.assetStageCompletionSlice=Hs,s.assetStageReducer=Er,s.assetStageSlice=Xs,s.assetTypeAttachmentReducer=$r,s.assetTypeAttachmentSlice=ti,s.assetTypeFieldValuesAttachmentReducer=od,s.assetTypeFieldValuesAttachmentSlice=ni,s.assetTypeFieldValuesReducer=yd,s.assetTypeFieldValuesSlice=di,s.assetTypeFieldsAttachmentReducer=Jr,s.assetTypeFieldsAttachmentSlice=ai,s.assetTypeFieldsReducer=id,s.assetTypeFieldsSlice=ci,s.assetTypeReducer=Pd,s.assetTypeSlice=mi,s.authReducer=Id,s.authSlice=_t,s.baseReducer=$g,s.baseReducers=rc,s.blobToBase64=Cm,s.categoryReducer=Md,s.categorySlice=Si,s.clearTokens=Pf,s.constructUploadedFilePayloads=Dm,s.coordinatesAreEqual=Rm,s.createModelAdapter=I,s.createMultiPointGeometry=_m,s.createOfflineAction=Jl,s.createPayload=w,s.createPointGeometry=Om,s.createSelectionAdapter=Im,s.deleteAsset=Bs,s.deleteAssetAttachment=Dc,s.deleteAssetAttachments=xt,s.deleteAssetProcedure=gs,s.deleteAssetProcedureAttachment=Kc,s.deleteAssetProcedureAttachments=Zc,s.deleteAssetProcedureFieldValues=ds,s.deleteAssetProcedureFieldValuesAttachment=_p,s.deleteAssetProcedureFieldValuesAttachments=pt,s.deleteAssetProcedureFieldValuesMany=Rn,s.deleteAssetProcedureFields=mn,s.deleteAssetProcedureFieldsAttachment=lp,s.deleteAssetProcedureFieldsAttachments=cn,s.deleteAssetProcedureFieldsMany=Sp,s.deleteAssetProcedureInstance=ms,s.deleteAssetProcedureInstances=qn,s.deleteAssetProcedureStep=Us,s.deleteAssetProcedureStepFieldValues=js,s.deleteAssetProcedureStepFieldValuesAttachment=oA,s.deleteAssetProcedureStepFieldValuesAttachments=ft,s.deleteAssetProcedureStepFieldValuesMany=dr,s.deleteAssetProcedureStepFields=Os,s.deleteAssetProcedureStepFieldsAttachment=Kp,s.deleteAssetProcedureStepFieldsAttachments=Nn,s.deleteAssetProcedureStepFieldsMany=tA,s.deleteAssetProcedureSteps=bA,s.deleteAssetProcedures=kp,s.deleteAssetStage=xs,s.deleteAssetStageCompletion=Ks,s.deleteAssetStageCompletions=Zs,s.deleteAssetStages=VA,s.deleteAssetType=Ai,s.deleteAssetTypeAttachment=Dr,s.deleteAssetTypeAttachments=ii,s.deleteAssetTypeFieldValues=oi,s.deleteAssetTypeFieldValuesAttachment=rf,s.deleteAssetTypeFieldValuesAttachments=Ot,s.deleteAssetTypeFieldValuesMany=Ad,s.deleteAssetTypeFields=td,s.deleteAssetTypeFieldsAttachment=HA,s.deleteAssetTypeFieldsAttachments=Yr,s.deleteAssetTypeFieldsMany=QA,s.deleteAssetTypes=yf,s.deleteAssets=Gs,s.deleteCategories=vf,s.deleteCategory=vd,s.deleteConversation=Jm,s.deleteConversations=Xm,s.deleteDocumentAttachment=Ud,s.deleteDocumentAttachments=Dd,s.deleteEmailDomain=Jd,s.deleteEmailDomains=Lf,s.deleteForm=Ui,s.deleteFormRevision=Ei,s.deleteFormRevisionAttachment=Jf,s.deleteFormRevisionAttachments=uu,s.deleteFormRevisions=fu,s.deleteFormSubmission=Gi,s.deleteFormSubmissionAttachment=py,s.deleteFormSubmissionAttachments=wt,s.deleteFormSubmissions=jt,s.deleteForms=dy,s.deleteGeoImage=Wi,s.deleteGeoImages=Hu,s.deleteIssue=ha,s.deleteIssueAssociation=Xi,s.deleteIssueAssociations=Qi,s.deleteIssueAttachment=no,s.deleteIssueAttachments=sa,s.deleteIssueComment=da,s.deleteIssueCommentAttachment=yo,s.deleteIssueCommentAttachments=So,s.deleteIssueComments=Vy,s.deleteIssueType=FS,s.deleteIssueTypeAttachment=Do,s.deleteIssueTypeAttachments=Co,s.deleteIssueTypeFieldValues=Pa,s.deleteIssueTypeFieldValuesAttachment=yS,s.deleteIssueTypeFieldValuesAttachments=Ut,s.deleteIssueTypeFieldValuesMany=sS,s.deleteIssueTypeFields=cl,s.deleteIssueTypeFieldsAttachment=Zy,s.deleteIssueTypeFieldsAttachments=Yo,s.deleteIssueTypeFieldsMany=dS,s.deleteIssueTypes=TS,s.deleteIssueUpdate=Ol,s.deleteIssueUpdates=_l,s.deleteIssues=Mo,s.deleteOrganization=JS,s.deleteOrganizationAccess=Gl,s.deleteOrganizationAccesses=LS,s.deleteOrganizations=XS,s.deleteProject=Ja,s.deleteProjectAccess=Ga,s.deleteProjectAccesses=ch,s.deleteProjectAttachment=ph,s.deleteProjectAttachments=Ha,s.deleteProjectFile=Th,s.deleteProjectFiles=Ih,s.deleteProjects=Fg,s.deleteTeam=ac,s.deleteTeamMembership=tc,s.deleteTeamMemberships=jg,s.deleteTeams=Cg,s.deleteUser=Vl,s.deleteUsers=zS,s.dequeue=dm,s.discard=oc,s.documentAttachmentReducer=Gd,s.documentAttachmentSlice=Fi,s.documentSlice=Ti,s.documentsReducer=Wd,s.downloadFile=km,s.downloadInMemoryFile=Um,s.emailDomainsReducer=xd,s.emailDomainsSlice=_i,s.emailRegex=Wm,s.enqueue=rm,s.enqueueRequest=Ql,s.fallbackToEmptyArray=g,s.fallbackToEmptyObject=ht,s.fileReducer=au,s.fileSlice=Ri,s.fileToBlob=Tc,s.formReducer=Pu,s.formRevisionAttachmentReducer=lu,s.formRevisionAttachmentSlice=vi,s.formRevisionReducer=Su,s.formRevisionsSlice=wi,s.formSlice=Vi,s.formSubmissionAttachmentReducer=Eu,s.formSubmissionAttachmentSlice=Di,s.formSubmissionReducer=Cu,s.formSubmissionSlice=ki,s.geoImageReducer=Ku,s.geoImageSlice=Hi,s.getFileIdentifier=zm,s.getFileS3Key=Yt,s.getLocalDateString=Pc,s.getLocalRelativeDateString=qm,s.getOutboxCoordinator=Ge,s.getRenamedFile=Fc,s.hashFile=He,s.initSDK=TP,s.initializeAssetAttachments=Xt,s.initializeAssetProcedureAttachments=Nc,s.initializeAssetProcedureFieldValues=In,s.initializeAssetProcedureFieldValuesAttachments=yn,s.initializeAssetProcedureFields=on,s.initializeAssetProcedureFieldsAttachments=tn,s.initializeAssetProcedureInstances=En,s.initializeAssetProcedureStepFieldValues=cr,s.initializeAssetProcedureStepFieldValuesAttachments=Qn,s.initializeAssetProcedureStepFields=Zn,s.initializeAssetProcedureStepFieldsAttachments=Gn,s.initializeAssetProcedureSteps=hr,s.initializeAssetProcedures=Dn,s.initializeAssetStageCompletions=Fr,s.initializeAssetStages=wr,s.initializeAssetTypeAttachments=Vr,s.initializeAssetTypeFieldValues=hd,s.initializeAssetTypeFieldValuesAttachments=cd,s.initializeAssetTypeFields=Qr,s.initializeAssetTypeFieldsAttachments=Nr,s.initializeAssetTypes=gd,s.initializeAssets=yr,s.initializeCategories=_d,s.initializeConversations=wc,s.initializeDocumentAttachments=jd,s.initializeEmailDomains=Kd,s.initializeFormRevisionAttachments=nu,s.initializeFormRevisions=mu,s.initializeFormSubmissionAttachments=_u,s.initializeFormSubmissions=qu,s.initializeForms=bu,s.initializeGeoImages=Bu,s.initializeIssueAssociations=Ju,s.initializeIssueAttachments=ea,s.initializeIssueCommentAttachments=aa,s.initializeIssueComments=My,s.initializeIssueTypeAttachments=ya,s.initializeIssueTypeFieldValues=Qo,s.initializeIssueTypeFieldValuesAttachments=ul,s.initializeIssueTypeFields=sl,s.initializeIssueTypeFieldsAttachments=No,s.initializeIssueTypes=fl,s.initializeIssueUpdates=Fl,s.initializeIssues=vo,s.initializeOrganizationAccesses=kl,s.initializeOrganizations=Hl,s.initializeProjectAccesses=ih,s.initializeProjectAttachments=uh,s.initializeProjectFiles=Ph,s.initializeProjects=jh,s.initializeTeamMemberships=kh,s.initializeTeams=Hh,s.initializeUsers=jl,s.isToday=jm,s.issueAssociationReducer=so,s.issueAssociationSlice=Ki,s.issueAttachmentReducer=ho,s.issueAttachmentSlice=xi,s.issueCommentAttachmentReducer=Fo,s.issueCommentAttachmentSlice=ia,s.issueCommentReducer=_o,s.issueCommentSlice=ca,s.issueReducer=jo,s.issueSlice=oa,s.issueTypeAttachmentReducer=$o,s.issueTypeAttachmentSlice=fa,s.issueTypeFieldValuesAttachmentReducer=pl,s.issueTypeFieldValuesAttachmentSlice=Oa,s.issueTypeFieldValuesReducer=el,s.issueTypeFieldValuesSlice=ga,s.issueTypeFieldsAttachmentReducer=Jo,s.issueTypeFieldsAttachmentSlice=Sa,s.issueTypeFieldsReducer=rl,s.issueTypeFieldsSlice=Ia,s.issueTypeReducer=bl,s.issueTypeSlice=Ra,s.issueUpdateReducer=Ml,s.issueUpdateSlice=Ea,s.logOnlyOnce=Bm,s.markAsDeleted=xl,s.markForDeletion=sg,s.memoize=Ht,s.offline=T,s.onlyUniqueHashes=Hm,s.onlyUniqueOfflineIds=Rc,s.organizationAccessReducer=$l,s.organizationAccessSlice=Va,s.organizationReducer=Zl,s.organizationSlice=Da,s.outboxReducer=th,s.outboxSlice=Ca,s.overmapEnhancer=sb,s.overmapReducer=Lg,s.overmapReducers=Qh,s.performRequest=uc,s.projectAccessReducer=nh,s.projectAccessSlice=ka,s.projectAttachmentReducer=gh,s.projectAttachmentSlice=Na,s.projectFileReducer=Mh,s.projectFileSlice=Wa,s.projectReducer=Vh,s.projectSlice=Ka,s.rehydratedReducer=Dh,s.rehydratedSlice=Qa,s.removeDocuments=Ii,s.removeIssueType=va,s.resetProjectFileObjectUrls=pg,s.restructureCreateSelectorWithArgs=y,s.saveActiveProjectFileBounds=Rh,s.selectAccessToken=Ff,s.selectAccessesByUserOfProject=ng,s.selectAccessibleProjects=Tg,s.selectActiveOrganizationAccess=NS,s.selectActiveProjectFileId=fg,s.selectAllDocumentAttachments=kd,s.selectAllProjectAttachments=fh,s.selectAssetAttachmentById=Bc,s.selectAssetAttachmentMapping=Cc,s.selectAssetAttachments=kc,s.selectAssetById=Ns,s.selectAssetProcedureAttachmentById=xc,s.selectAssetProcedureAttachmentMapping=Xc,s.selectAssetProcedureAttachments=Qc,s.selectAssetProcedureById=Ps,s.selectAssetProcedureFieldValues=us,s.selectAssetProcedureFieldValuesAttachmentById=Rp,s.selectAssetProcedureFieldValuesAttachments=gn,s.selectAssetProcedureFieldValuesAttachmentsByIds=bn,s.selectAssetProcedureFieldValuesAttachmentsMapping=cs,s.selectAssetProcedureFieldValuesById=os,s.selectAssetProcedureFieldValuesMapping=wn,s.selectAssetProcedureFieldValuesOfAsset=Mp,s.selectAssetProcedureFields=is,s.selectAssetProcedureFieldsAttachmentById=mp,s.selectAssetProcedureFieldsAttachments=rn,s.selectAssetProcedureFieldsAttachmentsMapping=nn,s.selectAssetProcedureFieldsById=Pp,s.selectAssetProcedureFieldsMapping=pn,s.selectAssetProcedureFieldsOfAssetProcedure=gp,s.selectAssetProcedureInstanceById=fs,s.selectAssetProcedureInstances=As,s.selectAssetProcedureInstancesByIds=Up,s.selectAssetProcedureInstancesMapping=ps,s.selectAssetProcedureInstancesOfAssetProcedure=zn,s.selectAssetProcedureInstancesOfAssetType=zp,s.selectAssetProcedureStepById=Ds,s.selectAssetProcedureStepFieldValues=yt,s.selectAssetProcedureStepFieldValuesAttachmentById=lA,s.selectAssetProcedureStepFieldValuesAttachments=er,s.selectAssetProcedureStepFieldValuesAttachmentsByIds=tr,s.selectAssetProcedureStepFieldValuesAttachmentsMapping=ws,s.selectAssetProcedureStepFieldValuesById=qs,s.selectAssetProcedureStepFieldValuesMapping=ur,s.selectAssetProcedureStepFieldValuesOfAsset=pA,s.selectAssetProcedureStepFieldValuesOfAssetProcedureInstance=AA,s.selectAssetProcedureStepFieldValuesOfAssetProcedureStep=fA,s.selectAssetProcedureStepFields=Rs,s.selectAssetProcedureStepFieldsAttachmentById=Jp,s.selectAssetProcedureStepFieldsAttachments=Wn,s.selectAssetProcedureStepFieldsAttachmentsMapping=Hn,s.selectAssetProcedureStepFieldsById=cA,s.selectAssetProcedureStepFieldsMapping=_s,s.selectAssetProcedureStepFieldsOfAssetProcedureStep=sA,s.selectAssetProcedureStepMapping=gt,s.selectAssetProcedureSteps=Ar,s.selectAssetProcedureStepsByIds=TA,s.selectAssetProcedureStepsMappingOfAssetProcedure=PA,s.selectAssetProcedureStepsOfAssetProcedure=FA,s.selectAssetProcedures=kn,s.selectAssetProceduresByIds=$p,s.selectAssetProceduresMapping=bs,s.selectAssetProceduresOfOrganization=Lp,s.selectAssetStageById=ei,s.selectAssetStageCompletionById=_r,s.selectAssetStageCompletionMapping=Js,s.selectAssetStageCompletions=MA,s.selectAssetStageCompletionsByIds=Rr,s.selectAssetStages=jr,s.selectAssetStagesByIds=DA,s.selectAssetStagesMappingOfAssetProcedure=zA,s.selectAssetStagesOfAssetProcedure=UA,s.selectAssetTypeAttachmentById=Br,s.selectAssetTypeAttachmentMapping=Cr,s.selectAssetTypeAttachments=kr,s.selectAssetTypeById=yi,s.selectAssetTypeFieldValues=li,s.selectAssetTypeFieldValuesAttachmentById=df,s.selectAssetTypeFieldValuesAttachments=rd,s.selectAssetTypeFieldValuesAttachmentsByIds=dd,s.selectAssetTypeFieldValuesAttachmentsMapping=ri,s.selectAssetTypeFieldValuesById=hi,s.selectAssetTypeFieldValuesMapping=fd,s.selectAssetTypeFieldValuesOfAsset=lf,s.selectAssetTypeFields=Tt,s.selectAssetTypeFieldsAttachmentById=YA,s.selectAssetTypeFieldsAttachments=Zr,s.selectAssetTypeFieldsAttachmentsMapping=Kr,s.selectAssetTypeFieldsById=tf,s.selectAssetTypeFieldsMapping=sd,s.selectAssetTypeFieldsOfAssetType=xA,s.selectAssetTypeValuesOfAssetType=hf,s.selectAssetTypes=bd,s.selectAssetTypesByIds=Sf,s.selectAssetTypesMapping=fi,s.selectAssetTypesOfOrganization=gf,s.selectAssets=Sr,s.selectAssetsByIds=gr,s.selectAssetsMapping=$s,s.selectAssetsOfAssetType=Ls,s.selectAttachmentsOfAsset=Gc,s.selectAttachmentsOfAssetProcedure=np,s.selectAttachmentsOfAssetProcedureFieldValues=Pn,s.selectAttachmentsOfAssetProcedureFields=hp,s.selectAttachmentsOfAssetProcedureStepFieldValues=sr,s.selectAttachmentsOfAssetProcedureStepFields=Zp,s.selectAttachmentsOfAssetType=Gr,s.selectAttachmentsOfAssetTypeFieldValues=ud,s.selectAttachmentsOfAssetTypeFields=WA,s.selectAttachmentsOfDocument=Vf,s.selectAttachmentsOfFormRevision=Xf,s.selectAttachmentsOfFormSubmission=Mu,s.selectAttachmentsOfIssue=oo,s.selectAttachmentsOfIssueComment=wy,s.selectAttachmentsOfIssueType=Ny,s.selectAttachmentsOfIssueTypeFieldValues=ml,s.selectAttachmentsOfIssueTypeFields=Jy,s.selectAttachmentsOfProject=Sh,s.selectCategories=wd,s.selectCategoriesByIds=wf,s.selectCategoriesOfProject=Mf,s.selectCategoryById=Pi,s.selectCategoryMapping=bi,s.selectCommentsOfIssue=zy,s.selectConversation=xm,s.selectConversationMapping=Zt,s.selectConversations=Qm,s.selectCurrentUser=Ul,s.selectDeletedRequests=eg,s.selectDocumentAttachmentById=Bd,s.selectDocumentAttachmentMapping=Cd,s.selectDocumentById=Hd,s.selectDocuments=Oi,s.selectDocumentsByIds=zf,s.selectDocumentsMapping=Rt,s.selectEmailDomains=Qd,s.selectEmailDomainsAsMapping=Xd,s.selectEmailDomainsOfOrganization=Nf,s.selectFieldValuesOfAssetProcedureInstance=Ep,s.selectFormById=Iu,s.selectFormMapping=Fu,s.selectFormRevisionAttachmentsMapping=ou,s.selectFormRevisionById=ty,s.selectFormRevisionMapping=ji,s.selectFormRevisions=qi,s.selectFormRevisionsOfForm=yu,s.selectFormSubmissionAttachemntsByIds=wu,s.selectFormSubmissionAttachments=Ci,s.selectFormSubmissionAttachmentsMapping=vu,s.selectFormSubmissionById=Ni,s.selectFormSubmissions=Li,s.selectFormSubmissionsMapping=$i,s.selectFormSubmissionsOfAsset=Du,s.selectFormSubmissionsOfForm=zu,s.selectFormSubmissionsOfIssue=Uu,s.selectForms=Tu,s.selectFormsOfOrganization=uy,s.selectGeoImageById=Yi,s.selectGeoImageMapping=Wu,s.selectGeoImages=Yu,s.selectGeoImagesOfProject=Sy,s.selectIsImportingProjectFile=yg,s.selectIsLoggedIn=Tf,s.selectIssueAssociationById=Qu,s.selectIssueAssociationMapping=ct,s.selectIssueAssociations=Fy,s.selectIssueAssociationsOfAsset=to,s.selectIssueAssociationsOfIssue=eo,s.selectIssueAssociationsToIssue=xu,s.selectIssueAttachmentById=lo,s.selectIssueAttachmentMapping=ro,s.selectIssueAttachments=uo,s.selectIssueById=Aa,s.selectIssueCommentAttachmentById=Po,s.selectIssueCommentAttachmentMapping=go,s.selectIssueCommentAttachments=bo,s.selectIssueCommentById=ua,s.selectIssueCommentMapping=Oo,s.selectIssueMapping=ma,s.selectIssueTypeAttachmentById=Go,s.selectIssueTypeAttachmentMapping=ko,s.selectIssueTypeAttachments=Bo,s.selectIssueTypeById=Ma,s.selectIssueTypeFieldValues=Fa,s.selectIssueTypeFieldValuesAttachmentById=SS,s.selectIssueTypeFieldValuesAttachments=_a,s.selectIssueTypeFieldValuesAttachmentsByIds=hl,s.selectIssueTypeFieldValuesAttachmentsMapping=ll,s.selectIssueTypeFieldValuesById=Ta,s.selectIssueTypeFieldValuesMapping=xo,s.selectIssueTypeFieldValuesOfIssue=iS,s.selectIssueTypeFields=Vt,s.selectIssueTypeFieldsAttachmentById=Xy,s.selectIssueTypeFieldsAttachments=Zo,s.selectIssueTypeFieldsAttachmentsMapping=Ko,s.selectIssueTypeFieldsById=hS,s.selectIssueTypeFieldsMapping=nl,s.selectIssueTypeFieldsOfIssueType=uS,s.selectIssueTypeMapping=wa,s.selectIssueTypeValuesOfIssueType=lS,s.selectIssueTypes=gl,s.selectIssueTypesByIds=IS,s.selectIssueTypesOfOrganization=OS,s.selectIssueUpdateMapping=Rl,s.selectIssueUpdates=vl,s.selectIssueUpdatesOfIssue=wl,s.selectIssues=pa,s.selectIssuesByIds=ky,s.selectIssuesOfIssueType=Eo,s.selectIssuesOfProject=By,s.selectLatestAssetProcedureFieldsOfAssetProcedure=bp,s.selectLatestAssetProcedureStepFieldsOfAssetProcedureStep=iA,s.selectLatestAssetTypeFieldsOfAssetType=ef,s.selectLatestFieldsByAssetProcedureStep=aA,s.selectLatestFormRevisionOfForm=sy,s.selectLatestIssueTypeFieldsOfIssueType=oS,s.selectLatestRetryTime=tg,s.selectMembershipsByUserOfTeam=qg,s.selectNumberOfAssetsOfAssetType=RA,s.selectOrganizationAccessById=Ua,s.selectOrganizationAccessMapping=za,s.selectOrganizationAccessUserMapping=Ll,s.selectOrganizationById=xS,s.selectOrganizationDocuments=Df,s.selectOrganizations=QS,s.selectOrganizationsMapping=Kl,s.selectProjectAccessById=La,s.selectProjectAccessMapping=$a,s.selectProjectAccesses=kt,s.selectProjectAccessesOfProject=rh,s.selectProjectAttachmentById=yh,s.selectProjectAttachmentMapping=Ah,s.selectProjectById=Uh,s.selectProjectDocuments=Uf,s.selectProjectFileById=Ag,s.selectProjectFileMapping=vh,s.selectProjectFiles=wh,s.selectProjectMapping=zh,s.selectProjects=Xa,s.selectProjectsOfOrganization=Ig,s.selectRehydrated=Rg,s.selectStageMapping=Ft,s.selectTeamById=nc,s.selectTeamMembershipById=Lh,s.selectTeamMemberships=sc,s.selectTeamMembershipsMapping=$h,s.selectTeams=Kh,s.selectTeamsByIds=kg,s.selectTeamsMapping=cc,s.selectTeamsOfOrganization=Bg,s.selectUploadUrl=iu,s.selectUserById=Dl,s.selectUsers=qa,s.selectUsersByIds=CS,s.selectUsersMapping=Dt,s.selectUsersOfOrganization=HS,s.selectUsersOfProject=rg,s.selectUsersOfTeam=Vg,s.setActiveProjectFileId=_h,s.setAsset=OA,s.setAssetAttachment=zc,s.setAssetAttachments=tp,s.setAssetProcedure=Bp,s.setAssetProcedureAttachment=Wc,s.setAssetProcedureAttachments=ap,s.setAssetProcedureFieldValues=vp,s.setAssetProcedureFieldValuesAttachment=Tp,s.setAssetProcedureFieldValuesAttachments=Ip,s.setAssetProcedureFieldValuesMany=wp,s.setAssetProcedureFields=Ap,s.setAssetProcedureFieldsAttachment=dp,s.setAssetProcedureFieldsAttachments=up,s.setAssetProcedureFieldsMany=fp,s.setAssetProcedureInstance=qp,s.setAssetProcedureInstances=Vp,s.setAssetProcedureStep=mr,s.setAssetProcedureStepFieldValues=hA,s.setAssetProcedureStepFieldValuesAttachment=rA,s.setAssetProcedureStepFieldValuesAttachments=dA,s.setAssetProcedureStepFieldValuesMany=mA,s.setAssetProcedureStepFields=Qp,s.setAssetProcedureStepFieldsAttachment=Hp,s.setAssetProcedureStepFieldsAttachments=Wp,s.setAssetProcedureStepFieldsMany=xp,s.setAssetProcedureSteps=yA,s.setAssetProcedures=Gp,s.setAssetStage=Mr,s.setAssetStageCompletion=vA,s.setAssetStageCompletions=wA,s.setAssetStages=EA,s.setAssetType=mf,s.setAssetTypeAttachment=zr,s.setAssetTypeAttachments=kA,s.setAssetTypeFieldValues=uf,s.setAssetTypeFieldValuesAttachment=af,s.setAssetTypeFieldValuesAttachments=cf,s.setAssetTypeFieldValuesMany=of,s.setAssetTypeFields=ZA,s.setAssetTypeFieldsAttachment=$A,s.setAssetTypeFieldsAttachments=LA,s.setAssetTypeFieldsMany=JA,s.setAssetTypes=pf,s.setAssets=_A,s.setCategories=_f,s.setCategory=Of,s.setConversation=Ec,s.setConversations=Km,s.setCurrentUser=US,s.setDocumentAttachment=Vd,s.setDocumentAttachments=jf,s.setDocuments=Ld,s.setEmailDomain=kf,s.setEmailDomains=Bf,s.setForm=ay,s.setFormRevision=Au,s.setFormRevisionAttachment=Yf,s.setFormRevisionAttachments=Kf,s.setFormRevisions=Qf,s.setFormSubmission=Mt,s.setFormSubmissionAttachment=ly,s.setFormSubmissionAttachments=hy,s.setFormSubmissions=Ay,s.setForms=cy,s.setGeoImage=at,s.setGeoImages=Gu,s.setIsImportingProjectFile=Oh,s.setIssue=Uy,s.setIssueAssociation=by,s.setIssueAssociations=gy,s.setIssueAttachment=ao,s.setIssueAttachments=Iy,s.setIssueComment=ra,s.setIssueCommentAttachment=Ao,s.setIssueCommentAttachments=Ry,s.setIssueComments=Io,s.setIssueType=rt,s.setIssueTypeAttachment=zo,s.setIssueTypeAttachments=$y,s.setIssueTypeFieldValues=xy,s.setIssueTypeFieldValuesAttachment=pS,s.setIssueTypeFieldValuesAttachments=AS,s.setIssueTypeFieldValuesMany=eS,s.setIssueTypeFields=cS,s.setIssueTypeFieldsAttachment=Wy,s.setIssueTypeFieldsAttachments=Yy,s.setIssueTypeFieldsMany=nS,s.setIssueTypes=bS,s.setIssueUpdate=_S,s.setIssueUpdates=RS,s.setIssues=Dy,s.setLoggedIn=Td,s.setOrganization=YS,s.setOrganizationAccess=BS,s.setOrganizationAccesses=GS,s.setOrganizations=WS,s.setProfilePicture=DS,s.setProject=gg,s.setProjectAccess=ig,s.setProjectAccesses=ag,s.setProjectAttachment=lh,s.setProjectAttachments=hh,s.setProjectFile=og,s.setProjectFiles=lg,s.setProjects=Sg,s.setRehydrated=_g,s.setTeam=ut,s.setTeamMembership=ec,s.setTeamMemberships=wg,s.setTeams=Ug,s.setTokens=bf,s.setUploadUrl=su,s.setUser=ES,s.setUsers=MS,s.shallowEqual=vm,s.slugify=Lm,s.spacesToDashesLower=$m,s.teamMembershipReducer=Gh,s.teamMembershipSlice=xa,s.teamReducer=Zh,s.teamSlice=ic,s.toFileNameSafeString=Gm,s.toOfflineIdRecord=_c,s.truncate=Nm,s.updateAsset=tt,s.updateAssetAttachment=sp,s.updateAssetAttachments=Uc,s.updateAssetProcedure=Qe,s.updateAssetProcedureAttachment=cp,s.updateAssetProcedureAttachments=Yc,s.updateAssetProcedureFieldValues=Je,s.updateAssetProcedureFieldValuesAttachment=Op,s.updateAssetProcedureFieldValuesAttachments=Sn,s.updateAssetProcedureFieldValuesMany=_n,s.updateAssetProcedureFields=hn,s.updateAssetProcedureFieldsAttachment=op,s.updateAssetProcedureFieldsAttachments=an,s.updateAssetProcedureFieldsMany=yp,s.updateAssetProcedureInstance=Xe,s.updateAssetProcedureInstances=jp,s.updateAssetProcedureStep=St,s.updateAssetProcedureStepFieldValues=et,s.updateAssetProcedureStepFieldValuesAttachment=uA,s.updateAssetProcedureStepFieldValuesAttachments=xn,s.updateAssetProcedureStepFieldValuesMany=rr,s.updateAssetProcedureStepFields=xe,s.updateAssetProcedureStepFieldsAttachment=Yp,s.updateAssetProcedureStepFieldsAttachments=Ln,s.updateAssetProcedureStepFieldsMany=eA,s.updateAssetProcedureSteps=gA,s.updateAssetProcedures=Cp,s.updateAssetStage=Pt,s.updateAssetStageCompletion=Tr,s.updateAssetStageCompletions=Ir,s.updateAssetStages=qA,s.updateAssetType=it,s.updateAssetTypeAttachment=BA,s.updateAssetTypeAttachments=Ur,s.updateAssetTypeFieldValues=st,s.updateAssetTypeFieldValuesAttachment=nf,s.updateAssetTypeFieldValuesAttachments=nd,s.updateAssetTypeFieldValuesMany=pd,s.updateAssetTypeFields=ed,s.updateAssetTypeFieldsAttachment=NA,s.updateAssetTypeFieldsAttachments=Wr,s.updateAssetTypeFieldsMany=XA,s.updateAssetTypes=ff,s.updateAssets=IA,s.updateCategories=Rf,s.updateCategory=Rd,s.updateConversation=jc,s.updateConversations=Zm,s.updateDocumentAttachment=qf,s.updateDocumentAttachments=zd,s.updateDocuments=We,s.updateEmailDomain=Gf,s.updateEmailDomains=$f,s.updateForm=ny,s.updateFormRevision=xf,s.updateFormRevisionAttachment=Zf,s.updateFormRevisionAttachments=du,s.updateFormRevisions=ey,s.updateFormSubmission=Vu,s.updateFormSubmissionAttachment=my,s.updateFormSubmissionAttachments=Ru,s.updateFormSubmissions=fy,s.updateForms=ry,s.updateGeoImage=Nu,s.updateGeoImages=yy,s.updateIssue=qt,s.updateIssueAssociation=Xu,s.updateIssueAssociations=Py,s.updateIssueAttachment=Oy,s.updateIssueAttachments=co,s.updateIssueComment=jy,s.updateIssueCommentAttachment=vy,s.updateIssueCommentAttachments=fo,s.updateIssueComments=qy,s.updateIssueType=Sl,s.updateIssueTypeAttachment=Ly,s.updateIssueTypeAttachments=Uo,s.updateIssueTypeFieldValues=nt,s.updateIssueTypeFieldValuesAttachment=fS,s.updateIssueTypeFieldValuesAttachments=ol,s.updateIssueTypeFieldValuesMany=tS,s.updateIssueTypeFields=al,s.updateIssueTypeFieldsAttachment=Ky,s.updateIssueTypeFieldsAttachments=Wo,s.updateIssueTypeFieldsMany=rS,s.updateIssueTypes=PS,s.updateIssueUpdate=vS,s.updateIssueUpdates=wS,s.updateIssues=Cy,s.updateOrganization=Yl,s.updateOrganizationAccess=Ct,s.updateOrganizationAccesses=$S,s.updateOrganizations=ZS,s.updateProject=qh,s.updateProjectAccess=dt,s.updateProjectAccesses=cg,s.updateProjectAttachment=ug,s.updateProjectAttachments=mh,s.updateProjectFile=Ya,s.updateProjectFiles=mg,s.updateProjects=Pg,s.updateTeam=Yh,s.updateTeamMembership=Mg,s.updateTeamMemberships=Eg,s.updateTeams=Dg,s.updateUser=VS,s.updateUsers=qS,s.useSelectorBuilder=Ng,s.userReducer=zl,s.userSlice=ja,s.versioningReducer=Xh,s.versioningSlice=Jh,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
|
|
13
|
+
external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(p)}return await this.addCache(l),l}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:h.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${n.fields.key}`],blocks:[e],s3url:n})}processPresignedUrls(e){const n={};for(const[a,c]of Object.entries(e))n[a]=this.processPresignedUrl(a,c);return n}async getFilePayload(e){const a={sha1:await vt(e),file_type:e.type,extension:Na(e),size:e.size};return await this.client.files.addCache(e),a}}class UM extends R{constructor(){super(...arguments);m(this,"name","Form Identifier");m(this,"url","/form-identifiers");m(this,"actions",{addOne:Fp,addMany:gp,setOne:Pp,setMany:_p,updateOne:bp,updateMany:Mp,deleteOne:Rp,deleteMany:Ep,initialize:Op});m(this,"selectors",{selectById:vp,selectByIds:Vp})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[u.form],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class LM extends R{constructor(){super(...arguments);m(this,"name","Form Identifier Value");m(this,"url","/form-identifier-values");m(this,"actions",{addOne:qp,addMany:Dp,setOne:jp,setMany:$p,updateOne:Cp,updateMany:Up,deleteOne:Lp,deleteMany:Np,initialize:Wp});m(this,"selectors",{selectById:Hp,selectByIds:Kp})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[e.form_submission,e.form_identifier],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class NM extends q{constructor(){super(...arguments);m(this,"name","Form Revision Attachment");m(this,"url","/form-revision-attachments");m(this,"actions",{addOne:Qp,addMany:Xp,setOne:xp,setMany:em,updateOne:tm,updateMany:sm,deleteOne:im,deleteMany:nm,initialize:Jp});m(this,"selectors",{selectById:cm,selectByIds:rm})}getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,form_revision:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,form_revision:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,form_revision:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,form_revision:c,file_sha1:r,file_name:d,file_extension:l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(a(c)),c}}class GM extends R{constructor(){super(...arguments);m(this,"name","Form Revision");m(this,"url","/form-revisions");m(this,"actions",{addOne:ki,addMany:vi,setOne:om,setMany:hm,updateOne:pm,updateMany:mm,deleteOne:Vi,deleteMany:Bi,initialize:um});m(this,"selectors",{selectById:ym,selectByIds:fm})}add(e){var f;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=new Date().toISOString(),p=O({...e,created_by:l,submitted_at:u});this.dispatch(a(p));const y=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(p),blockers:[e.form],blocks:[p.uuid]});return y.then(w=>{this.dispatch(c(w))}).catch(()=>{this.dispatch(r(p.uuid))}),[p,y]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class HM extends R{constructor(){super(...arguments);m(this,"name","Form");m(this,"url","/forms");m(this,"actions",{addOne:Im,addMany:Om,setOne:Fm,setMany:gm,updateOne:Pm,updateMany:_m,deleteOne:bm,deleteMany:Mm,initialize:wm});m(this,"selectors",{selectById:km,selectByIds:vm})}add(e,n){var f;const{store:a}=this.client,{addOne:c,deleteOne:r}=this.actions,d=new Date().toISOString(),l=((f=a.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=O({...e,submitted_at:d,created_by:l}),p=O({...n,form:u.uuid,submitted_at:d,created_by:l});this.dispatch(c(u)),this.dispatch(ki(p));const y=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:{...M(u),initial_revision:{uuid:p.uuid,submitted_at:p.submitted_at,title:p.title,description:p.description,fields:p.fields}},blockers:[],blocks:[u.uuid,p.uuid]});return y.catch(w=>{throw this.dispatch(r(u.uuid)),this.dispatch(Vi(p.uuid)),w}),[u,p,y]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error("Expected form to exist");const u=sy(e)(d),p=Sm(e)(d);this.dispatch(a(e)),this.dispatch(Hi(V(u))),this.dispatch(Bi(V(p)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(y){throw this.dispatch(c(l)),this.dispatch(vi(p)),this.dispatch(Gi(u)),y}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class KM extends q{constructor(){super(...arguments);m(this,"name","Form Submission Attachment");m(this,"url","/form-submission-attachments");m(this,"actions",{addOne:zm,addMany:ji,setOne:Wm,setMany:qm,updateOne:Dm,updateMany:jm,deleteOne:$m,deleteMany:$i,initialize:Bm});m(this,"selectors",{selectById:Cm,selectByIds:Um})}getId(e){return e.uuid}getBlockers(e){return[e.form_submission]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,form_submission:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,form_submission:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,form_submission:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,form_submission:c,file_sha1:r,file_name:d,file_extension:l}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,r=n.getState(),d=Li(e)(r);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e}},n)).flat();return this.dispatch(a(r)),r}}class YM extends R{constructor(){super(...arguments);m(this,"name","Form Submission");m(this,"url","/form-submissions");m(this,"actions",{addOne:Zm,addMany:Gi,setOne:Km,setMany:Ym,updateOne:Jm,updateMany:Qm,deleteOne:Xm,deleteMany:Hi,initialize:Hm});m(this,"selectors",{selectById:ey,selectByIds:ty})}add(e){var f;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=new Date().toISOString(),p=O({...e,created_by:l,submitted_at:u}),y=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(p),blockers:[e.form_revision],blocks:[p.uuid]});return this.dispatch(a(p)),y.then(w=>{this.dispatch(c(w))}).catch(()=>{this.dispatch(r(p.uuid))}),[p,y]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),d=c(e.uuid)(r);if(!d)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${l.uuid}/`,payload:e,blockers:[l.uuid],blocks:[l.uuid]});return u.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(a(d))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected submission with uuid ${e} to exist`);const u=Lm(e)(d);this.dispatch(a(e)),this.dispatch($i(V(u)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(l)),this.dispatch(ji(u)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_revision__form_organization:e}},n)).flat();return this.dispatch(a(r)),r}}class ZM extends q{constructor(){super(...arguments);m(this,"name","Geo Image");m(this,"url","/geo-images");m(this,"actions",{addOne:dy,addMany:ly,setOne:cy,setMany:ry,updateOne:uy,updateMany:oy,deleteOne:hy,deleteMany:py,initialize:ay});m(this,"selectors",{selectById:yy,selectByIds:fy})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,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{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),d=c(e.uuid)(r);if(!d)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const l={...d,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(a(d))}),[l,u]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project:e}},n);return this.dispatch(a(c)),c}}class JM extends R{constructor(){super(...arguments);m(this,"name","Issue Association");m(this,"url","/issue-associations");m(this,"actions",{addOne:gy,addMany:pt,setOne:Iy,setMany:wy,updateOne:Oy,updateMany:Fy,deleteOne:Py,deleteMany:mt,initialize:Ty});m(this,"selectors",{selectById:by,selectByIds:My})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=new Date().toISOString(),l=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,u=O({...e,submitted_at:d,created_by:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[e.associated_issue,...e.issue?[e.issue]:[],...e.asset?[e.asset]:[]],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{associated_issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class QM extends q{constructor(){super(...arguments);m(this,"name","Issue Attachment");m(this,"url","/issue-attachments");m(this,"actions",{addOne:qy,addMany:Xi,setOne:Dy,setMany:jy,updateOne:$y,updateMany:Cy,deleteOne:Uy,deleteMany:xi,initialize:Wy});m(this,"selectors",{selectById:Gy,selectByIds:Hy})}getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,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:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class XM extends q{constructor(){super(...arguments);m(this,"name","Issue Comment Attachment");m(this,"url","/issue-comment-attachments");m(this,"actions",{addOne:Jy,addMany:Qy,setOne:Xy,setMany:xy,updateOne:ef,updateMany:tf,deleteOne:sf,deleteMany:nf,initialize:Zy});m(this,"selectors",{selectById:cf,selectByIds:rf})}getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,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:a}=this.actions,r=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class xM extends R{constructor(){super(...arguments);m(this,"name","Issue Comment");m(this,"url","/issue-comments");m(this,"actions",{addOne:of,addMany:hf,setOne:pf,setMany:mf,updateOne:yf,updateMany:ff,deleteOne:Sf,deleteMany:Af,initialize:uf});m(this,"selectors",{selectById:Tf,selectByIds:wf})}add(e){const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,d=O({...e,author:n.getState().userReducer.currentUser.id,submitted_at:new Date().toISOString()});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[e.issue],blocks:[d.uuid]});return l.then(u=>{this.dispatch(c(u))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{setMany:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class eR extends R{constructor(){super(...arguments);m(this,"name","Issue");m(this,"url","/issues");m(this,"actions",{addOne:gf,addMany:rn,setOne:Pf,setMany:_f,updateOne:bf,updateMany:Mf,deleteOne:Rf,deleteMany:dn,initialize:Ff});m(this,"selectors",{selectById:kf,selectByIds:vf})}add(e){var f;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=n.getState(),l=new Date().toISOString(),u=((f=d.userReducer.currentUser)==null?void 0:f.id)??null,p=O({...e,submitted_at:l,created_by:u});this.dispatch(a(p));const y=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(p),blockers:[p.project,p.issue_type,p.status],blocks:[p.uuid]});return y.then(w=>{this.dispatch(c(w))}).catch(w=>{throw this.dispatch(r(p.uuid)),w}),[p,y]}update(e){var y;const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const d={...r,...e};this.dispatch(n(d));const l={};for(const f of[$.TITLE,$.DESCRIPTION,$.STATUS,$.PRIORITY,$.ASSIGNED_TO,$.DUE_DATE])if(f in e&&e[f]!==r[f])switch(f){case $.PRIORITY:l[f]=e[f];break;case $.DUE_DATE:l[f]=e[f];break;case $.DESCRIPTION:l[f]=e[f];break;case $.TITLE:l[f]=e[f];break;case $.STATUS:{const w=e[f],_=_n(w)(c);if(!_)throw new Error(`Trying to update issue type status with ${w} which does not exist in store`);l[f]={name:_.name,color:_.color,uuid:_.uuid};break}case $.ASSIGNED_TO:{const w=e[f];if(w===null)l[f]=null;else{const _=Qt(w)(c);if(!_)throw new Error(`Trying to update assigned to with ${w} which does not exist in store.`);l[f]={full_name:_.username,id:_.id}}break}}const u=O({created_by:((y=c.userReducer.currentUser)==null?void 0:y.id)??null,submitted_at:new Date().toISOString(),issue:r.uuid,changes:l});this.dispatch(Mn(u));const p=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return p.then(f=>{this.dispatch(n(f))}).catch(()=>{this.dispatch(n(r)),this.dispatch(En(u.uuid))}),[d,p]}bulkUpdate(e,n){const{store:a}=this.client,{updateMany:c}=this.actions,{selectByIds:r}=this.selectors,d=V(e).toSorted(Vt);if(d.length!==e.length)throw new Error("payloads contains duplicate uuids.");const l=r(d)(a.getState()).toSorted(ms);if(d.length!=l.length)throw new Error(`Attempting to bulk update ${d.length-l.length} issues that dont exist in the store`);const u=[];for(let w=0;w<d.length;w++)u.push({...l[w],...e[w]});this.dispatch(c(u));const p=ht(e,Math.min(n??e.length,ut)),y=[];let f=null;for(const w of p){const _=ot.v4(),k=V(w),P=w.map(({status:b})=>b).filter(Boolean),E=this.enqueueRequest({description:T(h.PATCH,this.name,!0),method:h.PATCH,url:`${this.url}/bulk/`,payload:{payloads:w},blockers:(f?[f]:[]).concat(k).concat(P),blocks:[_].concat(k)});y.push(E),f=_}return Promise.all(y).then(w=>{this.dispatch(c(w.flat()))}).catch(()=>{this.dispatch(c(l))}),[u,y]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`No issue with uuid ${e} found in the store`);const u=Ry(e)(d),p=vy(e)(d),y=Ny(e)(d),f=aT(e)(d);this.dispatch(a(e)),this.dispatch(xi(V(y))),this.dispatch(kn(V(f))),this.dispatch(mt(V(u))),this.dispatch(mt(V(p)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(w){throw this.dispatch(c(l)),this.dispatch(Xi(y)),this.dispatch(Rn(f)),this.dispatch(pt(u)),this.dispatch(pt(p)),w}}async bulkDelete(e){const{store:n}=this.client,{addMany:a,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,d=n.getState(),l=r(e)(d),u=Ey(e)(d),p=ky(e)(d);this.dispatch(c(e)),this.dispatch(mt(V(u))),this.dispatch(mt(V(p)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(y){throw this.dispatch(a(l)),this.dispatch(pt(u)),this.dispatch(pt(p)),y}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class tR extends q{constructor(){super(...arguments);m(this,"name","Issue Type Attachment");m(this,"url","/issue-type-attachments");m(this,"actions",{addOne:qf,addMany:Df,setOne:jf,setMany:$f,updateOne:Cf,updateMany:Uf,deleteOne:Lf,deleteMany:Nf,initialize:Wf});m(this,"selectors",{selectById:Hf,selectByIds:Kf})}getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,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:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class sR extends q{constructor(){super(...arguments);m(this,"name","Issue Type Fields Attachment");m(this,"url","/issue-type-fields-attachments");m(this,"actions",{addOne:Qf,addMany:Xf,setOne:xf,setMany:eS,updateOne:tS,updateMany:sS,deleteOne:iS,deleteMany:nS,initialize:Jf});m(this,"selectors",{selectById:cS,selectByIds:rS})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class iR extends R{constructor(){super(...arguments);m(this,"name","Issue Type Fields");m(this,"url","/issue-type-fields");m(this,"actions",{addOne:PS,addMany:_S,setOne:bS,setMany:MS,updateOne:RS,updateMany:ES,deleteOne:kS,deleteMany:vS,initialize:gS});m(this,"selectors",{selectById:BS,selectByIds:zS})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[u.issue_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(f=>{throw this.dispatch(r(u.uuid)),f}),[u,p]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class nR extends q{constructor(){super(...arguments);m(this,"name","Issue Type Field Values Attachment");m(this,"url","/issue-type-field-values-attachments");m(this,"actions",{addOne:jS,addMany:fn,setOne:$S,setMany:CS,updateOne:US,updateMany:LS,deleteOne:NS,deleteMany:Sn,initialize:DS});m(this,"selectors",{selectById:HS,selectByIds:KS})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,d=n.getState(),l=r(e)(d);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class aR extends R{constructor(){super(...arguments);m(this,"name","Issue Type Field Values");m(this,"url","/issue-type-field-values");m(this,"actions",{addOne:oS,addMany:hS,setOne:pS,setMany:mS,updateOne:yS,updateMany:fS,deleteOne:SS,deleteMany:AS,initialize:uS});m(this,"selectors",{selectById:wS,selectByIds:IS})}add(e){var f;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=new Date().toISOString(),p=O({...e,created_by:l,submitted_at:u}),y=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(p),blockers:[e.issue,e.fields_revision],blocks:[p.uuid]});return this.dispatch(a(p)),y.then(w=>{this.dispatch(c(w))}).catch(()=>{this.dispatch(r(p.uuid))}),[p,y]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),d=c(e.uuid)(r);if(!d)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[l.uuid,l.fields_revision,l.issue],blocks:[l.uuid]});return u.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(a(d))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected submission with uuid ${e} to exist`);const u=YS(e)(d);this.dispatch(a(e)),this.dispatch(Sn(V(u)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(l)),this.dispatch(fn(u)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class cR extends R{constructor(){super(...arguments);m(this,"name","Issue Type Identifier");m(this,"url","/issue-type-identifiers");m(this,"actions",{addOne:XS,addMany:xS,setOne:eA,setMany:tA,updateOne:sA,updateMany:iA,deleteOne:nA,deleteMany:aA,initialize:QS});m(this,"selectors",{selectById:rA,selectByIds:dA})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[u.issue_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class rR extends R{constructor(){super(...arguments);m(this,"name","Issue Type Identifier Value");m(this,"url","/issue-type-identifier-values");m(this,"actions",{addOne:hA,addMany:pA,setOne:mA,setMany:yA,updateOne:fA,updateMany:SA,deleteOne:AA,deleteMany:TA,initialize:oA});m(this,"selectors",{selectById:IA,selectByIds:OA})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[e.issue,e.issue_type_identifier],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class dR extends R{constructor(){super(...arguments);m(this,"name","Issue Type");m(this,"url","/issue-types");m(this,"actions",{addOne:_A,addMany:bA,setOne:MA,setMany:RA,updateOne:EA,updateMany:kA,deleteOne:vA,deleteMany:VA,initialize:PA});m(this,"selectors",{selectById:zA,selectByIds:WA})}add(e){var f;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=new Date().toISOString(),p=O({...e,submitted_at:u,created_by:l});this.dispatch(a(p));const y=this.enqueueRequest({method:h.POST,url:`${this.url}/`,payload:M(p),blockers:[],blocks:[p.uuid]});return y.then(w=>{this.dispatch(c(w))}).catch(()=>{this.dispatch(r(p.uuid))}),[p,y]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),d=c(e.uuid)(r);if(!d)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const l={...d,...e};this.dispatch(a(l));const u=this.enqueueRequest({method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(a(d))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const u=Vf(e)(d);this.dispatch(a(e)),this.dispatch(dn(V(u)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(l)),this.dispatch(rn(u)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class lR extends R{constructor(){super(...arguments);m(this,"name","Issue Type Status");m(this,"url","/issue-type-statuses");m(this,"actions",{addOne:$A,addMany:CA,setOne:UA,setMany:LA,updateOne:NA,updateMany:GA,deleteOne:HA,deleteMany:KA,initialize:jA});m(this,"selectors",{selectById:_n,selectByIds:ZA})}add(e){var y;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=O({...e,created_by:d,submitted_at:l});this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(u),blockers:[e.issue_type],blocks:[u.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.uuid))}),[u,p]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const d={...r,...e};this.dispatch(n(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(n(u))}).catch(()=>{this.dispatch(n(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class uR extends R{constructor(){super(...arguments);m(this,"name","Issue Update");m(this,"url","/issue-updates");m(this,"actions",{addOne:Mn,addMany:Rn,setOne:xA,setMany:eT,updateOne:tT,updateMany:sT,deleteOne:En,deleteMany:kn,initialize:XA});m(this,"selectors",{selectById:iT,selectByIds:nT})}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}const oR=1800;function hR(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 pR extends uM{constructor(){super(...arguments);m(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:h.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await n}catch(c){console.error("Could not renew tokens; clearing auth",c),this.clearAuth();return}if(!a.access)throw new Error("Missing access token");return{accessToken:a.access,refreshToken:a.refresh??this.getRefreshToken()}})}clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(Mh(!1)),this.clearTokens(),this.dispatch(I()),this.dispatch(I())}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 a;try{a=bP(e).exp??n}catch{a=n}return a-n<oR}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 C&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??Tt).toString()))}}}async handleUnauthorized(e,n){const a=this.client.store.getState();if(e.url.endsWith("/token/refresh/"))throw a.authReducer.isLoggedIn&&console.warn("No signed-in user to sign out."),this.clearAuth(),new C({message:"You have been signed out due to inactivity.",response:n,discard:!0});if(a.authReducer.isLoggedIn)await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new C({message:"Incorrect username or password.",response:n,discard:!0})}async initAuth(e){const n=ot.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:n,method:h.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(hR(a))})}}class mR extends wt{constructor(){super(...arguments);m(this,"name","Organization Access");m(this,"url","/organization-accesses");m(this,"actions",{addOne:wT,addMany:IT,setOne:OT,setMany:FT,updateOne:gT,updateMany:PT,deleteOne:_T,deleteMany:bT,initialize:TT});m(this,"selectors",{selectById:RT,selectByIds:ET})}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState()),d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(u=>{throw this.dispatch(a(r)),u}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d),u=Qt(l.user)(d);this.dispatch(a(l.uuid)),this.dispatch(Wn(l.user));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${l.uuid}/`,blockers:[l.uuid],blocks:[]})}catch(p){throw this.dispatch(c(l)),this.dispatch(zn(u)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class yR extends wt{constructor(){super(...arguments);m(this,"name","Organization");m(this,"url","/organizations");m(this,"actions",{addOne:qT,addMany:WT,setOne:zT,setMany:BT,updateOne:jT,updateMany:DT,deleteOne:$T,deleteMany:CT,initialize:VT});m(this,"selectors",{selectById:NT,selectByIds:GT})}async add(e){const{addOne:n}=this.actions,a=await this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(n(a)),a}async update(e){const{setOne:n}=this.actions,a=await this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(n(a)),a}async invite(e,n){return this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/${e}/invite/${n}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:n}=this.actions,a=await this.list({},e);return this.dispatch(n(a)),a}}class fR extends R{constructor(){super(...arguments);m(this,"name","Project Access");m(this,"url","/project-accesses");m(this,"actions",{addOne:tw,addMany:sw,setOne:iw,setMany:nw,updateOne:aw,updateMany:cw,deleteOne:rw,deleteMany:dw,initialize:ew});m(this,"selectors",{selectById:uw,selectByIds:ow})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=O({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[d.organization_access,d.project],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(p=>{throw this.dispatch(r(d.uuid)),p}),[d,l]}bulkAdd(e){var p;const{store:n}=this.client,{addMany:a,deleteMany:c,updateMany:r}=this.actions,d=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,l=e.map(y=>O({...y,created_by:d}));this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{project_accesses:l.map(y=>M(y))},blockers:l.flatMap(y=>[y.project,y.organization_access]),blocks:l.map(y=>y.uuid)});return u.then(y=>{this.dispatch(r(y))}).catch(y=>{throw this.dispatch(c(l.map(f=>f.uuid))),y}),[l,u]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState()),d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return l.then(u=>{this.dispatch(a(u))}).catch(u=>{throw this.dispatch(a(r)),u}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class SR extends q{constructor(){super(...arguments);m(this,"name","Project Attachment");m(this,"url","/project-attachments");m(this,"actions",{addOne:mw,addMany:yw,setOne:fw,setMany:Sw,updateOne:Aw,updateMany:Tw,deleteOne:ww,deleteMany:Iw,initialize:pw});m(this,"selectors",{selectById:Fw,selectByIds:gw})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,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:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class AR extends q{constructor(){super(...arguments);m(this,"name","Project File");m(this,"url","/project-files");m(this,"actions",{addOne:Ew,addMany:kw,setOne:Mw,setMany:Rw,updateOne:vw,updateMany:Vw,deleteOne:Bw,deleteMany:zw,initialize:bw});m(this,"selectors",{selectById:Dw,selectByIds:jw})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){var r;const{store:n}=this.client,a=((r=n.getState().userReducer.currentUser)==null?void 0:r.id)??null,c=new Date().toISOString();return O({...e,created_by:a,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{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),d=c(e.uuid)(r);if(!d)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const l={...d,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(a(d))}),[l,u]}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class TR extends wt{constructor(){super(...arguments);m(this,"name","Project");m(this,"url","/projects");m(this,"actions",{addOne:Hw,addMany:Gw,setOne:Nw,setMany:Lw,updateOne:Yw,updateMany:Kw,deleteOne:Zw,deleteMany:Jw,initialize:Uw});m(this,"selectors",{selectById:xw,selectByIds:eI})}async add(e){const{addOne:n}=this.actions,a=await this.performRequest({method:h.POST,url:`${this.url}/`,payload:M(e)});return this.dispatch(n(a)),a}async update(e){const{updateOne:n}=this.actions,a=await this.performRequest({method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e)});return this.dispatch(n(a)),a}async delete(e){const{deleteOne:n}=this.actions,a=await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(n(e)),a}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class wR extends R{constructor(){super(...arguments);m(this,"name","Team Membership");m(this,"url","/team-memberships");m(this,"actions",{addOne:nI,addMany:aI,setOne:cI,setMany:rI,updateOne:dI,updateMany:lI,deleteOne:uI,deleteMany:oI,initialize:iI});m(this,"selectors",{selectById:mI,selectByIds:yI})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=O({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[e.team],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}bulkAdd(e){var p;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,d=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,l=e.map(y=>O({...y,created_by:d}));this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{team_memberships:l.map(y=>M(y))},blockers:l.map(y=>y.team),blocks:l.map(y=>y.uuid)});return u.then(y=>{this.dispatch(c(y))}).catch(()=>{this.dispatch(r(l.map(y=>y.uuid)))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(a(c)),c}}class IR extends R{constructor(){super(...arguments);m(this,"name","Team");m(this,"url","/teams");m(this,"actions",{addOne:AI,addMany:TI,setOne:wI,setMany:II,updateOne:OI,updateMany:FI,deleteOne:gI,deleteMany:PI,initialize:SI});m(this,"selectors",{selectById:bI,selectByIds:MI})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=O({...e,submitted_at:new Date().toISOString(),created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e),blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class OR extends wt{constructor(){super(...arguments);m(this,"name","User");m(this,"url","/user");m(this,"actions",{addOne:zn,addMany:oT,setOne:uT,setMany:lT,updateOne:pT,updateMany:hT,deleteOne:Wn,deleteMany:mT,initialize:dT});m(this,"selectors",{selectById:Qt,selectByIds:ST})}async list(e,n){const{organizationUuid:a,...c}=e,r=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:h.GET,url:r,...c},n)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({organizationUuid:e},n);return this.dispatch(a(c)),c}}class FR extends R{constructor(){super(...arguments);m(this,"name","Workflow");m(this,"url","/workflows");m(this,"actions",{addOne:BI,addMany:zI,setOne:WI,setMany:qI,updateOne:DI,updateMany:jI,deleteOne:$I,deleteMany:CI,initialize:VI});m(this,"selectors",{selectById:LI,selectByIds:NI})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=O({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[d.workflow_type,d.project],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected workflow with uuid ${e.uuid} to exist`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid,d.workflow_type,d.project],blocks:[r.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Expected workflow with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class gR extends R{constructor(){super(...arguments);m(this,"name","Workflow Step Assignee");m(this,"url","/workflow-step-assignees");m(this,"actions",{addOne:YI,addMany:ZI,setOne:JI,setMany:QI,updateOne:XI,updateMany:xI,deleteOne:eO,deleteMany:tO,initialize:KI});m(this,"selectors",{selectById:iO,selectByIds:nO})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=O({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[d.workflow,d.workflow_step],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}bulkAdd(e){var y;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=e.map(f=>O({...f,created_by:d,submitted_at:l}));this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{workflow_step_assignees:u.map(f=>M(f))},blockers:u.flatMap(f=>[f.workflow,f.workflow_step]),blocks:u.map(f=>f.uuid)});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(V(u)))}),[u,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Expected workflow step assignee with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,d=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{workflow__project:e}},n)).flat();return this.dispatch(a(r)),r}}class PR extends R{constructor(){super(...arguments);m(this,"name","Workflow Step Comment");m(this,"url","/workflow-step-comments");m(this,"actions",{addOne:dO,addMany:lO,setOne:uO,setMany:oO,updateOne:hO,updateMany:pO,deleteOne:mO,deleteMany:yO,initialize:rO});m(this,"selectors",{selectById:SO,selectByIds:AO})}add(e){var u;const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,d=O({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[d.workflow,d.workflow_step],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Workflow step comment with uuid ${e.uuid} not found in store`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Workflow step comment with uuid ${e} not found in store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{workflow__project:e}},n)).flat();return this.dispatch(a(r)),r}}class _R extends R{constructor(){super(...arguments);m(this,"name","Workflow Step Event");m(this,"url","/workflow-step-events");m(this,"actions",{addOne:OO,addMany:FO,setOne:gO,setMany:PO,updateOne:_O,updateMany:bO,deleteOne:MO,deleteMany:RO,initialize:IO});m(this,"selectors",{selectById:kO,selectByIds:vO})}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{workflow__project:e}},n)).flat();return this.dispatch(a(r)),r}}class bR extends q{constructor(){super(...arguments);m(this,"name","Workflow Step Fields Attachment");m(this,"url","/workflow-step-fields-attachments");m(this,"actions",{addOne:WO,addMany:sa,setOne:qO,setMany:DO,updateOne:jO,updateMany:$O,deleteOne:CO,deleteMany:ia,initialize:zO});m(this,"selectors",{selectById:NO,selectByIds:GO})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){var a;const{store:n}=this.client;return O({...e,created_by:((a=n.getState().userReducer.currentUser)==null?void 0:a.id)??null,submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:r,file_name:d,file_extension:l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__workflow_step__workflow_type__organization:e}},n);return this.dispatch(a(c)),c}}class MR extends R{constructor(){super(...arguments);m(this,"name","Workflow Step Fields");m(this,"url","/workflow-step-fields");m(this,"actions",{addOne:ZO,addMany:JO,setOne:QO,setMany:XO,updateOne:xO,updateMany:eF,deleteOne:tF,deleteMany:sF,initialize:YO});m(this,"selectors",{selectById:nF,selectByIds:aF})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=O({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[d.workflow_step],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected workflow step fields with uuid ${e} to exist`);const u=LO(e)(d);this.dispatch(a(e)),this.dispatch(ia(V(u)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(l)),this.dispatch(sa(u)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{workflow_step__workflow_type__organization:e}},n);return this.dispatch(a(c)),c}}class RR extends q{constructor(){super(...arguments);m(this,"name","Workflow Step Field Values Attachment");m(this,"url","/workflow-step-field-values-attachments");m(this,"actions",{addOne:lF,addMany:ra,setOne:uF,setMany:oF,updateOne:hF,updateMany:pF,deleteOne:mF,deleteMany:da,initialize:dF});m(this,"selectors",{selectById:fF,selectByIds:SF})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){var a;const{store:n}=this.client;return O({...e,created_by:((a=n.getState().userReducer.currentUser)==null?void 0:a.id)??null,submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:r,file_name:d,file_extension:l}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,d=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__workflow__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class ER extends R{constructor(){super(...arguments);m(this,"name","Workflow Step Field Values Review Request");m(this,"url","/workflow-step-field-values-review-requests");m(this,"actions",{addOne:OF,addMany:oa,setOne:FF,setMany:gF,updateOne:PF,updateMany:_F,deleteOne:bF,deleteMany:ha,initialize:IF});m(this,"selectors",{selectById:RF,selectByIds:EF})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=O({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[d.field_values],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Workflow step field values review request with uuid ${e} not found in store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__workflow__project:e}},n)).flat();return this.dispatch(a(r)),r}}class kR extends R{constructor(){super(...arguments);m(this,"name","Workflow Step Field Values Review");m(this,"url","/workflow-step-field-values-reviews");m(this,"actions",{addOne:zF,addMany:ya,setOne:WF,setMany:qF,updateOne:DF,updateMany:jF,deleteOne:$F,deleteMany:fa,initialize:BF});m(this,"selectors",{selectById:UF,selectByIds:LF})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=O({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[d.field_values],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Workflow step field values review with uuid ${e.uuid} not found in store`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Workflow step field values review with uuid ${e} not found in store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__workflow__project:e}},n)).flat();return this.dispatch(a(r)),r}}class vR extends R{constructor(){super(...arguments);m(this,"name","Workflow Step Field Values");m(this,"url","/workflow-step-field-values");m(this,"actions",{addOne:YF,addMany:ZF,setOne:JF,setMany:QF,updateOne:XF,updateMany:xF,deleteOne:eg,deleteMany:tg,initialize:KF});m(this,"selectors",{selectById:ig,selectByIds:ng})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=n.getState(),l=O({...e,created_by:((p=d.userReducer.currentUser)==null?void 0:p.id)??null,submitted_at:new Date().toISOString()}),u=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(l),blockers:[e.workflow,e.workflow_step,e.fields_revision],blocks:[l.uuid]});return this.dispatch(a(l)),u.then(y=>{this.dispatch(c(y))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),d=c(e.uuid)(r);if(!d)throw new Error(`Expected WorkflowStepFieldValues with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[l.uuid,l.workflow,l.workflow_step,l.fields_revision],blocks:[l.uuid]});return u.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(a(d))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=n.getState(),l=r(e)(d);if(!l)throw new Error(`Expected WorkflowStepFieldValues with uuid ${e} to exist`);const u=AF(e)(d),p=NF(e)(d),y=kF(e)(d);this.dispatch(a(e)),this.dispatch(da(V(u))),this.dispatch(fa(V(p))),this.dispatch(ha(V(y)));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(c(l)),this.dispatch(ra(u)),this.dispatch(ya(p)),this.dispatch(oa(y)),f}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{workflow__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class VR extends R{constructor(){super(...arguments);m(this,"name","Workflow Step Reviewer");m(this,"url","/workflow-step-reviewers");m(this,"actions",{addOne:dg,addMany:lg,setOne:ug,setMany:og,updateOne:hg,updateMany:pg,deleteOne:mg,deleteMany:yg,initialize:rg});m(this,"selectors",{selectById:Sg,selectByIds:Ag})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=O({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[d.workflow,d.workflow_step],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}bulkAdd(e){var y;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,d=((y=n.getState().userReducer.currentUser)==null?void 0:y.id)??null,l=new Date().toISOString(),u=e.map(f=>O({...f,created_by:d,submitted_at:l}));this.dispatch(a(u));const p=this.enqueueRequest({description:T(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{workflow_step_reviewers:u.map(f=>M(f))},blockers:u.flatMap(f=>[f.workflow,f.workflow_step]),blocks:u.map(f=>f.uuid)});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(u.map(f=>f.uuid)))}),[u,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Expected workflow step reviewer with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,d=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{workflow__project:e}},n)).flat();return this.dispatch(a(r)),r}}class BR extends R{constructor(){super(...arguments);m(this,"name","Workflow Step");m(this,"url","/workflow-steps");m(this,"actions",{addOne:Og,addMany:Fg,setOne:gg,setMany:Pg,updateOne:_g,updateMany:bg,deleteOne:Mg,deleteMany:Rg,initialize:Ig});m(this,"selectors",{selectById:kg,selectByIds:vg})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=O({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(d),blockers:[d.workflow_type],blocks:[d.uuid]});return l.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,l]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected workflow step with uuid ${e.uuid} to exist`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid,d.workflow_type],blocks:[r.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Expected workflow step with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{workflow_type__organization:e}},n);return this.dispatch(a(c)),c}}class zR extends R{constructor(){super(...arguments);m(this,"name","Workflow Type");m(this,"url","/workflow-types");m(this,"actions",{addOne:Wg,addMany:qg,setOne:Dg,setMany:jg,updateOne:$g,updateMany:Cg,deleteOne:Ug,deleteMany:Lg,initialize:zg});m(this,"selectors",{selectById:Gg,selectByIds:Hg})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,d=n.getState(),l=O({...e,created_by:((p=d.userReducer.currentUser)==null?void 0:p.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(l));const u=this.enqueueRequest({description:T(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:M(l),blockers:[],blocks:[l.uuid]});return u.then(y=>{this.dispatch(c(y))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected workflow type with uuid ${e.uuid} to exist`);const d={...r,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(r))}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,d=r(e)(n.getState());if(!d)throw new Error(`Expected workflow type with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}async function ba(t,s,e,n,a){const c=n instanceof ft;c&&s.checkAuth!==!1&&await n.auth.prepareAuth();const r={queryParams:"",isAuthNeeded:!0},{s3url:d,payload:l,headers:u,method:p,queryParams:y,attachmentHash:f,isExternalUrl:w,isAuthNeeded:_,isResponseBlob:k}={...r,...s};let P=s.url;const E=f?await e.files.fetchCache(f):void 0;if(f&&!E)throw new Error(`Cannot upload file ${f} because it's not cached.`);!w&&!P.startsWith("http")&&(!P.startsWith("/")&&!P.startsWith("blob:")&&(P="/"+P),P=t+P);const b=v=>{if(f){if(!d)throw new Error(`No S3 URL for file ${f}`);if("warning"in d)throw new Error(`S3 URL warning for file ${f}`);if(!E)throw new Error(`No file for file ${f}`);const L=d.fields["x-amz-checksum-sha1"];if(!L)throw new Error(`No checksum for file ${f}`);return v.set("x-amz-checksum-sha1",L).field({...l,...d.fields}).attach("file",E)}return v.send(l)},j={[h.GET]:()=>k?At.get(P.toString()).responseType("blob"):At.get(P.toString()),[h.POST]:()=>{const v=At.post(P.toString());return b(v)},[h.PATCH]:()=>{const v=At.patch(P.toString());return b(v)},[h.PUT]:()=>{const v=At.put(P.toString());return b(v)},[h.DELETE]:()=>{const v=At.delete(P.toString());return b(v)}}[p];let z=j();const D=()=>{console.debug("aborting request:",s.url),z.abort()};if(a==null||a.addEventListener("abort",D),_&&c){const v=n.auth.getAuthHeader();z=z.set("Authorization",v)}u&&(z=z.set(u));try{return await z.query(y)}catch(v){const L=dP(v),ds=L==null?void 0:L.status;if(c&&ds===401)return await n.auth.handleUnauthorized(z,L),z.query(y);throw new C({response:L,innerError:v,discard:Pa.includes(ds)})}finally{a==null||a.removeEventListener("abort",D)}}class WR{constructor(s){m(this,"store");this.store=s}_performRequest(s,e,n,a){const c=new us,r={...e,uuid:e.uuid??ot.v4()};return ba(s,r,this,n,a).then(d=>{c.resolve(d.body)}).catch(d=>{d instanceof Error?c.reject(d):c.reject(new Error((d??Tt).toString()))}),c}async performRequest(s,e,n,a){return this._performRequest(s,e,n,a).then(c=>{if(c instanceof C)throw c;return c})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(a=>{if(a instanceof C)throw a;return a})}_enqueueRequest(s,e,n){const a=new us,c={...s,BASE_URL:e,serviceName:n},r=this.store.dispatch(ZT(c)),d=u=>{if(u)a.resolve(u.body);else{const p=new C({message:"Could not get a response from the server.",response:u,discard:!0});a.reject(p)}},l=u=>{u instanceof C?u.options.discard=!0:(console.error("Received an unexpected error while processing a request:",u,`
|
|
14
|
+
Converting error to APIError and discarding.`),u=new C({message:"An error occurred while processing the request.",innerError:u,discard:!0})),a.reject(u)};return r.then(d,l),a}async performPagination(s,e,n,a,c){const r={...e,queryParams:{...e.queryParams,paginate:!0,limit:n}},{method:d}=r,l=[];let u=await this.performRequest(s,r,a,c);for(l.push(u.results);u.next;)u=await this.performRequest(s,{url:u.next,method:d},a,c),l.push(u.results);return l}}class It{constructor(){m(this,"graph");m(this,"requestAttemptCounter");this.graph=new MP.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new It;for(let n=0;n<s.length;n++){const a=s[n];if(!a){console.error("Outbox item was undefined");continue}e.sneakRequest(a);for(let c=0;c<n;c++){const r=s[c];if(!r){console.error("Previous outbox item was undefined");continue}r.payload.uuid!==a.payload.uuid&&r.payload.blocks.some(d=>a.payload.blockers.includes(d))&&It._addDependency(a.payload.uuid,r.payload.uuid,e.graph)}}return e}_addDependency(s,e){It._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),a=new Set(n.payload.blocks);s.payload.blockers.some(c=>a.has(c))&&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),a=new Set(s.payload.blocks);n.payload.blockers.some(c=>a.has(c))&&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 a of s){const c=this.requestAttemptCounter[a]||0;c<e&&(e=c,n=a)}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),a=s.findIndex(c=>c.payload.uuid===n.payload.uuid);a!==-1&&(s.splice(a,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 a=this.requestAttemptCounter[e.payload.uuid]||0,c=this.requestAttemptCounter[n.payload.uuid]||0;return a-c}),s}registerRetry(s){this.requestAttemptCounter[s]=(this.requestAttemptCounter[s]||0)+1}}let lP;function uP(t){lP=t}function Ot(){return lP}let oP;function hP(t){oP=t}function pP(){return oP}let Ma=null;function St(){const t=Ot();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(Ma)return Ma;const s=t.getState().offline.outbox,e=It._fromOutbox(s);return Ma=e,e}const qR=(t,s)=>{const e=new s(t);return hP(e),uP(t),e};class DR{constructor(s){m(this,"_all");m(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 Ra{constructor(){m(this,"next");this.next=null}then(s){return new DR(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s.payload.url),!Ot())throw new Error("Client store not set");const n=pP();if(!n)throw new Error("Client SDK not set");return aP(s,n)}}}class mP extends Ra{async run(s){return super.run(s)}}class yP extends Ra{async run(s){return super.run(s)}}const fP=new mP().then(new yP).compile();function SP(t){var s;return(s=fP[0])==null?void 0:s.run(t)}var AP=(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))(AP||{});i.ALL_MIDDLEWARE=fP,i.APIError=C,i.AgentService=oM,i.AssetAttachmentService=hM,i.AssetProcedureService=AM,i.AssetProcedureStepFieldValuesAttachmentService=OM,i.AssetProcedureStepFieldValuesService=FM,i.AssetProcedureStepFieldsAttachmentService=wM,i.AssetProcedureStepFieldsService=IM,i.AssetProcedureStepService=gM,i.AssetProcedureTypeAttachmentService=pM,i.AssetProcedureTypeFieldValuesAttachmentService=fM,i.AssetProcedureTypeFieldValuesService=SM,i.AssetProcedureTypeFieldsAttachmentService=mM,i.AssetProcedureTypeFieldsService=yM,i.AssetProcedureTypeService=TM,i.AssetService=PM,i.AssetStageCompletionService=_M,i.AssetStageService=bM,i.AssetStatusType=Wa,i.AssetTypeAttachmentService=MM,i.AssetTypeFieldValuesAttachmentService=kM,i.AssetTypeFieldValuesService=vM,i.AssetTypeFieldsAttachmentService=RM,i.AssetTypeFieldsService=EM,i.AssetTypeIdentifierService=VM,i.AssetTypeIdentifierValueService=BM,i.AssetTypeService=zM,i.AssetTypeStatusService=WM,i.AttachmentModel=qa,i.BaseApiService=ft,i.BaseModelApiService=wt,i.BaseOfflineFileModelApiService=q,i.BaseOfflineModelApiService=R,i.BaseSDK=WR,i.COMMON_AUTO_FIELDS=Za,i.DEFAULT_ISSUE_PRIORITY=RP,i.DEFAULT_PAGE_SIZE=Zg,i.DISCARD_HTTP_STATUSES=Pa,i.DeferredPromise=us,i.DocumentAttachmentService=qM,i.DocumentService=DM,i.EMPTY_ARRAY=Va,i.EMPTY_OBJECT=Ba,i.EmailDomainsService=jM,i.EmailVerificationService=$M,i.FILE_MODEL_DEFAULT_PAGE_SIZE=Jg,i.FileService=CM,i.FormIdentifierService=UM,i.FormIdentifierValueService=LM,i.FormRevisionAttachmentService=NM,i.FormRevisionService=GM,i.FormService=HM,i.FormSubmissionAttachmentService=KM,i.FormSubmissionService=YM,i.GeoImageService=ZM,i.HttpMethod=h,i.IssueAssociationService=JM,i.IssueAttachmentService=QM,i.IssueCommentAttachmentService=XM,i.IssueCommentService=xM,i.IssuePriority=ls,i.IssueService=eR,i.IssueStatusType=Da,i.IssueTypeAttachmentService=tR,i.IssueTypeFieldValuesAttachmentService=nR,i.IssueTypeFieldValuesService=aR,i.IssueTypeFieldsAttachmentService=sR,i.IssueTypeFieldsService=iR,i.IssueTypeIdentifierService=cR,i.IssueTypeIdentifierValueService=rR,i.IssueTypeService=dR,i.IssueTypeStatusService=lR,i.IssueUpdateChange=$,i.IssueUpdateService=uR,i.JWTService=pR,i.MAX_SERVICE_BATCH_SIZE=ut,i.OUTBOX_RETRY_DELAY=Ua,i.OfflineAnalyticsMiddleware=mP,i.OfflineMiddleware=Ra,i.OrganizationAccessLevel=za,i.OrganizationAccessService=mR,i.OrganizationService=yR,i.OutboxCoordinator=It,i.ProjectAccessService=fR,i.ProjectAttachmentService=SR,i.ProjectFileService=AR,i.ProjectService=TR,i.RESET_ORGANIZATION_STATE=g,i.RESET_PROJECT_STATE=B,i.RESET_STATE=I,i.RateLimitingMiddleware=yP,i.SelectorBuilder=XP,i.TeamMembershipService=wR,i.TeamService=IR,i.UNKNOWN_ERROR_MESSAGE=Tt,i.UserService=OR,i.VERSION_REDUCER_KEY=gt,i.VerificationCodeType=AP,i.WorkflowService=FR,i.WorkflowStatus=$a,i.WorkflowStepAssigneeService=gR,i.WorkflowStepCommentService=PR,i.WorkflowStepEventService=_R,i.WorkflowStepEventType=ja,i.WorkflowStepFieldValuesAttachmentService=RR,i.WorkflowStepFieldValuesReviewRequestService=ER,i.WorkflowStepFieldValuesReviewService=kR,i.WorkflowStepFieldValuesReviewType=Ca,i.WorkflowStepFieldValuesService=vR,i.WorkflowStepFieldsAttachmentService=bR,i.WorkflowStepFieldsService=MR,i.WorkflowStepReviewerService=VR,i.WorkflowStepService=BR,i.WorkflowTypeService=zR,i._setLatestRetryTime=QT,i.addAsset=Pl,i.addAssetAttachment=uc,i.addAssetAttachments=As,i.addAssetProcedure=Dr,i.addAssetProcedureStep=pl,i.addAssetProcedureStepFieldValues=Qd,i.addAssetProcedureStepFieldValuesAttachment=Dd,i.addAssetProcedureStepFieldValuesAttachments=Cs,i.addAssetProcedureStepFieldValuesMany=Xd,i.addAssetProcedureStepFields=Pd,i.addAssetProcedureStepFieldsAttachment=od,i.addAssetProcedureStepFieldsAttachments=hd,i.addAssetProcedureStepFieldsMany=_d,i.addAssetProcedureSteps=ml,i.addAssetProcedureType=Qr,i.addAssetProcedureTypeAttachment=Fc,i.addAssetProcedureTypeAttachments=gc,i.addAssetProcedureTypeFieldValues=gr,i.addAssetProcedureTypeFieldValuesAttachment=or,i.addAssetProcedureTypeFieldValuesAttachments=bs,i.addAssetProcedureTypeFieldValuesMany=Pr,i.addAssetProcedureTypeFields=Qc,i.addAssetProcedureTypeFieldsAttachment=qc,i.addAssetProcedureTypeFieldsAttachments=Dc,i.addAssetProcedureTypeFieldsMany=Xc,i.addAssetProcedureTypes=Xr,i.addAssetProcedures=vs,i.addAssetStage=tu,i.addAssetStageCompletion=Dl,i.addAssetStageCompletions=jl,i.addAssetStages=su,i.addAssetType=ih,i.addAssetTypeAttachment=hu,i.addAssetTypeAttachments=ti,i.addAssetTypeFieldValues=po,i.addAssetTypeFieldValuesAttachment=xu,i.addAssetTypeFieldValuesAttachments=di,i.addAssetTypeFieldValuesMany=mo,i.addAssetTypeFields=ju,i.addAssetTypeFieldsAttachment=Pu,i.addAssetTypeFieldsAttachments=_u,i.addAssetTypeFieldsMany=$u,i.addAssetTypeIdentifier=bo,i.addAssetTypeIdentifierValue=Co,i.addAssetTypeIdentifierValues=Uo,i.addAssetTypeIdentifiers=Mo,i.addAssetTypeStatus=yh,i.addAssetTypeStatuses=fh,i.addAssetTypes=nh,i.addAssets=Ys,i.addConversation=nc,i.addConversations=xP,i.addDocument=Hh,i.addDocumentAttachment=vh,i.addDocumentAttachments=Vh,i.addDocuments=Kh,i.addEmailDomain=cp,i.addEmailDomains=rp,i.addForm=Im,i.addFormIdentifier=Fp,i.addFormIdentifierValue=qp,i.addFormIdentifierValues=Dp,i.addFormIdentifiers=gp,i.addFormRevision=ki,i.addFormRevisionAttachment=Qp,i.addFormRevisionAttachments=Xp,i.addFormRevisions=vi,i.addFormSubmission=Zm,i.addFormSubmissionAttachment=zm,i.addFormSubmissionAttachments=ji,i.addFormSubmissions=Gi,i.addForms=Om,i.addGeoImage=dy,i.addGeoImages=ly,i.addIssue=gf,i.addIssueAssociation=gy,i.addIssueAssociations=pt,i.addIssueAttachment=qy,i.addIssueAttachments=Xi,i.addIssueComment=of,i.addIssueCommentAttachment=Jy,i.addIssueCommentAttachments=Qy,i.addIssueComments=hf,i.addIssueType=_A,i.addIssueTypeAttachment=qf,i.addIssueTypeAttachments=Df,i.addIssueTypeFieldValues=oS,i.addIssueTypeFieldValuesAttachment=jS,i.addIssueTypeFieldValuesAttachments=fn,i.addIssueTypeFieldValuesMany=hS,i.addIssueTypeFields=PS,i.addIssueTypeFieldsAttachment=Qf,i.addIssueTypeFieldsAttachments=Xf,i.addIssueTypeFieldsMany=_S,i.addIssueTypeIdentifier=XS,i.addIssueTypeIdentifierValue=hA,i.addIssueTypeIdentifierValues=pA,i.addIssueTypeIdentifiers=xS,i.addIssueTypeStatus=$A,i.addIssueTypeStatuses=CA,i.addIssueTypes=bA,i.addIssueUpdate=Mn,i.addIssueUpdates=Rn,i.addIssues=rn,i.addOrganization=qT,i.addOrganizationAccess=wT,i.addOrganizationAccesses=IT,i.addOrganizations=WT,i.addProject=Hw,i.addProjectAccess=tw,i.addProjectAccesses=sw,i.addProjectAttachment=mw,i.addProjectAttachments=yw,i.addProjectFile=Ew,i.addProjectFiles=kw,i.addProjects=Gw,i.addTeam=AI,i.addTeamMembership=nI,i.addTeamMemberships=aI,i.addTeams=TI,i.addUser=zn,i.addUsers=oT,i.addWorkflow=BI,i.addWorkflowStep=Og,i.addWorkflowStepAssignee=YI,i.addWorkflowStepAssignees=ZI,i.addWorkflowStepComment=dO,i.addWorkflowStepComments=lO,i.addWorkflowStepEvent=OO,i.addWorkflowStepEvents=FO,i.addWorkflowStepFieldValues=YF,i.addWorkflowStepFieldValuesAttachment=lF,i.addWorkflowStepFieldValuesAttachments=ra,i.addWorkflowStepFieldValuesMany=ZF,i.addWorkflowStepFieldValuesReview=zF,i.addWorkflowStepFieldValuesReviewRequest=OF,i.addWorkflowStepFieldValuesReviewRequests=oa,i.addWorkflowStepFieldValuesReviews=ya,i.addWorkflowStepFields=ZO,i.addWorkflowStepFieldsAttachment=WO,i.addWorkflowStepFieldsAttachments=sa,i.addWorkflowStepFieldsMany=JO,i.addWorkflowStepReviewer=dg,i.addWorkflowStepReviewers=lg,i.addWorkflowSteps=Fg,i.addWorkflowType=Wg,i.addWorkflowTypes=qg,i.addWorkflows=zI,i.agentsReducer=rc,i.agentsSlice=ys,i.areArraysEqual=VP,i.assetAttachmentReducer=wc,i.assetAttachmentSlice=Ss,i.assetProcedureReducer=Nr,i.assetProcedureSlice=ks,i.assetProcedureStepFieldValuesAttachmentReducer=Yd,i.assetProcedureStepFieldValuesAttachmentSlice=$s,i.assetProcedureStepFieldValuesReducer=dl,i.assetProcedureStepFieldValuesSlice=Ns,i.assetProcedureStepFieldsAttachmentReducer=Od,i.assetProcedureStepFieldsAttachmentSlice=Ws,i.assetProcedureStepFieldsReducer=zd,i.assetProcedureStepFieldsSlice=Ds,i.assetProcedureStepReducer=Tl,i.assetProcedureStepSlice=Gs,i.assetProcedureTypeAttachmentReducer=kc,i.assetProcedureTypeAttachmentSlice=Is,i.assetProcedureTypeFieldValuesAttachmentReducer=Sr,i.assetProcedureTypeFieldValuesAttachmentSlice=_s,i.assetProcedureTypeFieldValuesReducer=vr,i.assetProcedureTypeFieldValuesSlice=Es,i.assetProcedureTypeFieldsAttachmentReducer=Gc,i.assetProcedureTypeFieldsAttachmentSlice=Fs,i.assetProcedureTypeFieldsReducer=ar,i.assetProcedureTypeFieldsSlice=Ps,i.assetProcedureTypeReducer=ad,i.assetProcedureTypeSlice=Bs,i.assetReducer=zl,i.assetSlice=Ks,i.assetStageCompletionReducer=Hl,i.assetStageCompletionSlice=Js,i.assetStageReducer=ru,i.assetStageSlice=Qs,i.assetTypeAttachmentReducer=Ou,i.assetTypeAttachmentSlice=ei,i.assetTypeFieldValuesAttachmentReducer=uo,i.assetTypeFieldValuesAttachmentSlice=ri,i.assetTypeFieldValuesReducer=go,i.assetTypeFieldValuesSlice=oi,i.assetTypeFieldsAttachmentReducer=Wu,i.assetTypeFieldsAttachmentSlice=ni,i.assetTypeFieldsReducer=Ju,i.assetTypeFieldsSlice=ci,i.assetTypeIdentifierReducer=Do,i.assetTypeIdentifierSlice=hi,i.assetTypeIdentifierValueReducer=Xo,i.assetTypeIdentifierValueSlice=mi,i.assetTypeReducer=hh,i.assetTypeSlice=yi,i.assetTypeStatusReducer=_h,i.assetTypeStatusSlice=Si,i.assetTypeStatusSortFn=Xa,i.authReducer=Rh,i.authSlice=Ut,i.baseReducer=Jb,i.baseReducers=ga,i.clearTokens=q_,i.createModelAdapter=F,i.createOfflineAction=KT,i.createPayload=M,i.createSelectionAdapter=EP,i.deleteAsset=Ml,i.deleteAssetAttachment=yc,i.deleteAssetAttachments=Ts,i.deleteAssetProcedure=Cr,i.deleteAssetProcedureStep=Sl,i.deleteAssetProcedureStepFieldValues=il,i.deleteAssetProcedureStepFieldValuesAttachment=Ld,i.deleteAssetProcedureStepFieldValuesAttachments=Us,i.deleteAssetProcedureStepFieldValuesMany=nl,i.deleteAssetProcedureStepFields=kd,i.deleteAssetProcedureStepFieldsAttachment=Sd,i.deleteAssetProcedureStepFieldsAttachments=Ad,i.deleteAssetProcedureStepFieldsMany=vd,i.deleteAssetProcedureSteps=Al,i.deleteAssetProcedureType=td,i.deleteAssetProcedureTypeAttachment=Rc,i.deleteAssetProcedureTypeAttachments=Ec,i.deleteAssetProcedureTypeFieldValues=Er,i.deleteAssetProcedureTypeFieldValuesAttachment=fr,i.deleteAssetProcedureTypeFieldValuesAttachments=Ms,i.deleteAssetProcedureTypeFieldValuesMany=kr,i.deleteAssetProcedureTypeFields=ir,i.deleteAssetProcedureTypeFieldsAttachment=Lc,i.deleteAssetProcedureTypeFieldsAttachments=Nc,i.deleteAssetProcedureTypeFieldsMany=nr,i.deleteAssetProcedureTypes=sd,i.deleteAssetProcedures=Vs,i.deleteAssetStage=au,i.deleteAssetStageCompletion=Nl,i.deleteAssetStageCompletions=Gl,i.deleteAssetStages=cu,i.deleteAssetType=rh,i.deleteAssetTypeAttachment=Su,i.deleteAssetTypeAttachments=si,i.deleteAssetTypeFieldValues=To,i.deleteAssetTypeFieldValuesAttachment=no,i.deleteAssetTypeFieldValuesAttachments=li,i.deleteAssetTypeFieldValuesMany=wo,i.deleteAssetTypeFields=Gu,i.deleteAssetTypeFieldsAttachment=ku,i.deleteAssetTypeFieldsAttachments=vu,i.deleteAssetTypeFieldsMany=Hu,i.deleteAssetTypeIdentifier=Vo,i.deleteAssetTypeIdentifierValue=Ko,i.deleteAssetTypeIdentifierValues=Yo,i.deleteAssetTypeIdentifiers=Bo,i.deleteAssetTypeStatus=Ih,i.deleteAssetTypeStatuses=Oh,i.deleteAssetTypes=dh,i.deleteAssets=Zs,i.deleteConversation=s_,i.deleteConversations=i_,i.deleteDocument=Xh,i.deleteDocumentAttachment=Dh,i.deleteDocumentAttachments=jh,i.deleteDocuments=xh,i.deleteEmailDomain=hp,i.deleteEmailDomains=pp,i.deleteForm=bm,i.deleteFormIdentifier=Rp,i.deleteFormIdentifierValue=Lp,i.deleteFormIdentifierValues=Np,i.deleteFormIdentifiers=Ep,i.deleteFormRevision=Vi,i.deleteFormRevisionAttachment=im,i.deleteFormRevisionAttachments=nm,i.deleteFormRevisions=Bi,i.deleteFormSubmission=Xm,i.deleteFormSubmissionAttachment=$m,i.deleteFormSubmissionAttachments=$i,i.deleteFormSubmissions=Hi,i.deleteForms=Mm,i.deleteGeoImage=hy,i.deleteGeoImages=py,i.deleteIssue=Rf,i.deleteIssueAssociation=Py,i.deleteIssueAssociations=mt,i.deleteIssueAttachment=Uy,i.deleteIssueAttachments=xi,i.deleteIssueComment=Sf,i.deleteIssueCommentAttachment=sf,i.deleteIssueCommentAttachments=nf,i.deleteIssueComments=Af,i.deleteIssueType=vA,i.deleteIssueTypeAttachment=Lf,i.deleteIssueTypeAttachments=Nf,i.deleteIssueTypeFieldValues=SS,i.deleteIssueTypeFieldValuesAttachment=NS,i.deleteIssueTypeFieldValuesAttachments=Sn,i.deleteIssueTypeFieldValuesMany=AS,i.deleteIssueTypeFields=kS,i.deleteIssueTypeFieldsAttachment=iS,i.deleteIssueTypeFieldsAttachments=nS,i.deleteIssueTypeFieldsMany=vS,i.deleteIssueTypeIdentifier=nA,i.deleteIssueTypeIdentifierValue=AA,i.deleteIssueTypeIdentifierValues=TA,i.deleteIssueTypeIdentifiers=aA,i.deleteIssueTypeStatus=HA,i.deleteIssueTypeStatuses=KA,i.deleteIssueTypes=VA,i.deleteIssueUpdate=En,i.deleteIssueUpdates=kn,i.deleteIssues=dn,i.deleteOrganization=$T,i.deleteOrganizationAccess=_T,i.deleteOrganizationAccesses=bT,i.deleteOrganizations=CT,i.deleteProject=Zw,i.deleteProjectAccess=rw,i.deleteProjectAccesses=dw,i.deleteProjectAttachment=ww,i.deleteProjectAttachments=Iw,i.deleteProjectFile=Bw,i.deleteProjectFiles=zw,i.deleteProjects=Jw,i.deleteTeam=gI,i.deleteTeamMembership=uI,i.deleteTeamMemberships=oI,i.deleteTeams=PI,i.deleteUser=Wn,i.deleteUsers=mT,i.deleteWorkflow=$I,i.deleteWorkflowStep=Mg,i.deleteWorkflowStepAssignee=eO,i.deleteWorkflowStepAssignees=tO,i.deleteWorkflowStepComment=mO,i.deleteWorkflowStepComments=yO,i.deleteWorkflowStepEvent=MO,i.deleteWorkflowStepEvents=RO,i.deleteWorkflowStepFieldValues=eg,i.deleteWorkflowStepFieldValuesAttachment=mF,i.deleteWorkflowStepFieldValuesAttachments=da,i.deleteWorkflowStepFieldValuesMany=tg,i.deleteWorkflowStepFieldValuesReview=$F,i.deleteWorkflowStepFieldValuesReviewRequest=bF,i.deleteWorkflowStepFieldValuesReviewRequests=ha,i.deleteWorkflowStepFieldValuesReviews=fa,i.deleteWorkflowStepFields=tF,i.deleteWorkflowStepFieldsAttachment=CO,i.deleteWorkflowStepFieldsAttachments=ia,i.deleteWorkflowStepFieldsMany=sF,i.deleteWorkflowStepReviewer=mg,i.deleteWorkflowStepReviewers=yg,i.deleteWorkflowSteps=Rg,i.deleteWorkflowType=Ug,i.deleteWorkflowTypes=Lg,i.deleteWorkflows=CI,i.dequeue=nP,i.discard=cP,i.documentAttachmentReducer=Lh,i.documentAttachmentSlice=Ti,i.documentSlice=Ii,i.documentsReducer=ep,i.downloadFile=CP,i.emailDomainsReducer=Sp,i.emailDomainsSlice=Fi,i.emailRegex=ZP,i.enqueue=iP,i.enqueueRequest=ZT,i.extractResponseFromError=dP,i.fallbackToEmptyArray=A,i.fallbackToEmptyObject=kt,i.fetchBlobFromObjectUrl=Ga,i.fetchFileFromObjectUrl=Ha,i.fileReducer=wp,i.fileSlice=Pi,i.formIdentifierReducer=Bp,i.formIdentifierSlice=_i,i.formIdentifierValueReducer=Yp,i.formIdentifierValueSlice=Mi,i.formReducer=Rm,i.formRevisionAttachmentReducer=dm,i.formRevisionAttachmentSlice=Ri,i.formRevisionReducer=Am,i.formRevisionsSlice=Ei,i.formSlice=Wi,i.formSubmissionAttachmentReducer=Nm,i.formSubmissionAttachmentSlice=Di,i.formSubmissionReducer=iy,i.formSubmissionSlice=Ni,i.geoImageReducer=Sy,i.geoImageSlice=Yi,i.getAssetProcedureStepSubTree=Qa,i.getAssetProcedureStepTrees=JP,i.getClientSDK=pP,i.getClientStore=Ot,i.getDocumentSubTree=tc,i.getDocumentTrees=QP,i.getFileExtension=Na,i.getLocalDateString=La,i.getLocalRelativeDateString=qP,i.getOutboxCoordinator=St,i.getRenamedFile=$P,i.getRequestDescription=T,i.getS3FileKey=jP,i.hashFile=vt,i.initSDK=qR,i.initializeAssetAttachments=lc,i.initializeAssetProcedureStepFieldValues=Jd,i.initializeAssetProcedureStepFieldValuesAttachments=qd,i.initializeAssetProcedureStepFields=gd,i.initializeAssetProcedureStepFieldsAttachments=ud,i.initializeAssetProcedureSteps=ul,i.initializeAssetProcedureTypeAttachments=Oc,i.initializeAssetProcedureTypeFieldValues=Fr,i.initializeAssetProcedureTypeFieldValuesAttachments=ur,i.initializeAssetProcedureTypeFields=Jc,i.initializeAssetProcedureTypeFieldsAttachments=Wc,i.initializeAssetProcedureTypes=Jr,i.initializeAssetProcedures=qr,i.initializeAssetStageCompletions=ql,i.initializeAssetStages=Xl,i.initializeAssetTypeAttachments=ou,i.initializeAssetTypeFieldValues=ho,i.initializeAssetTypeFieldValuesAttachments=Xu,i.initializeAssetTypeFields=Du,i.initializeAssetTypeFieldsAttachments=gu,i.initializeAssetTypeIdentifierValues=$o,i.initializeAssetTypeIdentifiers=_o,i.initializeAssetTypeStatuses=mh,i.initializeAssetTypes=eh,i.initializeAssets=gl,i.initializeConversations=ic,i.initializeDocumentAttachments=kh,i.initializeDocuments=Gh,i.initializeEmailDomains=ap,i.initializeFormIdentifierValues=Wp,i.initializeFormIdentifiers=Op,i.initializeFormRevisionAttachments=Jp,i.initializeFormRevisions=um,i.initializeFormSubmissionAttachments=Bm,i.initializeFormSubmissions=Hm,i.initializeForms=wm,i.initializeGeoImages=ay,i.initializeIssueAssociations=Ty,i.initializeIssueAttachments=Wy,i.initializeIssueCommentAttachments=Zy,i.initializeIssueComments=uf,i.initializeIssueTypeAttachments=Wf,i.initializeIssueTypeFieldValues=uS,i.initializeIssueTypeFieldValuesAttachments=DS,i.initializeIssueTypeFields=gS,i.initializeIssueTypeFieldsAttachments=Jf,i.initializeIssueTypeIdentifierValues=oA,i.initializeIssueTypeIdentifiers=QS,i.initializeIssueTypeStatuses=jA,i.initializeIssueTypes=PA,i.initializeIssueUpdates=XA,i.initializeIssues=Ff,i.initializeOrganizationAccesses=TT,i.initializeOrganizations=VT,i.initializeProjectAccesses=ew,i.initializeProjectAttachments=pw,i.initializeProjectFiles=bw,i.initializeProjects=Uw,i.initializeTeamMemberships=iI,i.initializeTeams=SI,i.initializeUsers=dT,i.initializeWorkflowStepAssignees=KI,i.initializeWorkflowStepComments=rO,i.initializeWorkflowStepEvents=IO,i.initializeWorkflowStepFieldValues=KF,i.initializeWorkflowStepFieldValuesAttachments=dF,i.initializeWorkflowStepFieldValuesReviewRequests=IF,i.initializeWorkflowStepFieldValuesReviews=BF,i.initializeWorkflowStepFields=YO,i.initializeWorkflowStepFieldsAttachments=zO,i.initializeWorkflowStepReviewers=rg,i.initializeWorkflowSteps=Ig,i.initializeWorkflowTypes=zg,i.initializeWorkflows=VI,i.isImageFile=UP,i.isObjectUrl=Ka,i.isToday=WP,i.issueAssociationReducer=By,i.issueAssociationSlice=Ji,i.issueAttachmentReducer=Ky,i.issueAttachmentSlice=Qi,i.issueCommentAttachmentReducer=df,i.issueCommentAttachmentSlice=tn,i.issueCommentReducer=If,i.issueCommentSlice=nn,i.issueReducer=Bf,i.issueSlice=cn,i.issueTypeAttachmentReducer=Yf,i.issueTypeAttachmentSlice=ln,i.issueTypeFieldValuesAttachmentReducer=ZS,i.issueTypeFieldValuesAttachmentSlice=yn,i.issueTypeFieldValuesReducer=OS,i.issueTypeFieldValuesSlice=pn,i.issueTypeFieldsAttachmentReducer=dS,i.issueTypeFieldsAttachmentSlice=on,i.issueTypeFieldsReducer=WS,i.issueTypeFieldsSlice=mn,i.issueTypeIdentifierReducer=lA,i.issueTypeIdentifierSlice=Tn,i.issueTypeIdentifierValueReducer=FA,i.issueTypeIdentifierValueSlice=In,i.issueTypeReducer=qA,i.issueTypeSlice=On,i.issueTypeStatusReducer=JA,i.issueTypeStatusSlice=gn,i.issueTypeStatusSortFn=xa,i.issueUpdateReducer=cT,i.issueUpdateSlice=bn,i.logOnlyOnce=LP,i.markAsDeleted=JT,i.markForDeletion=wb,i.memoize=hs,i.organizationAccessReducer=MT,i.organizationAccessSlice=Dn,i.organizationReducer=HT,i.organizationSlice=jn,i.outboxReducer=XT,i.outboxSlice=$n,i.overmapEnhancer=aM,i.overmapReducer=Qb,i.overmapReducers=Yg,i.performRequest=ba,i.performRequestFromAction=aP,i.projectAccessReducer=lw,i.projectAccessSlice=Cn,i.projectAttachmentReducer=Pw,i.projectAttachmentSlice=Ln,i.projectFileReducer=$w,i.projectFileSlice=Gn,i.projectReducer=Qw,i.projectSlice=Hn,i.rehydratedReducer=tI,i.rehydratedSlice=Kn,i.restructureSelectorWithArgs=S,i.runMiddleware=SP,i.selectAccessToken=D_,i.selectAccessesByUserOfProject=Ob,i.selectAccessibleProjects=Pb,i.selectActiveOrganizationAccess=fb,i.selectAllDocumentAttachments=wi,i.selectAssetAttachmentById=Sc,i.selectAssetAttachmentMapping=fc,i.selectAssetAttachments=ws,i.selectAssetAttachmentsByIds=Ac,i.selectAssetById=Vl,i.selectAssetProcedureById=Kr,i.selectAssetProcedureStepById=wl,i.selectAssetProcedureStepFieldValues=Pt,i.selectAssetProcedureStepFieldValuesAttachmentById=Gd,i.selectAssetProcedureStepFieldValuesAttachments=Ls,i.selectAssetProcedureStepFieldValuesAttachmentsByIds=Hd,i.selectAssetProcedureStepFieldValuesAttachmentsMapping=Nd,i.selectAssetProcedureStepFieldValuesById=cl,i.selectAssetProcedureStepFieldValuesByIds=rl,i.selectAssetProcedureStepFieldValuesMapping=al,i.selectAssetProcedureStepFieldValuesOfAsset=A_,i.selectAssetProcedureStepFieldValuesOfAssetProcedure=T_,i.selectAssetProcedureStepFieldValuesOfAssetProcedureStep=w_,i.selectAssetProcedureStepFields=qt,i.selectAssetProcedureStepFieldsAttachmentById=wd,i.selectAssetProcedureStepFieldsAttachments=qs,i.selectAssetProcedureStepFieldsAttachmentsByIds=Id,i.selectAssetProcedureStepFieldsAttachmentsMapping=Td,i.selectAssetProcedureStepFieldsById=Vd,i.selectAssetProcedureStepFieldsByIds=Bd,i.selectAssetProcedureStepFieldsMapping=js,i.selectAssetProcedureStepFieldsOfAssetProcedureStep=y_,i.selectAssetProcedureStepMapping=Dt,i.selectAssetProcedureSteps=Hs,i.selectAssetProcedureStepsByIds=Il,i.selectAssetProcedureStepsMappingOfAssetProcedureType=I_,i.selectAssetProcedureStepsOfAssetProcedureType=O_,i.selectAssetProcedureTypeAttachmentById=Vc,i.selectAssetProcedureTypeAttachmentMapping=vc,i.selectAssetProcedureTypeAttachments=Os,i.selectAssetProcedureTypeAttachmentsByIds=Bc,i.selectAssetProcedureTypeById=rd,i.selectAssetProcedureTypeFieldValues=zt,i.selectAssetProcedureTypeFieldValuesAttachmentById=Tr,i.selectAssetProcedureTypeFieldValuesAttachments=Rs,i.selectAssetProcedureTypeFieldValuesAttachmentsByIds=wr,i.selectAssetProcedureTypeFieldValuesAttachmentsMapping=Ar,i.selectAssetProcedureTypeFieldValuesById=Br,i.selectAssetProcedureTypeFieldValuesByIds=zr,i.selectAssetProcedureTypeFieldValuesMapping=Vr,i.selectAssetProcedureTypeFieldValuesOfAsset=u_,i.selectAssetProcedureTypeFields=Bt,i.selectAssetProcedureTypeFieldsAttachmentById=Kc,i.selectAssetProcedureTypeFieldsAttachments=gs,i.selectAssetProcedureTypeFieldsAttachmentsByIds=Yc,i.selectAssetProcedureTypeFieldsAttachmentsMapping=Hc,i.selectAssetProcedureTypeFieldsById=rr,i.selectAssetProcedureTypeFieldsByIds=dr,i.selectAssetProcedureTypeFieldsMapping=cr,i.selectAssetProcedureTypeFieldsOfAssetProcedureType=d_,i.selectAssetProcedureTypes=zs,i.selectAssetProcedureTypesByIds=dd,i.selectAssetProcedureTypesMapping=cd,i.selectAssetProcedureTypesOfOrganization=p_,i.selectAssetProcedures=Wt,i.selectAssetProceduresByIds=Yr,i.selectAssetProceduresMapping=Gr,i.selectAssetProceduresOfAssetProcedureType=Hr,i.selectAssetProceduresOfAssetType=h_,i.selectAssetStageById=du,i.selectAssetStageCompletionById=Zl,i.selectAssetStageCompletionMapping=Kl,i.selectAssetStageCompletions=Yl,i.selectAssetStageCompletionsByIds=Jl,i.selectAssetStages=xs,i.selectAssetStagesByIds=lu,i.selectAssetStagesMappingOfAssetProcedureType=g_,i.selectAssetStagesOfAssetProcedureType=P_,i.selectAssetTypeAttachmentById=Tu,i.selectAssetTypeAttachmentMapping=Au,i.selectAssetTypeAttachments=ii,i.selectAssetTypeAttachmentsByIds=wu,i.selectAssetTypeById=uh,i.selectAssetTypeFieldValues=$t,i.selectAssetTypeFieldValuesAttachmentById=co,i.selectAssetTypeFieldValuesAttachments=ui,i.selectAssetTypeFieldValuesAttachmentsByIds=ro,i.selectAssetTypeFieldValuesAttachmentsMapping=ao,i.selectAssetTypeFieldValuesById=Oo,i.selectAssetTypeFieldValuesByIds=Fo,i.selectAssetTypeFieldValuesMapping=Io,i.selectAssetTypeFieldValuesOfAsset=R_,i.selectAssetTypeFields=_t,i.selectAssetTypeFieldsAttachmentById=Bu,i.selectAssetTypeFieldsAttachments=ai,i.selectAssetTypeFieldsAttachmentsByIds=zu,i.selectAssetTypeFieldsAttachmentsMapping=Vu,i.selectAssetTypeFieldsById=Yu,i.selectAssetTypeFieldsByIds=Zu,i.selectAssetTypeFieldsMapping=Ku,i.selectAssetTypeFieldsOfAssetType=b_,i.selectAssetTypeIdentifierById=Wo,i.selectAssetTypeIdentifierMapping=zo,i.selectAssetTypeIdentifierValueById=Jo,i.selectAssetTypeIdentifierValueMapping=Zo,i.selectAssetTypeIdentifierValues=Ct,i.selectAssetTypeIdentifierValuesByIds=Qo,i.selectAssetTypeIdentifierValuesOfAsset=v_,i.selectAssetTypeIdentifierValuesOfIdentifier=V_,i.selectAssetTypeIdentifiers=pi,i.selectAssetTypeIdentifiersByIds=qo,i.selectAssetTypeIdentifiersOfAssetType=k_,i.selectAssetTypeStatusById=gh,i.selectAssetTypeStatusMapping=Fh,i.selectAssetTypeStatuses=Ai,i.selectAssetTypeStatusesByIds=Ph,i.selectAssetTypeStatusesOfAssetType=z_,i.selectAssetTypeValuesOfAssetType=E_,i.selectAssetTypes=fi,i.selectAssetTypesByIds=oh,i.selectAssetTypesMapping=lh,i.selectAssetTypesOfOrganization=B_,i.selectAssets=jt,i.selectAssetsByIds=Bl,i.selectAssetsMapping=kl,i.selectAssetsOfAssetType=vl,i.selectAssetsOfProject=F_,i.selectAttachmentsOfAsset=Tc,i.selectAttachmentsOfAssetProcedureStepFieldValues=Kd,i.selectAttachmentsOfAssetProcedureStepFields=m_,i.selectAttachmentsOfAssetProcedureType=c_,i.selectAttachmentsOfAssetProcedureTypeFieldValues=Ir,i.selectAttachmentsOfAssetProcedureTypeFields=r_,i.selectAttachmentsOfAssetType=Iu,i.selectAttachmentsOfAssetTypeFieldValues=lo,i.selectAttachmentsOfAssetTypeFields=__,i.selectAttachmentsOfDocument=$_,i.selectAttachmentsOfFormRevision=J_,i.selectAttachmentsOfFormSubmission=Lm,i.selectAttachmentsOfIssue=Ny,i.selectAttachmentsOfIssueComment=eb,i.selectAttachmentsOfIssueType=ib,i.selectAttachmentsOfIssueTypeFieldValues=YS,i.selectAttachmentsOfIssueTypeFields=nb,i.selectAttachmentsOfProject=gb,i.selectAttachmentsOfWorkflowStepFieldValues=AF,i.selectAttachmentsOfWorkflowStepFields=LO,i.selectCommentsOfIssue=tb,i.selectConversation=a_,i.selectConversationMapping=fs,i.selectConversations=n_,i.selectCurrentUser=fT,i.selectDeletedRequests=Ab,i.selectDescendantsOfAssetProcedureStep=Ol,i.selectDescendantsOfDocument=ip,i.selectDocumentAttachmentById=Ch,i.selectDocumentAttachmentMapping=$h,i.selectDocumentAttachmentsByIds=Uh,i.selectDocumentById=tp,i.selectDocuments=Lt,i.selectDocumentsByIds=sp,i.selectDocumentsMapping=Oi,i.selectEmailDomainById=yp,i.selectEmailDomains=gi,i.selectEmailDomainsAsMapping=mp,i.selectEmailDomainsByIds=fp,i.selectEmailDomainsOfOrganization=L_,i.selectFieldValuesOfAssetProcedure=o_,i.selectFormById=km,i.selectFormIdentifierById=vp,i.selectFormIdentifierMapping=kp,i.selectFormIdentifierValueById=Hp,i.selectFormIdentifierValueMapping=Gp,i.selectFormIdentifierValues=Nt,i.selectFormIdentifierValuesByIds=Kp,i.selectFormIdentifierValuesOfFormSubmission=Y_,i.selectFormIdentifierValuesOfIdentifier=Z_,i.selectFormIdentifiers=bi,i.selectFormIdentifiersByIds=Vp,i.selectFormIdentifiersOfForm=K_,i.selectFormMapping=Em,i.selectFormRevisionAttachmentById=cm,i.selectFormRevisionAttachments=am,i.selectFormRevisionAttachmentsByIds=rm,i.selectFormRevisionAttachmentsMapping=Gt,i.selectFormRevisionById=ym,i.selectFormRevisionMapping=zi,i.selectFormRevisions=Ht,i.selectFormRevisionsByIds=fm,i.selectFormRevisionsOfForm=Sm,i.selectFormSubmissionAttachemntsByIds=Li,i.selectFormSubmissionAttachmentById=Cm,i.selectFormSubmissionAttachments=Ui,i.selectFormSubmissionAttachmentsByIds=Um,i.selectFormSubmissionAttachmentsMapping=Ci,i.selectFormSubmissionById=ey,i.selectFormSubmissions=xm,i.selectFormSubmissionsByIds=ty,i.selectFormSubmissionsMapping=Ki,i.selectFormSubmissionsOfForm=sy,i.selectForms=qi,i.selectFormsByIds=vm,i.selectFormsOfOrganization=X_,i.selectGeoImageById=yy,i.selectGeoImageMapping=my,i.selectGeoImages=Zi,i.selectGeoImagesByIds=fy,i.selectGeoImagesOfProject=x_,i.selectIsLoggedIn=j_,i.selectIssueAssociationById=by,i.selectIssueAssociationMapping=_y,i.selectIssueAssociations=yt,i.selectIssueAssociationsByIds=My,i.selectIssueAssociationsOfAsset=Vy,i.selectIssueAssociationsOfIssue=vy,i.selectIssueAssociationsOfIssues=ky,i.selectIssueAssociationsToIssue=Ry,i.selectIssueAssociationsToIssues=Ey,i.selectIssueAttachmentById=Gy,i.selectIssueAttachmentMapping=Ly,i.selectIssueAttachments=en,i.selectIssueAttachmentsByIds=Hy,i.selectIssueById=kf,i.selectIssueCommentAttachmentById=cf,i.selectIssueCommentAttachmentMapping=af,i.selectIssueCommentAttachments=sn,i.selectIssueCommentAttachmentsByIds=rf,i.selectIssueCommentById=Tf,i.selectIssueCommentMapping=an,i.selectIssueCommentsByIds=wf,i.selectIssueMapping=Ef,i.selectIssueTypeAttachmentById=Hf,i.selectIssueTypeAttachmentMapping=Gf,i.selectIssueTypeAttachments=un,i.selectIssueTypeAttachmentsByIds=Kf,i.selectIssueTypeById=zA,i.selectIssueTypeFieldValues=Yt,i.selectIssueTypeFieldValuesAttachmentById=HS,i.selectIssueTypeFieldValuesAttachments=An,i.selectIssueTypeFieldValuesAttachmentsByIds=KS,i.selectIssueTypeFieldValuesAttachmentsMapping=GS,i.selectIssueTypeFieldValuesById=wS,i.selectIssueTypeFieldValuesByIds=IS,i.selectIssueTypeFieldValuesMapping=TS,i.selectIssueTypeFieldValuesOfIssue=ab,i.selectIssueTypeFields=bt,i.selectIssueTypeFieldsAttachmentById=cS,i.selectIssueTypeFieldsAttachments=hn,i.selectIssueTypeFieldsAttachmentsByIds=rS,i.selectIssueTypeFieldsAttachmentsMapping=aS,i.selectIssueTypeFieldsById=BS,i.selectIssueTypeFieldsByIds=zS,i.selectIssueTypeFieldsMapping=VS,i.selectIssueTypeFieldsOfIssueType=cb,i.selectIssueTypeIdentifierById=rA,i.selectIssueTypeIdentifierMapping=cA,i.selectIssueTypeIdentifierValueById=IA,i.selectIssueTypeIdentifierValueMapping=wA,i.selectIssueTypeIdentifierValues=Zt,i.selectIssueTypeIdentifierValuesByIds=OA,i.selectIssueTypeIdentifierValuesOfIdentifier=ob,i.selectIssueTypeIdentifierValuesOfIssue=ub,i.selectIssueTypeIdentifiers=wn,i.selectIssueTypeIdentifiersByIds=dA,i.selectIssueTypeIdentifiersOfIssueType=lb,i.selectIssueTypeMapping=BA,i.selectIssueTypeStatusById=_n,i.selectIssueTypeStatusMapping=YA,i.selectIssueTypeStatuses=Pn,i.selectIssueTypeStatusesByIds=ZA,i.selectIssueTypeStatusesOfIssueType=pb,i.selectIssueTypeValuesOfIssueType=db,i.selectIssueTypes=Fn,i.selectIssueTypesByIds=WA,i.selectIssueTypesOfOrganization=hb,i.selectIssueUpdateById=iT,i.selectIssueUpdateMapping=vn,i.selectIssueUpdates=Vn,i.selectIssueUpdatesByIds=nT,i.selectIssueUpdatesOfIssue=aT,i.selectIssues=Kt,i.selectIssuesByIds=vf,i.selectIssuesOfIssueType=Vf,i.selectIssuesOfProject=sb,i.selectLatestAssetProcedureStepFieldsOfAssetProcedureStep=f_,i.selectLatestAssetProcedureTypeFieldsOfAssetProcedureType=l_,i.selectLatestAssetTypeFieldsOfAssetType=M_,i.selectLatestFieldsByAssetProcedureStep=S_,i.selectLatestFormRevisionOfForm=Q_,i.selectLatestIssueTypeFieldsOfIssueType=rb,i.selectLatestRetryTime=Tb,i.selectLatestWorkflowStepFieldsOfWorkflowStep=Lb,i.selectMembershipsByUserOfTeam=Eb,i.selectOrganizationAccessById=RT,i.selectOrganizationAccessMapping=Xt,i.selectOrganizationAccessUserMapping=kT,i.selectOrganizationAccessesByIds=ET,i.selectOrganizationById=NT,i.selectOrganizationDocuments=U_,i.selectOrganizations=LT,i.selectOrganizationsByIds=GT,i.selectOrganizationsMapping=UT,i.selectProjectAccessById=uw,i.selectProjectAccessMapping=Un,i.selectProjectAccesses=Mt,i.selectProjectAccessesByIds=ow,i.selectProjectAccessesOfProject=Ib,i.selectProjectAttachmentById=Fw,i.selectProjectAttachmentMapping=Ow,i.selectProjectAttachments=Nn,i.selectProjectAttachmentsByIds=gw,i.selectProjectById=xw,i.selectProjectDocuments=C_,i.selectProjectFileById=Dw,i.selectProjectFileMapping=Ww,i.selectProjectFiles=qw,i.selectProjectFilesByIds=jw,i.selectProjectMapping=Xw,i.selectProjects=xt,i.selectProjectsByIds=eI,i.selectProjectsOfOrganization=_b,i.selectRehydrated=Rb,i.selectReviewRequestsOfWorkflowStepFieldValues=kF,i.selectReviewsOfWorkflowStepFieldValues=NF,i.selectStageMapping=Xs,i.selectTeamById=bI,i.selectTeamMembershipById=mI,i.selectTeamMemberships=es,i.selectTeamMembershipsByIds=yI,i.selectTeamMembershipsMapping=pI,i.selectTeams=Jn,i.selectTeamsByIds=MI,i.selectTeamsMapping=_I,i.selectTeamsOfOrganization=vb,i.selectUploadUrl=H_,i.selectUserById=Qt,i.selectUsers=Jt,i.selectUsersByIds=ST,i.selectUsersMapping=qn,i.selectUsersOfOrganization=Sb,i.selectUsersOfProject=Fb,i.selectUsersOfTeam=kb,i.selectWorkflowById=LI,i.selectWorkflowMapping=UI,i.selectWorkflowStepAssigneeById=iO,i.selectWorkflowStepAssignees=ss,i.selectWorkflowStepAssigneesByIds=nO,i.selectWorkflowStepAssigneesMapping=sO,i.selectWorkflowStepAssigneesOfWorkflow=Wb,i.selectWorkflowStepAssigneesOfWorkflowStep=qb,i.selectWorkflowStepById=kg,i.selectWorkflowStepCommentById=SO,i.selectWorkflowStepComments=is,i.selectWorkflowStepCommentsByIds=AO,i.selectWorkflowStepCommentsMapping=fO,i.selectWorkflowStepCommentsOfWorkflow=Db,i.selectWorkflowStepCommentsOfWorkflowStep=jb,i.selectWorkflowStepEventById=kO,i.selectWorkflowStepEvents=ns,i.selectWorkflowStepEventsByIds=vO,i.selectWorkflowStepEventsMapping=EO,i.selectWorkflowStepEventsOfWorkflow=$b,i.selectWorkflowStepEventsOfWorkflowStep=Cb,i.selectWorkflowStepFieldValues=cs,i.selectWorkflowStepFieldValuesAttachmentById=fF,i.selectWorkflowStepFieldValuesAttachments=la,i.selectWorkflowStepFieldValuesAttachmentsByIds=SF,i.selectWorkflowStepFieldValuesAttachmentsMapping=yF,i.selectWorkflowStepFieldValuesById=ig,i.selectWorkflowStepFieldValuesByIds=ng,i.selectWorkflowStepFieldValuesMapping=sg,i.selectWorkflowStepFieldValuesOfWorkflow=Nb,i.selectWorkflowStepFieldValuesOfWorkflowStep=Gb,i.selectWorkflowStepFieldValuesReviewById=UF,i.selectWorkflowStepFieldValuesReviewRequestById=RF,i.selectWorkflowStepFieldValuesReviewRequests=pa,i.selectWorkflowStepFieldValuesReviewRequestsByIds=EF,i.selectWorkflowStepFieldValuesReviewRequestsMapping=MF,i.selectWorkflowStepFieldValuesReviews=Sa,i.selectWorkflowStepFieldValuesReviewsByIds=LF,i.selectWorkflowStepFieldValuesReviewsMapping=CF,i.selectWorkflowStepFields=as,i.selectWorkflowStepFieldsAttachmentById=NO,i.selectWorkflowStepFieldsAttachments=na,i.selectWorkflowStepFieldsAttachmentsByIds=GO,i.selectWorkflowStepFieldsAttachmentsMapping=UO,i.selectWorkflowStepFieldsById=nF,i.selectWorkflowStepFieldsByIds=aF,i.selectWorkflowStepFieldsMapping=iF,i.selectWorkflowStepFieldsOfWorkflowStep=Ub,i.selectWorkflowStepReviewerById=Sg,i.selectWorkflowStepReviewers=rs,i.selectWorkflowStepReviewersByIds=Ag,i.selectWorkflowStepReviewersMapping=fg,i.selectWorkflowStepReviewersOfWorkflow=Hb,i.selectWorkflowStepReviewersOfWorkflowStep=Kb,i.selectWorkflowSteps=Ia,i.selectWorkflowStepsByIds=vg,i.selectWorkflowStepsMapping=Eg,i.selectWorkflowStepsOfWorkflowType=Yb,i.selectWorkflowTypeById=Gg,i.selectWorkflowTypeMapping=Ng,i.selectWorkflowTypes=Fa,i.selectWorkflowTypesByIds=Hg,i.selectWorkflowTypesOfOrganization=Zb,i.selectWorkflows=ts,i.selectWorkflowsByIds=NI,i.selectWorkflowsOfProject=Bb,i.selectWorkflowsOfWorkflowType=zb,i.setAsset=Rl,i.setAssetAttachment=oc,i.setAssetAttachments=hc,i.setAssetProcedure=Ur,i.setAssetProcedureStep=ol,i.setAssetProcedureStepFieldValues=xd,i.setAssetProcedureStepFieldValuesAttachment=jd,i.setAssetProcedureStepFieldValuesAttachments=$d,i.setAssetProcedureStepFieldValuesMany=el,i.setAssetProcedureStepFields=bd,i.setAssetProcedureStepFieldsAttachment=pd,i.setAssetProcedureStepFieldsAttachments=md,i.setAssetProcedureStepFieldsMany=Md,i.setAssetProcedureSteps=hl,i.setAssetProcedureType=id,i.setAssetProcedureTypeAttachment=Pc,i.setAssetProcedureTypeAttachments=_c,i.setAssetProcedureTypeFieldValues=_r,i.setAssetProcedureTypeFieldValuesAttachment=hr,i.setAssetProcedureTypeFieldValuesAttachments=pr,i.setAssetProcedureTypeFieldValuesMany=br,i.setAssetProcedureTypeFields=xc,i.setAssetProcedureTypeFieldsAttachment=jc,i.setAssetProcedureTypeFieldsAttachments=$c,i.setAssetProcedureTypeFieldsMany=er,i.setAssetProcedureTypes=nd,i.setAssetProcedures=Lr,i.setAssetStage=xl,i.setAssetStageCompletion=$l,i.setAssetStageCompletions=Cl,i.setAssetStages=eu,i.setAssetType=th,i.setAssetTypeAttachment=pu,i.setAssetTypeAttachments=mu,i.setAssetTypeFieldValues=yo,i.setAssetTypeFieldValuesAttachment=eo,i.setAssetTypeFieldValuesAttachments=to,i.setAssetTypeFieldValuesMany=fo,i.setAssetTypeFields=Cu,i.setAssetTypeFieldsAttachment=bu,i.setAssetTypeFieldsAttachments=Mu,i.setAssetTypeFieldsMany=Uu,i.setAssetTypeIdentifier=Ro,i.setAssetTypeIdentifierValue=Lo,i.setAssetTypeIdentifierValues=No,i.setAssetTypeIdentifiers=Eo,i.setAssetTypeStatus=Sh,i.setAssetTypeStatuses=Ah,i.setAssetTypes=sh,i.setAssets=El,i.setClientSDK=hP,i.setClientStore=uP,i.setConversation=ac,i.setConversations=e_,i.setCurrentUser=mb,i.setCurrentUserProfile=yb,i.setDocument=Yh,i.setDocumentAttachment=Bh,i.setDocumentAttachments=zh,i.setDocuments=Zh,i.setEmailDomain=dp,i.setEmailDomains=lp,i.setForm=Fm,i.setFormIdentifier=Pp,i.setFormIdentifierValue=jp,i.setFormIdentifierValues=$p,i.setFormIdentifiers=_p,i.setFormRevision=om,i.setFormRevisionAttachment=xp,i.setFormRevisionAttachments=em,i.setFormRevisions=hm,i.setFormSubmission=Km,i.setFormSubmissionAttachment=Wm,i.setFormSubmissionAttachments=qm,i.setFormSubmissions=Ym,i.setForms=gm,i.setGeoImage=cy,i.setGeoImages=ry,i.setIssue=Pf,i.setIssueAssociation=Iy,i.setIssueAssociations=wy,i.setIssueAttachment=Dy,i.setIssueAttachments=jy,i.setIssueComment=pf,i.setIssueCommentAttachment=Xy,i.setIssueCommentAttachments=xy,i.setIssueComments=mf,i.setIssueType=MA,i.setIssueTypeAttachment=jf,i.setIssueTypeAttachments=$f,i.setIssueTypeFieldValues=pS,i.setIssueTypeFieldValuesAttachment=$S,i.setIssueTypeFieldValuesAttachments=CS,i.setIssueTypeFieldValuesMany=mS,i.setIssueTypeFields=bS,i.setIssueTypeFieldsAttachment=xf,i.setIssueTypeFieldsAttachments=eS,i.setIssueTypeFieldsMany=MS,i.setIssueTypeIdentifier=eA,i.setIssueTypeIdentifierValue=mA,i.setIssueTypeIdentifierValues=yA,i.setIssueTypeIdentifiers=tA,i.setIssueTypeStatus=UA,i.setIssueTypeStatuses=LA,i.setIssueTypes=RA,i.setIssueUpdate=xA,i.setIssueUpdates=eT,i.setIssues=_f,i.setLoggedIn=Mh,i.setOrganization=zT,i.setOrganizationAccess=OT,i.setOrganizationAccesses=FT,i.setOrganizations=BT,i.setProject=Nw,i.setProjectAccess=iw,i.setProjectAccesses=nw,i.setProjectAttachment=fw,i.setProjectAttachments=Sw,i.setProjectFile=Mw,i.setProjectFiles=Rw,i.setProjects=Lw,i.setRehydrated=Mb,i.setTeam=wI,i.setTeamMembership=cI,i.setTeamMemberships=rI,i.setTeams=II,i.setTokens=W_,i.setUploadUrl=G_,i.setUser=uT,i.setUsers=lT,i.setWorkflow=WI,i.setWorkflowStep=gg,i.setWorkflowStepAssignee=JI,i.setWorkflowStepAssignees=QI,i.setWorkflowStepComment=uO,i.setWorkflowStepComments=oO,i.setWorkflowStepEvent=gO,i.setWorkflowStepEvents=PO,i.setWorkflowStepFieldValues=JF,i.setWorkflowStepFieldValuesAttachment=uF,i.setWorkflowStepFieldValuesAttachments=oF,i.setWorkflowStepFieldValuesMany=QF,i.setWorkflowStepFieldValuesReview=WF,i.setWorkflowStepFieldValuesReviewRequest=FF,i.setWorkflowStepFieldValuesReviewRequests=gF,i.setWorkflowStepFieldValuesReviews=qF,i.setWorkflowStepFields=QO,i.setWorkflowStepFieldsAttachment=qO,i.setWorkflowStepFieldsAttachments=DO,i.setWorkflowStepFieldsMany=XO,i.setWorkflowStepReviewer=ug,i.setWorkflowStepReviewers=og,i.setWorkflowSteps=Pg,i.setWorkflowType=Dg,i.setWorkflowTypes=jg,i.setWorkflows=qI,i.shallowEqual=vP,i.slugify=KP,i.spacesToDashesLower=HP,i.teamMembershipReducer=hI,i.teamMembershipSlice=Yn,i.teamReducer=RI,i.teamSlice=Zn,i.toFileNameSafeString=GP,i.toUuidArray=V,i.toUuidIdRecord=NP,i.truncate=YP,i.updateAsset=_l,i.updateAssetAttachment=pc,i.updateAssetAttachments=mc,i.updateAssetProcedure=jr,i.updateAssetProcedureStep=yl,i.updateAssetProcedureStepFieldValues=tl,i.updateAssetProcedureStepFieldValuesAttachment=Cd,i.updateAssetProcedureStepFieldValuesAttachments=Ud,i.updateAssetProcedureStepFieldValuesMany=sl,i.updateAssetProcedureStepFields=Rd,i.updateAssetProcedureStepFieldsAttachment=yd,i.updateAssetProcedureStepFieldsAttachments=fd,i.updateAssetProcedureStepFieldsMany=Ed,i.updateAssetProcedureSteps=fl,i.updateAssetProcedureType=xr,i.updateAssetProcedureTypeAttachment=bc,i.updateAssetProcedureTypeAttachments=Mc,i.updateAssetProcedureTypeFieldValues=Mr,i.updateAssetProcedureTypeFieldValuesAttachment=mr,i.updateAssetProcedureTypeFieldValuesAttachments=yr,i.updateAssetProcedureTypeFieldValuesMany=Rr,i.updateAssetProcedureTypeFields=tr,i.updateAssetProcedureTypeFieldsAttachment=Cc,i.updateAssetProcedureTypeFieldsAttachments=Uc,i.updateAssetProcedureTypeFieldsMany=sr,i.updateAssetProcedureTypes=ed,i.updateAssetProcedures=$r,i.updateAssetStage=iu,i.updateAssetStageCompletion=Ul,i.updateAssetStageCompletions=Ll,i.updateAssetStages=nu,i.updateAssetType=ah,i.updateAssetTypeAttachment=yu,i.updateAssetTypeAttachments=fu,i.updateAssetTypeFieldValues=So,i.updateAssetTypeFieldValuesAttachment=so,i.updateAssetTypeFieldValuesAttachments=io,i.updateAssetTypeFieldValuesMany=Ao,i.updateAssetTypeFields=Lu,i.updateAssetTypeFieldsAttachment=Ru,i.updateAssetTypeFieldsAttachments=Eu,i.updateAssetTypeFieldsMany=Nu,i.updateAssetTypeIdentifier=ko,i.updateAssetTypeIdentifierValue=Go,i.updateAssetTypeIdentifierValues=Ho,i.updateAssetTypeIdentifiers=vo,i.updateAssetTypeStatus=Th,i.updateAssetTypeStatuses=wh,i.updateAssetTypes=ch,i.updateAssets=bl,i.updateConversation=cc,i.updateConversations=t_,i.updateDocument=Jh,i.updateDocumentAttachment=Wh,i.updateDocumentAttachments=qh,i.updateDocuments=Qh,i.updateEmailDomain=up,i.updateEmailDomains=op,i.updateForm=Pm,i.updateFormIdentifier=bp,i.updateFormIdentifierValue=Cp,i.updateFormIdentifierValues=Up,i.updateFormIdentifiers=Mp,i.updateFormRevision=pm,i.updateFormRevisionAttachment=tm,i.updateFormRevisionAttachments=sm,i.updateFormRevisions=mm,i.updateFormSubmission=Jm,i.updateFormSubmissionAttachment=Dm,i.updateFormSubmissionAttachments=jm,i.updateFormSubmissions=Qm,i.updateForms=_m,i.updateGeoImage=uy,i.updateGeoImages=oy,i.updateIssue=bf,i.updateIssueAssociation=Oy,i.updateIssueAssociations=Fy,i.updateIssueAttachment=$y,i.updateIssueAttachments=Cy,i.updateIssueComment=yf,i.updateIssueCommentAttachment=ef,i.updateIssueCommentAttachments=tf,i.updateIssueComments=ff,i.updateIssueType=EA,i.updateIssueTypeAttachment=Cf,i.updateIssueTypeAttachments=Uf,i.updateIssueTypeFieldValues=yS,i.updateIssueTypeFieldValuesAttachment=US,i.updateIssueTypeFieldValuesAttachments=LS,i.updateIssueTypeFieldValuesMany=fS,i.updateIssueTypeFields=RS,i.updateIssueTypeFieldsAttachment=tS,i.updateIssueTypeFieldsAttachments=sS,i.updateIssueTypeFieldsMany=ES,i.updateIssueTypeIdentifier=sA,i.updateIssueTypeIdentifierValue=fA,i.updateIssueTypeIdentifierValues=SA,i.updateIssueTypeIdentifiers=iA,i.updateIssueTypeStatus=NA,i.updateIssueTypeStatuses=GA,i.updateIssueTypes=kA,i.updateIssueUpdate=tT,i.updateIssueUpdates=sT,i.updateIssues=Mf,i.updateOrganization=jT,i.updateOrganizationAccess=gT,i.updateOrganizationAccesses=PT,i.updateOrganizations=DT,i.updateProject=Yw,i.updateProjectAccess=aw,i.updateProjectAccesses=cw,i.updateProjectAttachment=Aw,i.updateProjectAttachments=Tw,i.updateProjectFile=vw,i.updateProjectFiles=Vw,i.updateProjects=Kw,i.updateTeam=OI,i.updateTeamMembership=dI,i.updateTeamMemberships=lI,i.updateTeams=FI,i.updateUser=pT,i.updateUsers=hT,i.updateWorkflow=DI,i.updateWorkflowStep=_g,i.updateWorkflowStepAssignee=XI,i.updateWorkflowStepAssignees=xI,i.updateWorkflowStepComment=hO,i.updateWorkflowStepComments=pO,i.updateWorkflowStepEvent=_O,i.updateWorkflowStepEvents=bO,i.updateWorkflowStepFieldValues=XF,i.updateWorkflowStepFieldValuesAttachment=hF,i.updateWorkflowStepFieldValuesAttachments=pF,i.updateWorkflowStepFieldValuesMany=xF,i.updateWorkflowStepFieldValuesReview=DF,i.updateWorkflowStepFieldValuesReviewRequest=PF,i.updateWorkflowStepFieldValuesReviewRequests=_F,i.updateWorkflowStepFieldValuesReviews=jF,i.updateWorkflowStepFields=xO,i.updateWorkflowStepFieldsAttachment=jO,i.updateWorkflowStepFieldsAttachments=$O,i.updateWorkflowStepFieldsMany=eF,i.updateWorkflowStepReviewer=hg,i.updateWorkflowStepReviewers=pg,i.updateWorkflowSteps=bg,i.updateWorkflowType=$g,i.updateWorkflowTypes=Cg,i.updateWorkflows=jI,i.useSelectorBuilder=kP,i.userReducer=yT,i.userSlice=Bn,i.uuidObj=O,i.uuidObjSortFn=ms,i.uuidSortFn=Vt,i.versioningReducer=kI,i.versioningSlice=EI,i.workflowReducer=GI,i.workflowSlice=Qn,i.workflowStepAssigneeReducer=aO,i.workflowStepAssigneeSlice=Xn,i.workflowStepCommentReducer=TO,i.workflowStepCommentSlice=xn,i.workflowStepEventReducer=VO,i.workflowStepEventSlice=ea,i.workflowStepFieldValuesAttachmentReducer=TF,i.workflowStepFieldValuesAttachmentSlice=ca,i.workflowStepFieldValuesReducer=ag,i.workflowStepFieldValuesReviewReducer=GF,i.workflowStepFieldValuesReviewRequestReducer=vF,i.workflowStepFieldValuesReviewRequestSlice=ua,i.workflowStepFieldValuesReviewSlice=ma,i.workflowStepFieldValuesSlice=Aa,i.workflowStepFieldsAttachmentReducer=HO,i.workflowStepFieldsAttachmentSlice=ta,i.workflowStepFieldsReducer=cF,i.workflowStepFieldsSlice=aa,i.workflowStepReducer=Vg,i.workflowStepReviewerReducer=Tg,i.workflowStepReviewerSlice=Ta,i.workflowStepSlice=wa,i.workflowTypeReducer=Kg,i.workflowTypeSlice=Oa,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
|