@burdenoff/microfe-crewfoundry 2026.1102.2 → 2026.1107.2

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.
Files changed (24) hide show
  1. package/dist/crewfoundry/components/WorkforceForecastCard.d.ts +17 -0
  2. package/dist/crewfoundry/components/WorkforceForecastCard.d.ts.map +1 -0
  3. package/dist/crewfoundry/components/WorkforceForecastCard.js +222 -0
  4. package/dist/crewfoundry/components/WorkforceForecastCard.js.map +1 -0
  5. package/dist/crewfoundry/components/field/DispatchBoardCard.d.ts.map +1 -1
  6. package/dist/crewfoundry/components/field/DispatchBoardCard.js +5 -2
  7. package/dist/crewfoundry/components/field/DispatchBoardCard.js.map +1 -1
  8. package/dist/crewfoundry/components/field/MyDispatchItem.js +2 -2
  9. package/dist/crewfoundry/components/field/MyDispatchItem.js.map +1 -1
  10. package/dist/crewfoundry/components/field/MyShiftItem.d.ts.map +1 -1
  11. package/dist/crewfoundry/components/field/MyShiftItem.js +5 -2
  12. package/dist/crewfoundry/components/field/MyShiftItem.js.map +1 -1
  13. package/dist/crewfoundry/components/field/ShiftsCard.d.ts.map +1 -1
  14. package/dist/crewfoundry/components/field/ShiftsCard.js +5 -2
  15. package/dist/crewfoundry/components/field/ShiftsCard.js.map +1 -1
  16. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.d.ts +3 -1
  17. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.d.ts.map +1 -1
  18. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js +154 -145
  19. package/dist/crewfoundry/pages/DashboardExecutiveDashboardPage.js.map +1 -1
  20. package/dist/crewfoundry/store/crewfoundryStore.d.ts +57 -0
  21. package/dist/crewfoundry/store/crewfoundryStore.d.ts.map +1 -1
  22. package/dist/crewfoundry/store/crewfoundryStore.js +96 -70
  23. package/dist/crewfoundry/store/crewfoundryStore.js.map +1 -1
  24. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { create as e } from "zustand";
2
2
  import { clearGraphqlFetchResponseCache as t, graphqlFetch as n } from "@burdenoff/fe-libs/shared/graphql";
3
3
  //#region src/crewfoundry/store/crewfoundryStore.ts
4
- var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n employees { id firstName lastName email department position status type salary startDate avatar location managerId phone performanceScore skills terminationDate }\n departments { id name headId headName employeeCount budget location status }\n jobPostings { id title department location type experienceLevel salaryMin salaryMax status applicants postedDate deadline description requirements benefits }\n candidates { id firstName lastName email phone position status appliedDate resumeUrl rating source experience skills currentCompany notes hiredDate }\n interviews { id candidateId candidateName position interviewerName date time type status feedback rating }\n announcements { id title content author authorRole category priority isPinned createdAt viewCount tags }\n teams { id name description leadId leadName members memberCount department status projectCount createdAt }\n projects { id name description status priority startDate endDate progress budget spent teamId teamName managerId managerName tasks completedTasks }\n leaveRequests { id employeeId employeeName department type startDate endDate days status reason approverName }\n timeEntries { id employeeId employeeName date clockIn clockOut totalHours overtime project status billable }\n vendors { id name category contactPerson email phone status contractValue rating }\n clients { id name industry contactPerson email phone status revenue projects since }\n }\n }\n", i = "\n query CrewPayrollRecords {\n crewPayrollRecords { id employeeId employeeName department period grossPay deductions netPay status payDate paymentMethod }\n }\n", a = "\n query CrewfoundryWorkspaceBootstrapWithOverlap(\n $workspaceId: ID!\n $projectPagination: PaginationInput\n $groupFirst: Int\n $conversationFirst: Int\n ) {\n crewfoundryBootstrap {\n employees { id firstName lastName email department position status type salary startDate avatar location managerId phone performanceScore skills terminationDate }\n departments { id name headId headName employeeCount budget location status }\n jobPostings { id title department location type experienceLevel salaryMin salaryMax status applicants postedDate deadline description requirements benefits }\n candidates { id firstName lastName email phone position status appliedDate resumeUrl rating source experience skills currentCompany notes hiredDate }\n interviews { id candidateId candidateName position interviewerName date time type status feedback rating }\n announcements { id title content author authorRole category priority isPinned createdAt viewCount tags }\n teams { id name description leadId leadName members memberCount department status projectCount createdAt }\n projects { id name description status priority startDate endDate progress budget spent teamId teamName managerId managerName tasks completedTasks }\n leaveRequests { id employeeId employeeName department type startDate endDate days status reason approverName }\n timeEntries { id employeeId employeeName date clockIn clockOut totalHours overtime project status billable }\n vendors { id name category contactPerson email phone status contractValue rating }\n clients { id name industry contactPerson email phone status revenue projects since }\n }\n projects(filter: { workspaceId: $workspaceId }, pagination: $projectPagination) {\n items {\n id\n name\n key\n creatorId\n status\n config\n archived\n createdAt\n updatedAt\n }\n }\n groups(first: $groupFirst) {\n edges {\n node {\n id\n name\n description\n groupType\n status\n memberCount\n ownerId\n createdAt\n }\n }\n }\n conversations(first: $conversationFirst) {\n edges {\n node {\n id\n title\n description\n state\n unreadCount\n memberCount\n updatedAt\n }\n }\n }\n }\n", o = "mutation CreateCrewEmployee($input: CreateCrewEmployeeInput!) { createCrewEmployee(input: $input) { id firstName lastName email department position status type salary startDate avatar location managerId phone performanceScore skills terminationDate } }", s = "mutation UpdateCrewEmployee($id: ID!, $input: UpdateCrewEmployeeInput!) { updateCrewEmployee(id: $id, input: $input) { id firstName lastName email department position status type salary startDate avatar location managerId phone performanceScore skills terminationDate } }", c = "mutation RemoveCrewEmployee($id: ID!) { removeCrewEmployee(id: $id) }", l = "mutation CreateCrewJobPosting($input: CreateCrewJobPostingInput!) { createCrewJobPosting(input: $input) { id title department location type experienceLevel salaryMin salaryMax status applicants postedDate deadline description requirements benefits } }", u = "mutation UpdateCrewJobPosting($id: ID!, $input: UpdateCrewJobPostingInput!) { updateCrewJobPosting(id: $id, input: $input) { id title department location type experienceLevel salaryMin salaryMax status applicants postedDate deadline description requirements benefits } }", d = "mutation CreateCrewCandidate($input: CreateCrewCandidateInput!) { createCrewCandidate(input: $input) { id firstName lastName email phone position status appliedDate resumeUrl rating source experience skills currentCompany notes hiredDate } }", f = "mutation UpdateCrewCandidate($id: ID!, $input: UpdateCrewCandidateInput!) { updateCrewCandidate(id: $id, input: $input) { id firstName lastName email phone position status appliedDate resumeUrl rating source experience skills currentCompany notes hiredDate } }", p = "mutation CreateCrewAnnouncement($input: CreateCrewAnnouncementInput!) { createCrewAnnouncement(input: $input) { id title content author authorRole category priority isPinned createdAt viewCount tags } }", m = "mutation CreateCrewLeaveRequest($input: CreateCrewLeaveRequestInput!) { createCrewLeaveRequest(input: $input) { id employeeId employeeName department type startDate endDate days status reason approverName } }", h = "mutation UpdateCrewLeaveRequest($id: ID!, $input: UpdateCrewLeaveRequestInput!) { updateCrewLeaveRequest(id: $id, input: $input) { id employeeId employeeName department type startDate endDate days status reason approverName } }", g = "mutation RemoveCrewJobPosting($id: ID!) { removeCrewJobPosting(id: $id) }", _ = "mutation RemoveCrewCandidate($id: ID!) { removeCrewCandidate(id: $id) }", v = "mutation UpdateCrewAnnouncement($id: ID!, $input: UpdateCrewAnnouncementInput!) { updateCrewAnnouncement(id: $id, input: $input) { id title content author authorRole category priority isPinned createdAt viewCount tags } }", y = "mutation RemoveCrewAnnouncement($id: ID!) { removeCrewAnnouncement(id: $id) }", b = "mutation CreateCrewInterview($input: CreateCrewInterviewInput!) { createCrewInterview(input: $input) { id candidateId candidateName position interviewerName date time type status feedback rating } }", x = "mutation UpdateCrewInterview($id: ID!, $input: UpdateCrewInterviewInput!) { updateCrewInterview(id: $id, input: $input) { id candidateId candidateName position interviewerName date time type status feedback rating } }", ee = "mutation RemoveCrewInterview($id: ID!) { removeCrewInterview(id: $id) }", te = "mutation CreateCrewVendor($input: CreateCrewVendorInput!) { createCrewVendor(input: $input) { id name category contactPerson email phone status contractValue rating } }", ne = "mutation UpdateCrewVendor($id: ID!, $input: UpdateCrewVendorInput!) { updateCrewVendor(id: $id, input: $input) { id name category contactPerson email phone status contractValue rating } }", re = "mutation RemoveCrewVendor($id: ID!) { removeCrewVendor(id: $id) }", ie = "mutation CreateCrewClient($input: CreateCrewClientInput!) { createCrewClient(input: $input) { id name industry contactPerson email phone status revenue projects since } }", ae = "mutation UpdateCrewClient($id: ID!, $input: UpdateCrewClientInput!) { updateCrewClient(id: $id, input: $input) { id name industry contactPerson email phone status revenue projects since } }", oe = "mutation RemoveCrewClient($id: ID!) { removeCrewClient(id: $id) }", se = "mutation CreateCrewTeam($input: CreateCrewTeamInput!) { createCrewTeam(input: $input) { id name description leadId leadName members memberCount department status projectCount createdAt } }", ce = "mutation UpdateCrewTeam($id: ID!, $input: UpdateCrewTeamInput!) { updateCrewTeam(id: $id, input: $input) { id name description leadId leadName members memberCount department status projectCount createdAt } }", le = "mutation RemoveCrewTeam($id: ID!) { removeCrewTeam(id: $id) }", ue = "mutation CreateCrewProject($input: CreateCrewProjectInput!) { createCrewProject(input: $input) { id name description status priority startDate endDate progress budget spent teamId teamName managerId managerName tasks completedTasks } }", de = "mutation UpdateCrewProject($id: ID!, $input: UpdateCrewProjectInput!) { updateCrewProject(id: $id, input: $input) { id name description status priority startDate endDate progress budget spent teamId teamName managerId managerName tasks completedTasks } }", fe = "mutation RemoveCrewProject($id: ID!) { removeCrewProject(id: $id) }", pe = "mutation CreateCrewDepartment($input: CreateCrewDepartmentInput!) { createCrewDepartment(input: $input) { id name headId headName employeeCount budget location status } }", me = "mutation UpdateCrewDepartment($id: ID!, $input: UpdateCrewDepartmentInput!) { updateCrewDepartment(id: $id, input: $input) { id name headId headName employeeCount budget location status } }", he = "mutation RemoveCrewDepartment($id: ID!) { removeCrewDepartment(id: $id) }", ge = "mutation CreateCrewPayrollRecord($input: CreateCrewPayrollRecordInput!) { createCrewPayrollRecord(input: $input) { id employeeId employeeName department period grossPay deductions netPay status payDate paymentMethod } }", _e = "mutation UpdateCrewPayrollRecord($id: ID!, $input: UpdateCrewPayrollRecordInput!) { updateCrewPayrollRecord(id: $id, input: $input) { id employeeId employeeName department period grossPay deductions netPay status payDate paymentMethod } }", ve = "mutation RemoveCrewPayrollRecord($id: ID!) { removeCrewPayrollRecord(id: $id) }", S = "id country currency period payDate status employeeCount totalGrossPay totalNetPay calculatedAt approvedAt approvedBy notes", ye = `query CrewPayrollRuns { crewPayrollRuns { ${S} } }`, be = `mutation CreateCrewPayrollRun($input: CreateCrewPayrollRunInput!) { createCrewPayrollRun(input: $input) { ${S} } }`, xe = `mutation CalculateCrewPayrollRun($id: ID!) { calculateCrewPayrollRun(id: $id) { ${S} } }`, Se = `mutation ApproveCrewPayrollRun($id: ID!) { approveCrewPayrollRun(id: $id) { ${S} } }`, Ce = "mutation RemoveCrewPayrollRun($id: ID!) { removeCrewPayrollRun(id: $id) }", we = "query CrewPayslips($filter: CrewPayslipFilterInput) { crewPayslips(filter: $filter) { id payrollRunId employeeId employeeName country currency period annualGrossSalary grossPay taxableIncome incomeTax employeeSocialContrib employerSocialContrib otherDeductions netPay incomeTaxBrackets { label rate bandFrom bandTo taxableInBand taxOnBand } employeeContributions { label rate base amount } employerContributions { label rate base amount } otherDeductionLines { label rate base amount } assumptions } }", Te = "mutation CreateCrewTimeEntry($input: CreateCrewTimeEntryInput!) { createCrewTimeEntry(input: $input) { id employeeId employeeName date clockIn clockOut totalHours overtime project status billable } }", Ee = "mutation UpdateCrewTimeEntry($id: ID!, $input: UpdateCrewTimeEntryInput!) { updateCrewTimeEntry(id: $id, input: $input) { id employeeId employeeName date clockIn clockOut totalHours overtime project status billable } }", De = "mutation RemoveCrewTimeEntry($id: ID!) { removeCrewTimeEntry(id: $id) }", Oe = "query CrewJobPostingMatches($jobPostingId: ID!, $filter: CrewCandidateMatchFilterInput, $limit: Int) { crewJobPostingMatches(jobPostingId: $jobPostingId, filter: $filter, limit: $limit) { candidateId jobPostingId score skillScore experienceScore matchedSkills missingSkills rationale candidate { id firstName lastName email phone position status appliedDate resumeUrl rating source experience skills currentCompany notes hiredDate } } }", C = "query CrewSkillsGap { crewSkillsGap { skill employeesWithSkill openJobsRequiringSkill shortage } }", w = "query CrewExecutiveDashboard { crewExecutiveDashboard { totalHeadcount activeHeadcount newHiresLast90Days exitsLast90Days averagePerformanceScore averageTenureMonths attritionRisk { highCount mediumCount lowCount totalAssessed topRisks { employeeId employeeName department riskLevel riskScore drivers } } headcountGap { department current openPostings projectedHeadcount } skillsGap { skill employeesWithSkill openJobsRequiringSkill shortage } costProjection { department monthly annual headcount } generatedAt } }", T = "query EmployeeDocuments($employeeId: ID!) { employeeDocuments(employeeId: $employeeId) { id employeeId fileId title category uploadedBy uploadedAt } }", ke = "mutation AttachEmployeeDocument($input: AttachCrewEmployeeDocumentInput!) { attachEmployeeDocument(input: $input) { id employeeId fileId title category uploadedBy uploadedAt } }", Ae = "mutation DetachEmployeeDocument($id: ID!) { detachEmployeeDocument(id: $id) }", je = "query CrewEmployeeSkillProfile($id: ID!) { crewEmployee(id: $id) { id skills skillProfile { id skillId proficiency verifiedFrom lastUsedAt skill { id name category source } } } }", Me = "mutation AttachCrewSkill($input: AttachCrewSkillInput!) { attachCrewSkill(input: $input) { id } }", Ne = "mutation DetachCrewSkill($employeeId: ID!, $skillId: ID!) { detachCrewSkill(employeeId: $employeeId, skillId: $skillId) }", E = 100, Pe = 50, Fe = "query CrewSkillsTaxonomy($pagination: PaginationInput) { crewSkills(pagination: $pagination) { id name slug category source description aliases employeeCount candidateCount relations { id type fromSkillId toSkillId } } }", Ie = "query CrewSkillCategories { crewSkillCategories }", Le = "mutation CreateCrewSkill($input: CreateCrewSkillInput!) { createCrewSkill(input: $input) { id } }", Re = "mutation UpdateCrewSkill($id: ID!, $input: UpdateCrewSkillInput!) { updateCrewSkill(id: $id, input: $input) { id } }", ze = "mutation MergeCrewSkills($sourceId: ID!, $targetId: ID!) { mergeCrewSkills(sourceId: $sourceId, targetId: $targetId) { target { id name } employeesMoved candidatesMoved jobPostingsMoved } }", Be = "mutation RemoveCrewSkill($id: ID!) { removeCrewSkill(id: $id) }", Ve = "mutation CreateCrewSkillRelation($input: CreateCrewSkillRelationInput!) { createCrewSkillRelation(input: $input) { id } }", He = "mutation RemoveCrewSkillRelation($id: ID!) { removeCrewSkillRelation(id: $id) }", Ue = "query CrewEmployeesBySkill($skillId: ID!, $minProficiency: Int, $limit: Int) { crewEmployeesBySkill(skillId: $skillId, minProficiency: $minProficiency, limit: $limit) { employee { id firstName lastName position department } matchType matchedSkill { id name } proficiency verifiedFrom explanation } }", We = "query CrewJobPostingSkillRequirements($id: ID!) { crewJobPosting(id: $id) { id skillRequirements { id skillId required minProficiency skill { id name category source } } } }", Ge = "query CrewCandidateSkillProfile($id: ID!) { crewCandidate(id: $id) { id skills skillProfile { id skillId proficiency source skill { id name category source } } } }", Ke = "mutation AttachCrewCandidateSkill($input: AttachCrewCandidateSkillInput!) { attachCrewCandidateSkill(input: $input) { id } }", qe = "mutation DetachCrewCandidateSkill($candidateId: ID!, $skillId: ID!) { detachCrewCandidateSkill(candidateId: $candidateId, skillId: $skillId) }", Je = "mutation EnsureFolderByPath($path: String!) { ensureFolderByPath(path: $path) { id } }", Ye = "mutation InitiateUpload($input: InitiateUploadInput!) { initiateUpload(input: $input) { session { id } uploadUrl } }", Xe = "mutation CompleteUpload($input: CompleteUploadInput!) { completeUpload(input: $input) { file { id } } }", Ze = "query CrewOnboardings { crewOnboardings { id candidateId employeeId fullName position department startDate status currentStage createdAt totalTaskCount completedTaskCount progressPercent tasks { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } } }", Qe = "mutation CreateCrewOnboarding($input: CreateCrewOnboardingInput!) { createCrewOnboarding(input: $input) { id candidateId employeeId fullName position department startDate status currentStage createdAt totalTaskCount completedTaskCount progressPercent tasks { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } } }", $e = "mutation UpdateCrewOnboarding($id: ID!, $input: UpdateCrewOnboardingInput!) { updateCrewOnboarding(id: $id, input: $input) { id candidateId employeeId fullName position department startDate status currentStage createdAt totalTaskCount completedTaskCount progressPercent tasks { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } } }", et = "mutation RemoveCrewOnboarding($id: ID!) { removeCrewOnboarding(id: $id) }", tt = "mutation CreateCrewOnboardingTask($input: CreateCrewOnboardingTaskInput!) { createCrewOnboardingTask(input: $input) { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } }", nt = "mutation UpdateCrewOnboardingTask($id: ID!, $input: UpdateCrewOnboardingTaskInput!) { updateCrewOnboardingTask(id: $id, input: $input) { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } }", rt = "mutation RemoveCrewOnboardingTask($id: ID!) { removeCrewOnboardingTask(id: $id) }", D = "mutation ToggleCrewOnboardingTask($id: ID!, $completed: Boolean!) { toggleCrewOnboardingTask(id: $id, completed: $completed) { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } }", O = "id title description contentUrl durationMinutes isActive requiredForRoles createdAt updatedAt", k = "id courseId courseTitle employeeId employeeName status startedAt completedAt createdAt updatedAt", it = `query CrewLearning($coursePage: PaginationInput, $enrollmentPage: PaginationInput) { crewTrainingCourses(pagination: $coursePage) { ${O} } crewEnrollments(pagination: $enrollmentPage) { ${k} } crewTrainingCompletionDashboard { courseId courseTitle totalEnrolled notStartedCount inProgressCount completedCount completionRate } }`, at = `query CrewTrainingCourses($pagination: PaginationInput) { crewTrainingCourses(pagination: $pagination) { ${O} } }`, ot = `query CrewEnrollments($pagination: PaginationInput) { crewEnrollments(pagination: $pagination) { ${k} } }`, st = "query CrewTrainingCompletionDashboard { crewTrainingCompletionDashboard { courseId courseTitle totalEnrolled notStartedCount inProgressCount completedCount completionRate } }", ct = `mutation CreateCrewTrainingCourse($input: CreateCrewTrainingCourseInput!) { createCrewTrainingCourse(input: $input) { ${O} } }`, lt = `mutation UpdateCrewTrainingCourse($id: ID!, $input: UpdateCrewTrainingCourseInput!) { updateCrewTrainingCourse(id: $id, input: $input) { ${O} } }`, ut = "mutation RemoveCrewTrainingCourse($id: ID!) { removeCrewTrainingCourse(id: $id) }", dt = `mutation CreateCrewEnrollment($input: CreateCrewEnrollmentInput!) { createCrewEnrollment(input: $input) { ${k} } }`, ft = `mutation UpdateCrewEnrollmentStatus($id: ID!, $status: String!) { updateCrewEnrollmentStatus(id: $id, status: $status) { ${k} } }`, pt = "mutation RemoveCrewEnrollment($id: ID!) { removeCrewEnrollment(id: $id) }", A = "id title description category providerActorId providerName rate rateUnit currency status createdAt updatedAt", j = "id listingId listingTitle providerActorId providerName clientActorId clientName status rate rateUnit currency notes scheduledStart scheduledEnd cancelledReason createdAt updatedAt", M = "id bookingId amount currency releaseCondition status heldAt releasedAt releasedBy notes createdAt updatedAt", mt = `query CrewServiceListings($pagination: PaginationInput) { crewServiceListings(pagination: $pagination) { ${A} } }`, ht = `query CrewBookings($pagination: PaginationInput) { crewBookings(pagination: $pagination) { ${j} } }`, gt = `query CrewEscrowRecords($pagination: PaginationInput) { crewEscrowRecords(pagination: $pagination) { ${M} } }`, _t = `mutation CreateCrewServiceListing($input: CreateCrewServiceListingInput!) { createCrewServiceListing(input: $input) { ${A} } }`, vt = `mutation UpdateMyServiceListing($id: ID!, $input: UpdateCrewServiceListingInput!) { updateMyServiceListing(id: $id, input: $input) { ${A} } }`, yt = "mutation RemoveMyServiceListing($id: ID!) { removeMyServiceListing(id: $id) }", bt = `mutation CreateCrewBooking($input: CreateCrewBookingInput!) { createCrewBooking(input: $input) { ${j} } }`, xt = `mutation UpdateMyBookingStatus($id: ID!, $status: String!) { updateMyBookingStatus(id: $id, status: $status) { ${j} } }`, St = `mutation ReleaseCrewEscrowRecord($id: ID!) { releaseCrewEscrowRecord(id: $id) { ${M} } }`, Ct = `mutation CancelCrewEscrowRecord($id: ID!) { cancelCrewEscrowRecord(id: $id) { ${M} } }`, N = 100, wt = 10, P = (e) => e.toUpperCase().replaceAll("-", "_"), F = {
4
+ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n employees { id firstName lastName email department position status type salary startDate avatar location managerId phone performanceScore skills terminationDate }\n departments { id name headId headName employeeCount budget location status }\n jobPostings { id title department location type experienceLevel salaryMin salaryMax status applicants postedDate deadline description requirements benefits }\n candidates { id firstName lastName email phone position status appliedDate resumeUrl rating source experience skills currentCompany notes hiredDate }\n interviews { id candidateId candidateName position interviewerName date time type status feedback rating }\n announcements { id title content author authorRole category priority isPinned createdAt viewCount tags }\n teams { id name description leadId leadName members memberCount department status projectCount createdAt }\n projects { id name description status priority startDate endDate progress budget spent teamId teamName managerId managerName tasks completedTasks }\n leaveRequests { id employeeId employeeName department type startDate endDate days status reason approverName }\n timeEntries { id employeeId employeeName date clockIn clockOut totalHours overtime project status billable }\n vendors { id name category contactPerson email phone status contractValue rating }\n clients { id name industry contactPerson email phone status revenue projects since }\n }\n }\n", i = "\n query CrewPayrollRecords {\n crewPayrollRecords { id employeeId employeeName department period grossPay deductions netPay status payDate paymentMethod }\n }\n", a = "\n query CrewfoundryWorkspaceBootstrapWithOverlap(\n $workspaceId: ID!\n $projectPagination: PaginationInput\n $groupFirst: Int\n $conversationFirst: Int\n ) {\n crewfoundryBootstrap {\n employees { id firstName lastName email department position status type salary startDate avatar location managerId phone performanceScore skills terminationDate }\n departments { id name headId headName employeeCount budget location status }\n jobPostings { id title department location type experienceLevel salaryMin salaryMax status applicants postedDate deadline description requirements benefits }\n candidates { id firstName lastName email phone position status appliedDate resumeUrl rating source experience skills currentCompany notes hiredDate }\n interviews { id candidateId candidateName position interviewerName date time type status feedback rating }\n announcements { id title content author authorRole category priority isPinned createdAt viewCount tags }\n teams { id name description leadId leadName members memberCount department status projectCount createdAt }\n projects { id name description status priority startDate endDate progress budget spent teamId teamName managerId managerName tasks completedTasks }\n leaveRequests { id employeeId employeeName department type startDate endDate days status reason approverName }\n timeEntries { id employeeId employeeName date clockIn clockOut totalHours overtime project status billable }\n vendors { id name category contactPerson email phone status contractValue rating }\n clients { id name industry contactPerson email phone status revenue projects since }\n }\n projects(filter: { workspaceId: $workspaceId }, pagination: $projectPagination) {\n items {\n id\n name\n key\n creatorId\n status\n config\n archived\n createdAt\n updatedAt\n }\n }\n groups(first: $groupFirst) {\n edges {\n node {\n id\n name\n description\n groupType\n status\n memberCount\n ownerId\n createdAt\n }\n }\n }\n conversations(first: $conversationFirst) {\n edges {\n node {\n id\n title\n description\n state\n unreadCount\n memberCount\n updatedAt\n }\n }\n }\n }\n", o = "mutation CreateCrewEmployee($input: CreateCrewEmployeeInput!) { createCrewEmployee(input: $input) { id firstName lastName email department position status type salary startDate avatar location managerId phone performanceScore skills terminationDate } }", s = "mutation UpdateCrewEmployee($id: ID!, $input: UpdateCrewEmployeeInput!) { updateCrewEmployee(id: $id, input: $input) { id firstName lastName email department position status type salary startDate avatar location managerId phone performanceScore skills terminationDate } }", c = "mutation RemoveCrewEmployee($id: ID!) { removeCrewEmployee(id: $id) }", l = "mutation CreateCrewJobPosting($input: CreateCrewJobPostingInput!) { createCrewJobPosting(input: $input) { id title department location type experienceLevel salaryMin salaryMax status applicants postedDate deadline description requirements benefits } }", u = "mutation UpdateCrewJobPosting($id: ID!, $input: UpdateCrewJobPostingInput!) { updateCrewJobPosting(id: $id, input: $input) { id title department location type experienceLevel salaryMin salaryMax status applicants postedDate deadline description requirements benefits } }", d = "mutation CreateCrewCandidate($input: CreateCrewCandidateInput!) { createCrewCandidate(input: $input) { id firstName lastName email phone position status appliedDate resumeUrl rating source experience skills currentCompany notes hiredDate } }", f = "mutation UpdateCrewCandidate($id: ID!, $input: UpdateCrewCandidateInput!) { updateCrewCandidate(id: $id, input: $input) { id firstName lastName email phone position status appliedDate resumeUrl rating source experience skills currentCompany notes hiredDate } }", p = "mutation CreateCrewAnnouncement($input: CreateCrewAnnouncementInput!) { createCrewAnnouncement(input: $input) { id title content author authorRole category priority isPinned createdAt viewCount tags } }", m = "mutation CreateCrewLeaveRequest($input: CreateCrewLeaveRequestInput!) { createCrewLeaveRequest(input: $input) { id employeeId employeeName department type startDate endDate days status reason approverName } }", h = "mutation UpdateCrewLeaveRequest($id: ID!, $input: UpdateCrewLeaveRequestInput!) { updateCrewLeaveRequest(id: $id, input: $input) { id employeeId employeeName department type startDate endDate days status reason approverName } }", g = "mutation RemoveCrewJobPosting($id: ID!) { removeCrewJobPosting(id: $id) }", _ = "mutation RemoveCrewCandidate($id: ID!) { removeCrewCandidate(id: $id) }", v = "mutation UpdateCrewAnnouncement($id: ID!, $input: UpdateCrewAnnouncementInput!) { updateCrewAnnouncement(id: $id, input: $input) { id title content author authorRole category priority isPinned createdAt viewCount tags } }", y = "mutation RemoveCrewAnnouncement($id: ID!) { removeCrewAnnouncement(id: $id) }", b = "mutation CreateCrewInterview($input: CreateCrewInterviewInput!) { createCrewInterview(input: $input) { id candidateId candidateName position interviewerName date time type status feedback rating } }", x = "mutation UpdateCrewInterview($id: ID!, $input: UpdateCrewInterviewInput!) { updateCrewInterview(id: $id, input: $input) { id candidateId candidateName position interviewerName date time type status feedback rating } }", ee = "mutation RemoveCrewInterview($id: ID!) { removeCrewInterview(id: $id) }", te = "mutation CreateCrewVendor($input: CreateCrewVendorInput!) { createCrewVendor(input: $input) { id name category contactPerson email phone status contractValue rating } }", ne = "mutation UpdateCrewVendor($id: ID!, $input: UpdateCrewVendorInput!) { updateCrewVendor(id: $id, input: $input) { id name category contactPerson email phone status contractValue rating } }", re = "mutation RemoveCrewVendor($id: ID!) { removeCrewVendor(id: $id) }", ie = "mutation CreateCrewClient($input: CreateCrewClientInput!) { createCrewClient(input: $input) { id name industry contactPerson email phone status revenue projects since } }", ae = "mutation UpdateCrewClient($id: ID!, $input: UpdateCrewClientInput!) { updateCrewClient(id: $id, input: $input) { id name industry contactPerson email phone status revenue projects since } }", oe = "mutation RemoveCrewClient($id: ID!) { removeCrewClient(id: $id) }", se = "mutation CreateCrewTeam($input: CreateCrewTeamInput!) { createCrewTeam(input: $input) { id name description leadId leadName members memberCount department status projectCount createdAt } }", ce = "mutation UpdateCrewTeam($id: ID!, $input: UpdateCrewTeamInput!) { updateCrewTeam(id: $id, input: $input) { id name description leadId leadName members memberCount department status projectCount createdAt } }", le = "mutation RemoveCrewTeam($id: ID!) { removeCrewTeam(id: $id) }", ue = "mutation CreateCrewProject($input: CreateCrewProjectInput!) { createCrewProject(input: $input) { id name description status priority startDate endDate progress budget spent teamId teamName managerId managerName tasks completedTasks } }", de = "mutation UpdateCrewProject($id: ID!, $input: UpdateCrewProjectInput!) { updateCrewProject(id: $id, input: $input) { id name description status priority startDate endDate progress budget spent teamId teamName managerId managerName tasks completedTasks } }", fe = "mutation RemoveCrewProject($id: ID!) { removeCrewProject(id: $id) }", pe = "mutation CreateCrewDepartment($input: CreateCrewDepartmentInput!) { createCrewDepartment(input: $input) { id name headId headName employeeCount budget location status } }", me = "mutation UpdateCrewDepartment($id: ID!, $input: UpdateCrewDepartmentInput!) { updateCrewDepartment(id: $id, input: $input) { id name headId headName employeeCount budget location status } }", he = "mutation RemoveCrewDepartment($id: ID!) { removeCrewDepartment(id: $id) }", ge = "mutation CreateCrewPayrollRecord($input: CreateCrewPayrollRecordInput!) { createCrewPayrollRecord(input: $input) { id employeeId employeeName department period grossPay deductions netPay status payDate paymentMethod } }", _e = "mutation UpdateCrewPayrollRecord($id: ID!, $input: UpdateCrewPayrollRecordInput!) { updateCrewPayrollRecord(id: $id, input: $input) { id employeeId employeeName department period grossPay deductions netPay status payDate paymentMethod } }", ve = "mutation RemoveCrewPayrollRecord($id: ID!) { removeCrewPayrollRecord(id: $id) }", S = "id country currency period payDate status employeeCount totalGrossPay totalNetPay calculatedAt approvedAt approvedBy notes", ye = `query CrewPayrollRuns { crewPayrollRuns { ${S} } }`, be = `mutation CreateCrewPayrollRun($input: CreateCrewPayrollRunInput!) { createCrewPayrollRun(input: $input) { ${S} } }`, xe = `mutation CalculateCrewPayrollRun($id: ID!) { calculateCrewPayrollRun(id: $id) { ${S} } }`, Se = `mutation ApproveCrewPayrollRun($id: ID!) { approveCrewPayrollRun(id: $id) { ${S} } }`, Ce = "mutation RemoveCrewPayrollRun($id: ID!) { removeCrewPayrollRun(id: $id) }", we = "query CrewPayslips($filter: CrewPayslipFilterInput) { crewPayslips(filter: $filter) { id payrollRunId employeeId employeeName country currency period annualGrossSalary grossPay taxableIncome incomeTax employeeSocialContrib employerSocialContrib otherDeductions netPay incomeTaxBrackets { label rate bandFrom bandTo taxableInBand taxOnBand } employeeContributions { label rate base amount } employerContributions { label rate base amount } otherDeductionLines { label rate base amount } assumptions } }", Te = "mutation CreateCrewTimeEntry($input: CreateCrewTimeEntryInput!) { createCrewTimeEntry(input: $input) { id employeeId employeeName date clockIn clockOut totalHours overtime project status billable } }", Ee = "mutation UpdateCrewTimeEntry($id: ID!, $input: UpdateCrewTimeEntryInput!) { updateCrewTimeEntry(id: $id, input: $input) { id employeeId employeeName date clockIn clockOut totalHours overtime project status billable } }", De = "mutation RemoveCrewTimeEntry($id: ID!) { removeCrewTimeEntry(id: $id) }", Oe = "query CrewJobPostingMatches($jobPostingId: ID!, $filter: CrewCandidateMatchFilterInput, $limit: Int) { crewJobPostingMatches(jobPostingId: $jobPostingId, filter: $filter, limit: $limit) { candidateId jobPostingId score skillScore experienceScore matchedSkills missingSkills rationale candidate { id firstName lastName email phone position status appliedDate resumeUrl rating source experience skills currentCompany notes hiredDate } } }", C = "query CrewSkillsGap { crewSkillsGap { skill employeesWithSkill openJobsRequiringSkill shortage } }", w = "query CrewExecutiveDashboard { crewExecutiveDashboard { totalHeadcount activeHeadcount newHiresLast90Days exitsLast90Days averagePerformanceScore averageTenureMonths attritionRisk { highCount mediumCount lowCount totalAssessed topRisks { employeeId employeeName department riskLevel riskScore drivers } } headcountGap { department current openPostings projectedHeadcount } skillsGap { skill employeesWithSkill openJobsRequiringSkill shortage } costProjection { department monthly annual headcount } generatedAt } }", T = "query CrewWorkforceForecast { attrition: crewAttritionForecast { model { status horizonDays trainingSamples trainingExits excludedFeatures reason backtest { testSamples testExits modelAuc heuristicAuc } } predictions { employeeId employeeName department heuristicRiskLevel heuristicRiskScore drivers predictedExitProbability source } } headcount: crewHeadcountForecast { status currentHeadcount openRequisitions observationMonths hiresPerMonth monthlyExitRate currentMonthlyCost horizons { months projectedHeadcount low high expectedHires expectedExits projectedMonthlyCost cumulativeCost } assumptions } }", ke = "query EmployeeDocuments($employeeId: ID!) { employeeDocuments(employeeId: $employeeId) { id employeeId fileId title category uploadedBy uploadedAt } }", Ae = "mutation AttachEmployeeDocument($input: AttachCrewEmployeeDocumentInput!) { attachEmployeeDocument(input: $input) { id employeeId fileId title category uploadedBy uploadedAt } }", je = "mutation DetachEmployeeDocument($id: ID!) { detachEmployeeDocument(id: $id) }", Me = "query CrewEmployeeSkillProfile($id: ID!) { crewEmployee(id: $id) { id skills skillProfile { id skillId proficiency verifiedFrom lastUsedAt skill { id name category source } } } }", Ne = "mutation AttachCrewSkill($input: AttachCrewSkillInput!) { attachCrewSkill(input: $input) { id } }", Pe = "mutation DetachCrewSkill($employeeId: ID!, $skillId: ID!) { detachCrewSkill(employeeId: $employeeId, skillId: $skillId) }", E = 100, Fe = 50, Ie = "query CrewSkillsTaxonomy($pagination: PaginationInput) { crewSkills(pagination: $pagination) { id name slug category source description aliases employeeCount candidateCount relations { id type fromSkillId toSkillId } } }", Le = "query CrewSkillCategories { crewSkillCategories }", Re = "mutation CreateCrewSkill($input: CreateCrewSkillInput!) { createCrewSkill(input: $input) { id } }", ze = "mutation UpdateCrewSkill($id: ID!, $input: UpdateCrewSkillInput!) { updateCrewSkill(id: $id, input: $input) { id } }", Be = "mutation MergeCrewSkills($sourceId: ID!, $targetId: ID!) { mergeCrewSkills(sourceId: $sourceId, targetId: $targetId) { target { id name } employeesMoved candidatesMoved jobPostingsMoved } }", Ve = "mutation RemoveCrewSkill($id: ID!) { removeCrewSkill(id: $id) }", He = "mutation CreateCrewSkillRelation($input: CreateCrewSkillRelationInput!) { createCrewSkillRelation(input: $input) { id } }", Ue = "mutation RemoveCrewSkillRelation($id: ID!) { removeCrewSkillRelation(id: $id) }", We = "query CrewEmployeesBySkill($skillId: ID!, $minProficiency: Int, $limit: Int) { crewEmployeesBySkill(skillId: $skillId, minProficiency: $minProficiency, limit: $limit) { employee { id firstName lastName position department } matchType matchedSkill { id name } proficiency verifiedFrom explanation } }", Ge = "query CrewJobPostingSkillRequirements($id: ID!) { crewJobPosting(id: $id) { id skillRequirements { id skillId required minProficiency skill { id name category source } } } }", Ke = "query CrewCandidateSkillProfile($id: ID!) { crewCandidate(id: $id) { id skills skillProfile { id skillId proficiency source skill { id name category source } } } }", qe = "mutation AttachCrewCandidateSkill($input: AttachCrewCandidateSkillInput!) { attachCrewCandidateSkill(input: $input) { id } }", Je = "mutation DetachCrewCandidateSkill($candidateId: ID!, $skillId: ID!) { detachCrewCandidateSkill(candidateId: $candidateId, skillId: $skillId) }", Ye = "mutation EnsureFolderByPath($path: String!) { ensureFolderByPath(path: $path) { id } }", Xe = "mutation InitiateUpload($input: InitiateUploadInput!) { initiateUpload(input: $input) { session { id } uploadUrl } }", Ze = "mutation CompleteUpload($input: CompleteUploadInput!) { completeUpload(input: $input) { file { id } } }", Qe = "query CrewOnboardings { crewOnboardings { id candidateId employeeId fullName position department startDate status currentStage createdAt totalTaskCount completedTaskCount progressPercent tasks { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } } }", $e = "mutation CreateCrewOnboarding($input: CreateCrewOnboardingInput!) { createCrewOnboarding(input: $input) { id candidateId employeeId fullName position department startDate status currentStage createdAt totalTaskCount completedTaskCount progressPercent tasks { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } } }", et = "mutation UpdateCrewOnboarding($id: ID!, $input: UpdateCrewOnboardingInput!) { updateCrewOnboarding(id: $id, input: $input) { id candidateId employeeId fullName position department startDate status currentStage createdAt totalTaskCount completedTaskCount progressPercent tasks { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } } }", tt = "mutation RemoveCrewOnboarding($id: ID!) { removeCrewOnboarding(id: $id) }", nt = "mutation CreateCrewOnboardingTask($input: CreateCrewOnboardingTaskInput!) { createCrewOnboardingTask(input: $input) { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } }", rt = "mutation UpdateCrewOnboardingTask($id: ID!, $input: UpdateCrewOnboardingTaskInput!) { updateCrewOnboardingTask(id: $id, input: $input) { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } }", it = "mutation RemoveCrewOnboardingTask($id: ID!) { removeCrewOnboardingTask(id: $id) }", at = "mutation ToggleCrewOnboardingTask($id: ID!, $completed: Boolean!) { toggleCrewOnboardingTask(id: $id, completed: $completed) { id onboardingId stage title assigneeActorId assigneeName dueDate completedAt sortOrder } }", D = "id title description contentUrl durationMinutes isActive requiredForRoles createdAt updatedAt", O = "id courseId courseTitle employeeId employeeName status startedAt completedAt createdAt updatedAt", k = `query CrewLearning($coursePage: PaginationInput, $enrollmentPage: PaginationInput) { crewTrainingCourses(pagination: $coursePage) { ${D} } crewEnrollments(pagination: $enrollmentPage) { ${O} } crewTrainingCompletionDashboard { courseId courseTitle totalEnrolled notStartedCount inProgressCount completedCount completionRate } }`, ot = `query CrewTrainingCourses($pagination: PaginationInput) { crewTrainingCourses(pagination: $pagination) { ${D} } }`, st = `query CrewEnrollments($pagination: PaginationInput) { crewEnrollments(pagination: $pagination) { ${O} } }`, ct = "query CrewTrainingCompletionDashboard { crewTrainingCompletionDashboard { courseId courseTitle totalEnrolled notStartedCount inProgressCount completedCount completionRate } }", lt = `mutation CreateCrewTrainingCourse($input: CreateCrewTrainingCourseInput!) { createCrewTrainingCourse(input: $input) { ${D} } }`, ut = `mutation UpdateCrewTrainingCourse($id: ID!, $input: UpdateCrewTrainingCourseInput!) { updateCrewTrainingCourse(id: $id, input: $input) { ${D} } }`, dt = "mutation RemoveCrewTrainingCourse($id: ID!) { removeCrewTrainingCourse(id: $id) }", ft = `mutation CreateCrewEnrollment($input: CreateCrewEnrollmentInput!) { createCrewEnrollment(input: $input) { ${O} } }`, pt = `mutation UpdateCrewEnrollmentStatus($id: ID!, $status: String!) { updateCrewEnrollmentStatus(id: $id, status: $status) { ${O} } }`, mt = "mutation RemoveCrewEnrollment($id: ID!) { removeCrewEnrollment(id: $id) }", A = "id title description category providerActorId providerName rate rateUnit currency status createdAt updatedAt", j = "id listingId listingTitle providerActorId providerName clientActorId clientName status rate rateUnit currency notes scheduledStart scheduledEnd cancelledReason createdAt updatedAt", M = "id bookingId amount currency releaseCondition status heldAt releasedAt releasedBy notes createdAt updatedAt", ht = `query CrewServiceListings($pagination: PaginationInput) { crewServiceListings(pagination: $pagination) { ${A} } }`, gt = `query CrewBookings($pagination: PaginationInput) { crewBookings(pagination: $pagination) { ${j} } }`, _t = `query CrewEscrowRecords($pagination: PaginationInput) { crewEscrowRecords(pagination: $pagination) { ${M} } }`, vt = `mutation CreateCrewServiceListing($input: CreateCrewServiceListingInput!) { createCrewServiceListing(input: $input) { ${A} } }`, yt = `mutation UpdateMyServiceListing($id: ID!, $input: UpdateCrewServiceListingInput!) { updateMyServiceListing(id: $id, input: $input) { ${A} } }`, bt = "mutation RemoveMyServiceListing($id: ID!) { removeMyServiceListing(id: $id) }", xt = `mutation CreateCrewBooking($input: CreateCrewBookingInput!) { createCrewBooking(input: $input) { ${j} } }`, St = `mutation UpdateMyBookingStatus($id: ID!, $status: String!) { updateMyBookingStatus(id: $id, status: $status) { ${j} } }`, Ct = `mutation ReleaseCrewEscrowRecord($id: ID!) { releaseCrewEscrowRecord(id: $id) { ${M} } }`, wt = `mutation CancelCrewEscrowRecord($id: ID!) { cancelCrewEscrowRecord(id: $id) { ${M} } }`, N = 100, Tt = 10, P = (e) => e.toUpperCase().replaceAll("-", "_"), F = {
5
5
  employee: ["status", "type"],
6
6
  department: ["status"],
7
7
  jobPosting: [
@@ -37,19 +37,19 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
37
37
  }, L = (e) => ({
38
38
  ...I(e, F.onboarding),
39
39
  tasks: (e.tasks ?? []).map((e) => I(e, F.onboardingTask))
40
- }), R = (e) => e ? e.slice(0, 10) : "TBD", Tt = (e) => !e || typeof e != "object" || Array.isArray(e) ? null : e, z = (e) => typeof e == "number" ? e : null, B = (e) => typeof e == "string" ? e : null, Et = (e) => {
40
+ }), R = (e) => e ? e.slice(0, 10) : "TBD", Et = (e) => !e || typeof e != "object" || Array.isArray(e) ? null : e, z = (e) => typeof e == "number" ? e : null, B = (e) => typeof e == "string" ? e : null, Dt = (e) => {
41
41
  let t = e.toLowerCase();
42
42
  return t === "active" ? "active" : t === "completed" ? "completed" : t === "cancelled" ? "cancelled" : t === "archived" ? "on_hold" : "planning";
43
- }, Dt = (e) => {
43
+ }, Ot = (e) => {
44
44
  let t = e.toLowerCase();
45
45
  return t === "active" ? "active" : t === "inactive" || t === "archived" || t === "deleted" ? "disbanded" : "forming";
46
- }, Ot = (e, t) => e.map((e, n) => {
47
- let r = Tt(e.config), i = z(r?.budget) ?? 25e3 + n * 2500, a = z(r?.spent) ?? Math.round(i * (e.status === "COMPLETED" ? 1 : .62)), o = z(r?.progress) ?? (e.status === "COMPLETED" ? 100 : 58), s = z(r?.tasks) ?? 20 + n % 9, c = z(r?.completedTasks) ?? Math.round(o / 100 * s), l = t[n % Math.max(t.length, 1)];
46
+ }, kt = (e, t) => e.map((e, n) => {
47
+ let r = Et(e.config), i = z(r?.budget) ?? 25e3 + n * 2500, a = z(r?.spent) ?? Math.round(i * (e.status === "COMPLETED" ? 1 : .62)), o = z(r?.progress) ?? (e.status === "COMPLETED" ? 100 : 58), s = z(r?.tasks) ?? 20 + n % 9, c = z(r?.completedTasks) ?? Math.round(o / 100 * s), l = t[n % Math.max(t.length, 1)];
48
48
  return {
49
49
  id: e.id,
50
50
  name: e.name,
51
51
  description: B(r?.description) || `${e.key} delivery plan`,
52
- status: Et(e.status),
52
+ status: Dt(e.status),
53
53
  priority: B(r?.priority)?.toLowerCase() || "medium",
54
54
  startDate: R(e.createdAt),
55
55
  endDate: R(e.updatedAt),
@@ -63,7 +63,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
63
63
  tasks: s,
64
64
  completedTasks: c
65
65
  };
66
- }), kt = (e) => e.map(({ node: e }) => ({
66
+ }), At = (e) => e.map(({ node: e }) => ({
67
67
  id: e.id,
68
68
  name: e.name,
69
69
  description: e.description || `${e.name} team workspace`,
@@ -72,10 +72,10 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
72
72
  members: [],
73
73
  memberCount: e.memberCount,
74
74
  department: e.groupType?.toLowerCase().replaceAll("_", " ") || "operations",
75
- status: Dt(e.status),
75
+ status: Ot(e.status),
76
76
  projectCount: 0,
77
77
  createdAt: R(e.createdAt)
78
- })), V = "/conversations", At = (e) => e.filter(({ node: e }) => e.unreadCount > 0).map(({ node: e }) => ({
78
+ })), V = "/conversations", jt = (e) => e.filter(({ node: e }) => e.unreadCount > 0).map(({ node: e }) => ({
79
79
  id: `conversation-${e.id}`,
80
80
  title: e.title || "Conversation update",
81
81
  message: `${e.unreadCount} unread in ${e.memberCount}-member channel`,
@@ -84,11 +84,11 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
84
84
  read: !1,
85
85
  createdAt: e.updatedAt,
86
86
  actionUrl: V
87
- })), jt = (e, t) => {
87
+ })), Mt = (e, t) => {
88
88
  if (e.errors?.length) throw Error(e.errors[0]?.message || t);
89
89
  if (!e.data) throw Error(t);
90
90
  return e.data;
91
- }, Mt = new Set([
91
+ }, Nt = new Set([
92
92
  "id",
93
93
  "createdAt",
94
94
  "createdOn",
@@ -110,36 +110,36 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
110
110
  "viewCount",
111
111
  "revenue",
112
112
  "projects"
113
- ]), Nt = (e) => {
113
+ ]), Pt = (e) => {
114
114
  if (!e) return e;
115
115
  let t = e.input;
116
116
  if (!t || typeof t != "object" || Array.isArray(t)) return e;
117
117
  let n = {};
118
- for (let [e, r] of Object.entries(t)) Mt.has(e) || (n[e] = r);
118
+ for (let [e, r] of Object.entries(t)) Nt.has(e) || (n[e] = r);
119
119
  return {
120
120
  ...e,
121
121
  input: n
122
122
  };
123
- }, Pt = (e) => /^\s*mutation\b/.test(e), H = async (e, r, i, a, o = "workspace") => {
124
- let s = jt(await n({
123
+ }, Ft = (e) => /^\s*mutation\b/.test(e), H = async (e, r, i, a, o = "workspace") => {
124
+ let s = Mt(await n({
125
125
  gateway: o,
126
126
  query: e,
127
- variables: Nt(r),
127
+ variables: Pt(r),
128
128
  authToken: i.authToken,
129
129
  baseUrl: o === "workspace" ? i.apiGatewayUrl : void 0,
130
130
  extraHeaders: { ...o === "workspace" && i.workspaceId ? { "x-workspace-id": i.workspaceId } : {} }
131
131
  }), a);
132
- return Pt(e) && t(), s;
133
- }, Ft = () => !1, U = async (e, t, n, r, i = "workspace") => {
132
+ return Ft(e) && t(), s;
133
+ }, It = () => !1, U = async (e, t, n, r, i = "workspace") => {
134
134
  try {
135
135
  return await H(e, t, n, r, i);
136
136
  } catch (e) {
137
- return Ft() && console.warn(`[crewfoundry] overlap query skipped: ${r}`, e), null;
137
+ return It() && console.warn(`[crewfoundry] overlap query skipped: ${r}`, e), null;
138
138
  }
139
139
  }, W = async (e, t, n, r, i) => {
140
140
  let a = i ? [...i] : [];
141
141
  if (i && i.length < N) return a;
142
- for (let o = +!!i; o < wt; o += 1) {
142
+ for (let o = +!!i; o < Tt; o += 1) {
143
143
  let i = (await H(e, { pagination: {
144
144
  limit: N,
145
145
  offset: o * N
@@ -150,7 +150,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
150
150
  }, G = {
151
151
  learning: 0,
152
152
  marketplace: 0
153
- }, K = 3, q = (e) => I(e, F.enrollment), J = (e) => I(e, F.serviceListing), Y = (e) => I(e, F.booking), X = (e) => I(e, F.escrow), Z = (e, t) => e.map((e) => e.id === t.id ? t : e), Q = async (e) => (await U(st, void 0, e, "Unable to load training completion"))?.crewTrainingCompletionDashboard ?? null, $ = e((e) => ({
153
+ }, K = 3, q = (e) => I(e, F.enrollment), J = (e) => I(e, F.serviceListing), Y = (e) => I(e, F.booking), X = (e) => I(e, F.escrow), Z = (e, t) => e.map((e) => e.id === t.id ? t : e), Q = async (e) => (await U(ct, void 0, e, "Unable to load training completion"))?.crewTrainingCompletionDashboard ?? null, $ = e((e) => ({
154
154
  metrics: [
155
155
  {
156
156
  label: "Total Employees",
@@ -242,6 +242,9 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
242
242
  executiveDashboard: null,
243
243
  executiveDashboardLoading: !1,
244
244
  executiveDashboardError: null,
245
+ workforceForecast: null,
246
+ workforceForecastLoading: !1,
247
+ workforceForecastError: null,
245
248
  trainingCourses: [],
246
249
  enrollments: [],
247
250
  trainingCompletion: [],
@@ -256,7 +259,9 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
256
259
  if (t.workspaceId) {
257
260
  $.getState().initParams.workspaceId !== t.workspaceId && e({
258
261
  executiveDashboard: null,
259
- executiveDashboardError: null
262
+ executiveDashboardError: null,
263
+ workforceForecast: null,
264
+ workforceForecastError: null
260
265
  }), e({
261
266
  loading: !0,
262
267
  error: null,
@@ -271,7 +276,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
271
276
  },
272
277
  groupFirst: 30,
273
278
  conversationFirst: 30
274
- }, t, "Unable to load workspace bootstrap with overlap data"), U(i, void 0, t, "Unable to load payroll records")]), s = n ? n.crewfoundryBootstrap : (await H(r, void 0, t, "Unable to load CrewFoundry data")).crewfoundryBootstrap, c = n ? kt(n.groups.edges) : [], l = n ? Ot(n.projects.items, c) : [], u = n ? At(n.conversations.edges) : [], d = c.length > 0 ? c : s.teams, f = l.length > 0 ? l : s.projects, p = u, m = s.employees.map((e) => I(e, F.employee)), h = s.departments.map((e) => I(e, F.department)), g = s.jobPostings.map((e) => I(e, F.jobPosting)), _ = s.candidates.map((e) => I(e, F.candidate)), v = s.interviews.map((e) => I(e, F.interview)), y = s.announcements.map((e) => I(e, F.announcement)), b = d.map((e) => I(e, F.team)), x = f.map((e) => I(e, F.project));
279
+ }, t, "Unable to load workspace bootstrap with overlap data"), U(i, void 0, t, "Unable to load payroll records")]), s = n ? n.crewfoundryBootstrap : (await H(r, void 0, t, "Unable to load CrewFoundry data")).crewfoundryBootstrap, c = n ? At(n.groups.edges) : [], l = n ? kt(n.projects.items, c) : [], u = n ? jt(n.conversations.edges) : [], d = c.length > 0 ? c : s.teams, f = l.length > 0 ? l : s.projects, p = u, m = s.employees.map((e) => I(e, F.employee)), h = s.departments.map((e) => I(e, F.department)), g = s.jobPostings.map((e) => I(e, F.jobPosting)), _ = s.candidates.map((e) => I(e, F.candidate)), v = s.interviews.map((e) => I(e, F.interview)), y = s.announcements.map((e) => I(e, F.announcement)), b = d.map((e) => I(e, F.team)), x = f.map((e) => I(e, F.project));
275
280
  e({
276
281
  employees: m,
277
282
  departments: h,
@@ -658,11 +663,11 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
658
663
  }
659
664
  },
660
665
  fetchEmployeeDocuments: async (t) => {
661
- let n = $.getState().initParams, r = await H(T, { employeeId: t }, n, "Unable to load employee documents");
666
+ let n = $.getState().initParams, r = await H(ke, { employeeId: t }, n, "Unable to load employee documents");
662
667
  e((e) => ({ employeeDocuments: [...e.employeeDocuments.filter((e) => e.employeeId !== t), ...r.employeeDocuments] }));
663
668
  },
664
669
  uploadEmployeeDocument: async ({ employeeId: t, file: n, title: r, category: i }) => {
665
- let a = $.getState().initParams, o = await H(Je, { path: "/CrewFoundry/Employee Documents" }, a, "Unable to resolve the employee documents folder"), s = n.name.includes(".") ? n.name.substring(n.name.lastIndexOf(".") + 1) : "", c = await H(Ye, { input: {
670
+ let a = $.getState().initParams, o = await H(Ye, { path: "/CrewFoundry/Employee Documents" }, a, "Unable to resolve the employee documents folder"), s = n.name.includes(".") ? n.name.substring(n.name.lastIndexOf(".") + 1) : "", c = await H(Xe, { input: {
666
671
  fileName: n.name,
667
672
  fileSize: String(n.size),
668
673
  mimeType: n.type || "application/octet-stream",
@@ -677,9 +682,9 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
677
682
  });
678
683
  if (!e.ok) throw Error(`Failed to upload file bytes (status ${e.status})`);
679
684
  }
680
- let l = await H(ke, { input: {
685
+ let l = await H(Ae, { input: {
681
686
  employeeId: t,
682
- fileId: (await H(Xe, { input: {
687
+ fileId: (await H(Ze, { input: {
683
688
  sessionId: c.initiateUpload.session.id,
684
689
  fileSize: String(n.size),
685
690
  folderId: o.ensureFolderByPath.id
@@ -691,10 +696,10 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
691
696
  },
692
697
  detachEmployeeDocument: async (t) => {
693
698
  let n = $.getState().initParams;
694
- await H(Ae, { id: t }, n, "Unable to remove this document"), e((e) => ({ employeeDocuments: e.employeeDocuments.filter((e) => e.id !== t) }));
699
+ await H(je, { id: t }, n, "Unable to remove this document"), e((e) => ({ employeeDocuments: e.employeeDocuments.filter((e) => e.id !== t) }));
695
700
  },
696
701
  fetchEmployeeSkillProfile: async (t) => {
697
- let n = $.getState().initParams, r = (await H(je, { id: t }, n, "Unable to load skills")).crewEmployee;
702
+ let n = $.getState().initParams, r = (await H(Me, { id: t }, n, "Unable to load skills")).crewEmployee;
698
703
  e((e) => ({
699
704
  employeeSkillProfiles: {
700
705
  ...e.employeeSkillProfiles,
@@ -708,7 +713,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
708
713
  },
709
714
  attachEmployeeSkill: async ({ employeeId: e, skillName: t, proficiency: n }) => {
710
715
  let r = $.getState().initParams;
711
- await H(Me, { input: {
716
+ await H(Ne, { input: {
712
717
  employeeId: e,
713
718
  skillName: t,
714
719
  proficiency: n
@@ -716,7 +721,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
716
721
  },
717
722
  detachEmployeeSkill: async (e, t) => {
718
723
  let n = $.getState().initParams;
719
- await H(Ne, {
724
+ await H(Pe, {
720
725
  employeeId: e,
721
726
  skillId: t
722
727
  }, n, "Unable to remove this skill"), await $.getState().fetchEmployeeSkillProfile(e);
@@ -724,15 +729,15 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
724
729
  fetchSkillsTaxonomy: async () => {
725
730
  let t = $.getState().initParams, [n, r] = await Promise.all([(async () => {
726
731
  let e = [];
727
- for (let n = 0; n < Pe; n += 1) {
728
- let r = await H(Fe, { pagination: {
732
+ for (let n = 0; n < Fe; n += 1) {
733
+ let r = await H(Ie, { pagination: {
729
734
  limit: E,
730
735
  offset: n * E
731
736
  } }, t, "Unable to load the skills taxonomy");
732
737
  if (e.push(...r.crewSkills), r.crewSkills.length < E) break;
733
738
  }
734
739
  return e;
735
- })(), H(Ie, void 0, t, "Unable to load skill categories")]);
740
+ })(), H(Le, void 0, t, "Unable to load skill categories")]);
736
741
  e({
737
742
  skillsTaxonomy: n,
738
743
  skillsTaxonomyLoaded: !0,
@@ -741,7 +746,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
741
746
  },
742
747
  createTaxonomySkill: async ({ name: e, category: t, aliases: n, description: r }) => {
743
748
  let i = $.getState().initParams;
744
- await H(Le, { input: {
749
+ await H(Re, { input: {
745
750
  name: e,
746
751
  category: t,
747
752
  aliases: n,
@@ -750,13 +755,13 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
750
755
  },
751
756
  updateTaxonomySkill: async (e, t) => {
752
757
  let n = $.getState().initParams;
753
- await H(Re, {
758
+ await H(ze, {
754
759
  id: e,
755
760
  input: t
756
761
  }, n, "Unable to update this skill"), await $.getState().fetchSkillsTaxonomy();
757
762
  },
758
763
  mergeTaxonomySkills: async (e, t) => {
759
- let n = $.getState().initParams, r = await H(ze, {
764
+ let n = $.getState().initParams, r = await H(Be, {
760
765
  sourceId: e,
761
766
  targetId: t
762
767
  }, n, "Unable to merge these skills");
@@ -771,19 +776,19 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
771
776
  },
772
777
  removeTaxonomySkill: async (e) => {
773
778
  let t = $.getState().initParams;
774
- await H(Be, { id: e }, t, "Unable to remove this skill"), await $.getState().fetchSkillsTaxonomy();
779
+ await H(Ve, { id: e }, t, "Unable to remove this skill"), await $.getState().fetchSkillsTaxonomy();
775
780
  },
776
781
  createSkillRelation: async (e) => {
777
782
  let t = $.getState().initParams;
778
- await H(Ve, { input: e }, t, "Unable to add this relation"), await $.getState().fetchSkillsTaxonomy();
783
+ await H(He, { input: e }, t, "Unable to add this relation"), await $.getState().fetchSkillsTaxonomy();
779
784
  },
780
785
  removeSkillRelation: async (e) => {
781
786
  let t = $.getState().initParams;
782
- await H(He, { id: e }, t, "Unable to remove this relation"), await $.getState().fetchSkillsTaxonomy();
787
+ await H(Ue, { id: e }, t, "Unable to remove this relation"), await $.getState().fetchSkillsTaxonomy();
783
788
  },
784
789
  fetchEmployeesBySkill: async (e, t) => {
785
790
  let n = $.getState().initParams;
786
- return (await H(Ue, {
791
+ return (await H(We, {
787
792
  skillId: e,
788
793
  minProficiency: t?.minProficiency ?? null,
789
794
  limit: t?.limit ?? 50
@@ -791,10 +796,10 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
791
796
  },
792
797
  fetchJobPostingSkillRequirements: async (e) => {
793
798
  let t = $.getState().initParams;
794
- return (await H(We, { id: e }, t, "Unable to load the skills this role needs")).crewJobPosting?.skillRequirements ?? [];
799
+ return (await H(Ge, { id: e }, t, "Unable to load the skills this role needs")).crewJobPosting?.skillRequirements ?? [];
795
800
  },
796
801
  fetchCandidateSkillProfile: async (t) => {
797
- let n = $.getState().initParams, r = (await H(Ge, { id: t }, n, "Unable to load skills")).crewCandidate;
802
+ let n = $.getState().initParams, r = (await H(Ke, { id: t }, n, "Unable to load skills")).crewCandidate;
798
803
  e((e) => ({
799
804
  candidateSkillProfiles: {
800
805
  ...e.candidateSkillProfiles,
@@ -808,7 +813,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
808
813
  },
809
814
  attachCandidateSkill: async ({ candidateId: e, skillName: t, proficiency: n }) => {
810
815
  let r = $.getState().initParams;
811
- await H(Ke, { input: {
816
+ await H(qe, { input: {
812
817
  candidateId: e,
813
818
  skillName: t,
814
819
  proficiency: n
@@ -816,7 +821,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
816
821
  },
817
822
  detachCandidateSkill: async (e, t) => {
818
823
  let n = $.getState().initParams;
819
- await H(qe, {
824
+ await H(Je, {
820
825
  candidateId: e,
821
826
  skillId: t
822
827
  }, n, "Unable to remove this skill"), await $.getState().fetchCandidateSkillProfile(e);
@@ -824,16 +829,16 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
824
829
  fetchOnboardings: async () => {
825
830
  let t = $.getState().initParams;
826
831
  e({
827
- onboardings: (await H(Ze, {}, t, "Unable to load onboarding")).crewOnboardings.map(L),
832
+ onboardings: (await H(Qe, {}, t, "Unable to load onboarding")).crewOnboardings.map(L),
828
833
  onboardingsLoaded: !0
829
834
  });
830
835
  },
831
836
  createOnboarding: async (t) => {
832
- let n = $.getState().initParams, r = await H(Qe, { input: t }, n, "Unable to start onboarding");
837
+ let n = $.getState().initParams, r = await H($e, { input: t }, n, "Unable to start onboarding");
833
838
  e((e) => ({ onboardings: [L(r.createCrewOnboarding), ...e.onboardings] }));
834
839
  },
835
840
  updateOnboarding: async (t, n) => {
836
- let r = $.getState().initParams, i = await H($e, {
841
+ let r = $.getState().initParams, i = await H(et, {
837
842
  id: t,
838
843
  input: n
839
844
  }, r, "Unable to update onboarding");
@@ -841,10 +846,10 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
841
846
  },
842
847
  removeOnboarding: async (t) => {
843
848
  let n = $.getState().initParams;
844
- await H(et, { id: t }, n, "Unable to remove onboarding"), e((e) => ({ onboardings: e.onboardings.filter((e) => e.id !== t) }));
849
+ await H(tt, { id: t }, n, "Unable to remove onboarding"), e((e) => ({ onboardings: e.onboardings.filter((e) => e.id !== t) }));
845
850
  },
846
851
  createOnboardingTask: async (t) => {
847
- let n = $.getState().initParams, r = I((await H(tt, { input: t }, n, "Unable to create onboarding task")).createCrewOnboardingTask, F.onboardingTask);
852
+ let n = $.getState().initParams, r = I((await H(nt, { input: t }, n, "Unable to create onboarding task")).createCrewOnboardingTask, F.onboardingTask);
848
853
  e((e) => ({ onboardings: e.onboardings.map((e) => e.id === r.onboardingId ? {
849
854
  ...e,
850
855
  tasks: [...e.tasks, r],
@@ -852,7 +857,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
852
857
  } : e) }));
853
858
  },
854
859
  updateOnboardingTask: async (t, n) => {
855
- let r = $.getState().initParams, i = I((await H(nt, {
860
+ let r = $.getState().initParams, i = I((await H(rt, {
856
861
  id: t,
857
862
  input: n
858
863
  }, r, "Unable to update onboarding task")).updateCrewOnboardingTask, F.onboardingTask);
@@ -863,14 +868,14 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
863
868
  },
864
869
  removeOnboardingTask: async (t) => {
865
870
  let n = $.getState().initParams;
866
- await H(rt, { id: t }, n, "Unable to remove onboarding task"), e((e) => ({ onboardings: e.onboardings.map((e) => e.tasks.some((e) => e.id === t) ? {
871
+ await H(it, { id: t }, n, "Unable to remove onboarding task"), e((e) => ({ onboardings: e.onboardings.map((e) => e.tasks.some((e) => e.id === t) ? {
867
872
  ...e,
868
873
  tasks: e.tasks.filter((e) => e.id !== t),
869
874
  totalTaskCount: Math.max(0, e.totalTaskCount - 1)
870
875
  } : e) }));
871
876
  },
872
877
  toggleOnboardingTask: async (t, n) => {
873
- let r = $.getState().initParams, i = I((await H(D, {
878
+ let r = $.getState().initParams, i = I((await H(at, {
874
879
  id: t,
875
880
  completed: n
876
881
  }, r, "Unable to update onboarding task")).toggleCrewOnboardingTask, F.onboardingTask);
@@ -913,16 +918,37 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
913
918
  });
914
919
  }
915
920
  },
921
+ fetchWorkforceForecast: async () => {
922
+ let t = $.getState().initParams, n = () => $.getState().initParams.workspaceId !== t.workspaceId;
923
+ e({
924
+ workforceForecastLoading: !0,
925
+ workforceForecastError: null
926
+ });
927
+ try {
928
+ let r = await H(T, void 0, t, "Unable to load the workforce forecast");
929
+ if (n()) return;
930
+ e({
931
+ workforceForecast: r,
932
+ workforceForecastLoading: !1
933
+ });
934
+ } catch (t) {
935
+ if (n()) return;
936
+ e({
937
+ workforceForecastLoading: !1,
938
+ workforceForecastError: t instanceof Error ? t.message : "Unable to load the workforce forecast"
939
+ });
940
+ }
941
+ },
916
942
  fetchLearning: async () => {
917
943
  let t = $.getState().initParams, n = {
918
944
  limit: N,
919
945
  offset: 0
920
946
  };
921
947
  for (let r = 1; r <= K; r += 1) {
922
- let i = G.learning, a = await H(it, {
948
+ let i = G.learning, a = await H(k, {
923
949
  coursePage: n,
924
950
  enrollmentPage: n
925
- }, t, "Unable to load learning"), [o, s] = await Promise.all([W(at, "crewTrainingCourses", t, "Unable to load courses", a.crewTrainingCourses), W(ot, "crewEnrollments", t, "Unable to load enrollments", a.crewEnrollments)]);
951
+ }, t, "Unable to load learning"), [o, s] = await Promise.all([W(ot, "crewTrainingCourses", t, "Unable to load courses", a.crewTrainingCourses), W(st, "crewEnrollments", t, "Unable to load enrollments", a.crewEnrollments)]);
926
952
  if (!(i !== G.learning && r < K)) {
927
953
  e({
928
954
  trainingCourses: o,
@@ -935,11 +961,11 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
935
961
  }
936
962
  },
937
963
  createTrainingCourse: async (t) => {
938
- let n = $.getState().initParams, r = (await H(ct, { input: t }, n, "Unable to create course")).createCrewTrainingCourse;
964
+ let n = $.getState().initParams, r = (await H(lt, { input: t }, n, "Unable to create course")).createCrewTrainingCourse;
939
965
  return G.learning += 1, e((e) => ({ trainingCourses: [r, ...e.trainingCourses] })), r;
940
966
  },
941
967
  updateTrainingCourse: async (t, n) => {
942
- let r = $.getState().initParams, i = await H(lt, {
968
+ let r = $.getState().initParams, i = await H(ut, {
943
969
  id: t,
944
970
  input: n
945
971
  }, r, "Unable to update course");
@@ -947,13 +973,13 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
947
973
  },
948
974
  removeTrainingCourse: async (t) => {
949
975
  let n = $.getState().initParams;
950
- await H(ut, { id: t }, n, "Unable to remove course"), G.learning += 1, e((e) => ({
976
+ await H(dt, { id: t }, n, "Unable to remove course"), G.learning += 1, e((e) => ({
951
977
  trainingCourses: e.trainingCourses.filter((e) => e.id !== t),
952
978
  trainingCompletion: e.trainingCompletion.filter((e) => e.courseId !== t)
953
979
  }));
954
980
  },
955
981
  enrollEmployee: async (t, n) => {
956
- let r = $.getState().initParams, i = q((await H(dt, { input: {
982
+ let r = $.getState().initParams, i = q((await H(ft, { input: {
957
983
  courseId: t,
958
984
  employeeId: n.id,
959
985
  employeeName: `${n.firstName} ${n.lastName}`.trim()
@@ -963,7 +989,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
963
989
  a && e({ trainingCompletion: a });
964
990
  },
965
991
  updateEnrollmentStatus: async (t, n) => {
966
- let r = $.getState().initParams, i = await H(ft, {
992
+ let r = $.getState().initParams, i = await H(pt, {
967
993
  id: t,
968
994
  status: P(n)
969
995
  }, r, "Unable to update enrollment");
@@ -973,14 +999,14 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
973
999
  },
974
1000
  removeEnrollment: async (t) => {
975
1001
  let n = $.getState().initParams;
976
- await H(pt, { id: t }, n, "Unable to remove enrollment"), G.learning += 1, e((e) => ({ enrollments: e.enrollments.filter((e) => e.id !== t) }));
1002
+ await H(mt, { id: t }, n, "Unable to remove enrollment"), G.learning += 1, e((e) => ({ enrollments: e.enrollments.filter((e) => e.id !== t) }));
977
1003
  let r = await Q(n);
978
1004
  r && e({ trainingCompletion: r });
979
1005
  },
980
1006
  fetchMarketplace: async () => {
981
1007
  let t = $.getState().initParams;
982
1008
  for (let n = 1; n <= K; n += 1) {
983
- let r = G.marketplace, [i, a] = await Promise.all([W(mt, "crewServiceListings", t, "Unable to load marketplace services"), W(ht, "crewBookings", t, "Unable to load bookings")]);
1009
+ let r = G.marketplace, [i, a] = await Promise.all([W(ht, "crewServiceListings", t, "Unable to load marketplace services"), W(gt, "crewBookings", t, "Unable to load bookings")]);
984
1010
  if (!(r !== G.marketplace && n < K)) {
985
1011
  e({
986
1012
  serviceListings: i.map(J),
@@ -992,11 +1018,11 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
992
1018
  }
993
1019
  },
994
1020
  createServiceListing: async (t) => {
995
- let n = $.getState().initParams, r = J((await H(_t, { input: t }, n, "Unable to publish service")).createCrewServiceListing);
1021
+ let n = $.getState().initParams, r = J((await H(vt, { input: t }, n, "Unable to publish service")).createCrewServiceListing);
996
1022
  return G.marketplace += 1, e((e) => ({ serviceListings: [r, ...e.serviceListings] })), r;
997
1023
  },
998
1024
  updateServiceListing: async (t, n) => {
999
- let r = $.getState().initParams, i = await H(vt, {
1025
+ let r = $.getState().initParams, i = await H(yt, {
1000
1026
  id: t,
1001
1027
  input: n.status ? {
1002
1028
  ...n,
@@ -1007,17 +1033,17 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
1007
1033
  },
1008
1034
  removeServiceListing: async (t) => {
1009
1035
  let n = $.getState().initParams;
1010
- await H(yt, { id: t }, n, "Unable to remove service"), G.marketplace += 1, e((e) => ({ serviceListings: e.serviceListings.filter((e) => e.id !== t) }));
1036
+ await H(bt, { id: t }, n, "Unable to remove service"), G.marketplace += 1, e((e) => ({ serviceListings: e.serviceListings.filter((e) => e.id !== t) }));
1011
1037
  },
1012
1038
  bookServiceListing: async (t) => {
1013
- let n = $.getState().initParams, r = Y((await H(bt, { input: t }, n, "Unable to book service")).createCrewBooking);
1039
+ let n = $.getState().initParams, r = Y((await H(xt, { input: t }, n, "Unable to book service")).createCrewBooking);
1014
1040
  return G.marketplace += 1, e((e) => ({
1015
1041
  bookings: [r, ...e.bookings],
1016
1042
  escrowLoaded: !1
1017
1043
  })), r;
1018
1044
  },
1019
1045
  updateBookingStatus: async (t, n) => {
1020
- let r = $.getState().initParams, i = await H(xt, {
1046
+ let r = $.getState().initParams, i = await H(St, {
1021
1047
  id: t,
1022
1048
  status: P(n)
1023
1049
  }, r, "Unable to update booking");
@@ -1030,7 +1056,7 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
1030
1056
  let t = $.getState().initParams;
1031
1057
  try {
1032
1058
  e({
1033
- escrowRecords: (await W(gt, "crewEscrowRecords", t, "Unable to load escrow records")).map(X),
1059
+ escrowRecords: (await W(_t, "crewEscrowRecords", t, "Unable to load escrow records")).map(X),
1034
1060
  escrowLoaded: !0,
1035
1061
  escrowError: null
1036
1062
  });
@@ -1043,11 +1069,11 @@ var r = "\n query CrewfoundryBootstrap {\n crewfoundryBootstrap {\n emp
1043
1069
  }
1044
1070
  },
1045
1071
  releaseEscrowRecord: async (t) => {
1046
- let n = $.getState().initParams, r = await H(St, { id: t }, n, "Unable to release escrow");
1072
+ let n = $.getState().initParams, r = await H(Ct, { id: t }, n, "Unable to release escrow");
1047
1073
  e((e) => ({ escrowRecords: Z(e.escrowRecords, X(r.releaseCrewEscrowRecord)) }));
1048
1074
  },
1049
1075
  cancelEscrowRecord: async (t) => {
1050
- let n = $.getState().initParams, r = await H(Ct, { id: t }, n, "Unable to cancel escrow");
1076
+ let n = $.getState().initParams, r = await H(wt, { id: t }, n, "Unable to cancel escrow");
1051
1077
  e((e) => ({ escrowRecords: Z(e.escrowRecords, X(r.cancelCrewEscrowRecord)) }));
1052
1078
  }
1053
1079
  }));