@zeniai/client-epic-state 5.0.42 → 5.0.43-betaRD1

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 (118) hide show
  1. package/lib/commonStateTypes/recommendationBase.d.ts +1 -1
  2. package/lib/entity/chargeCardRepayment/chargeCardRepayment.d.ts +1 -1
  3. package/lib/entity/creditAgent/creditAgentPayload.d.ts +41 -0
  4. package/lib/entity/creditAgent/creditAgentPayload.js +40 -0
  5. package/lib/entity/creditAgent/creditAgentReducer.d.ts +9 -0
  6. package/lib/entity/creditAgent/creditAgentReducer.js +37 -0
  7. package/lib/entity/creditAgent/creditAgentSelector.d.ts +3 -0
  8. package/lib/entity/creditAgent/creditAgentSelector.js +10 -0
  9. package/lib/entity/creditAgent/creditAgentState.d.ts +39 -0
  10. package/lib/entity/creditAgent/creditAgentState.js +17 -0
  11. package/lib/entity/project/projectPayload.d.ts +7 -0
  12. package/lib/entity/project/projectPayload.js +15 -1
  13. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  14. package/lib/entity/snackbar/snackbarTypes.js +3 -0
  15. package/lib/entity/task/taskPayload.d.ts +1 -0
  16. package/lib/entity/task/taskPayload.js +5 -0
  17. package/lib/entity/task/taskState.d.ts +5 -0
  18. package/lib/entity/task/taskState.js +6 -1
  19. package/lib/entity/tenant/clearAllEpic.d.ts +6 -3
  20. package/lib/entity/tenant/clearAllEpic.js +8 -2
  21. package/lib/entity/transaction/payloadTypes/transactionLinePayload.d.ts +2 -0
  22. package/lib/entity/transaction/payloadTypes/transactionLinePayload.js +9 -0
  23. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +2 -0
  24. package/lib/epic.d.ts +8 -1
  25. package/lib/epic.js +8 -1
  26. package/lib/esm/entity/creditAgent/creditAgentPayload.js +36 -0
  27. package/lib/esm/entity/creditAgent/creditAgentReducer.js +33 -0
  28. package/lib/esm/entity/creditAgent/creditAgentSelector.js +6 -0
  29. package/lib/esm/entity/creditAgent/creditAgentState.js +13 -0
  30. package/lib/esm/entity/project/projectPayload.js +12 -0
  31. package/lib/esm/entity/snackbar/snackbarTypes.js +3 -0
  32. package/lib/esm/entity/task/taskPayload.js +6 -1
  33. package/lib/esm/entity/task/taskState.js +3 -0
  34. package/lib/esm/entity/tenant/clearAllEpic.js +8 -2
  35. package/lib/esm/entity/transaction/payloadTypes/transactionLinePayload.js +9 -0
  36. package/lib/esm/epic.js +8 -1
  37. package/lib/esm/index.js +18 -10
  38. package/lib/esm/reducer.js +12 -3
  39. package/lib/esm/view/common/recurringViewHelper.js +17 -0
  40. package/lib/esm/view/creditAgentView/buildCreditReportCsv.js +44 -0
  41. package/lib/esm/view/creditAgentView/creditAgentViewPayload.js +2 -0
  42. package/lib/esm/view/creditAgentView/creditAgentViewReducer.js +183 -0
  43. package/lib/esm/view/creditAgentView/creditAgentViewSelector.js +85 -0
  44. package/lib/esm/view/creditAgentView/creditAgentViewState.js +20 -0
  45. package/lib/esm/view/creditAgentView/epics/fetchCardProfilesEpic.js +20 -0
  46. package/lib/esm/view/creditAgentView/epics/fetchCreditAgentAccessEpic.js +13 -0
  47. package/lib/esm/view/creditAgentView/epics/fetchCreditAgentMacroEpic.js +19 -0
  48. package/lib/esm/view/creditAgentView/epics/saveCreditAgentMacroEpic.js +58 -0
  49. package/lib/esm/view/creditAgentView/epics/scheduleTenantCreditScoreCronEpic.js +39 -0
  50. package/lib/esm/view/creditAgentView/epics/updateCardProfileEpic.js +62 -0
  51. package/lib/esm/view/projectList/fetchProjectListEpic.js +38 -0
  52. package/lib/esm/view/projectList/projectListPayload.js +1 -0
  53. package/lib/esm/view/projectList/projectListReducer.js +39 -0
  54. package/lib/esm/view/projectList/projectListSelector.js +9 -0
  55. package/lib/esm/view/projectList/projectListState.js +1 -0
  56. package/lib/esm/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +2 -0
  57. package/lib/esm/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +5 -0
  58. package/lib/esm/view/taskManager/taskDetailView/taskDetail.js +1 -0
  59. package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +5 -0
  60. package/lib/esm/view/transactionDetail/epics/saveTransactionHelper.js +1 -0
  61. package/lib/esm/view/transactionDetail/epics/transactionDetailEpic.js +6 -0
  62. package/lib/esm/view/transactionDetail/epics/updateTransactionDetailEpic.js +3 -0
  63. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +14 -2
  64. package/lib/index.d.ts +24 -14
  65. package/lib/index.js +81 -46
  66. package/lib/reducer.d.ts +12 -3
  67. package/lib/reducer.js +12 -3
  68. package/lib/view/common/recurringViewHelper.d.ts +3 -2
  69. package/lib/view/common/recurringViewHelper.js +18 -1
  70. package/lib/view/creditAgentView/buildCreditReportCsv.d.ts +17 -0
  71. package/lib/view/creditAgentView/buildCreditReportCsv.js +47 -0
  72. package/lib/view/creditAgentView/creditAgentViewPayload.d.ts +9 -0
  73. package/lib/view/creditAgentView/creditAgentViewPayload.js +7 -0
  74. package/lib/view/creditAgentView/creditAgentViewReducer.d.ts +41 -0
  75. package/lib/view/creditAgentView/creditAgentViewReducer.js +187 -0
  76. package/lib/view/creditAgentView/creditAgentViewSelector.d.ts +20 -0
  77. package/lib/view/creditAgentView/creditAgentViewSelector.js +93 -0
  78. package/lib/view/creditAgentView/creditAgentViewState.d.ts +34 -0
  79. package/lib/view/creditAgentView/creditAgentViewState.js +22 -0
  80. package/lib/view/creditAgentView/epics/fetchCardProfilesEpic.d.ts +15 -0
  81. package/lib/view/creditAgentView/epics/fetchCardProfilesEpic.js +24 -0
  82. package/lib/view/creditAgentView/epics/fetchCreditAgentAccessEpic.d.ts +11 -0
  83. package/lib/view/creditAgentView/epics/fetchCreditAgentAccessEpic.js +17 -0
  84. package/lib/view/creditAgentView/epics/fetchCreditAgentMacroEpic.d.ts +15 -0
  85. package/lib/view/creditAgentView/epics/fetchCreditAgentMacroEpic.js +23 -0
  86. package/lib/view/creditAgentView/epics/saveCreditAgentMacroEpic.d.ts +29 -0
  87. package/lib/view/creditAgentView/epics/saveCreditAgentMacroEpic.js +62 -0
  88. package/lib/view/creditAgentView/epics/scheduleTenantCreditScoreCronEpic.d.ts +30 -0
  89. package/lib/view/creditAgentView/epics/scheduleTenantCreditScoreCronEpic.js +43 -0
  90. package/lib/view/creditAgentView/epics/updateCardProfileEpic.d.ts +37 -0
  91. package/lib/view/creditAgentView/epics/updateCardProfileEpic.js +66 -0
  92. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  93. package/lib/view/projectList/fetchProjectListEpic.d.ts +8 -0
  94. package/lib/view/projectList/fetchProjectListEpic.js +42 -0
  95. package/lib/view/projectList/projectListPayload.d.ts +7 -0
  96. package/lib/view/projectList/projectListPayload.js +2 -0
  97. package/lib/view/projectList/projectListReducer.d.ts +9 -0
  98. package/lib/view/projectList/projectListReducer.js +43 -0
  99. package/lib/view/projectList/projectListSelector.d.ts +8 -0
  100. package/lib/view/projectList/projectListSelector.js +13 -0
  101. package/lib/view/projectList/projectListState.d.ts +4 -0
  102. package/lib/view/projectList/projectListState.js +2 -0
  103. package/lib/view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic.js +2 -0
  104. package/lib/view/taskManager/taskDetailView/epics/saveTaskDetailEpic.js +5 -0
  105. package/lib/view/taskManager/taskDetailView/taskDetail.d.ts +3 -1
  106. package/lib/view/taskManager/taskDetailView/taskDetail.js +1 -0
  107. package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +1 -0
  108. package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +5 -0
  109. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +1 -0
  110. package/lib/view/transactionDetail/epics/transactionDetailEpic.d.ts +2 -1
  111. package/lib/view/transactionDetail/epics/transactionDetailEpic.js +6 -0
  112. package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +3 -0
  113. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +3 -0
  114. package/lib/view/transactionDetail/transactionDetailSelector.js +13 -1
  115. package/lib/view/transactionDetail/transactionDetailState.d.ts +2 -0
  116. package/lib/view/transactionDetail/transactionDetailTypes.d.ts +2 -0
  117. package/package.json +1 -1
  118. package/lib/tsconfig.typecheck.tsbuildinfo +0 -1
package/lib/esm/epic.js CHANGED
@@ -133,6 +133,12 @@ import { fetchPortfolioViewEpic, } from './view/companyView/epic/fetchPortfolioV
133
133
  import { fetchSubscriptionViewEpic, } from './view/companyView/epic/fetchSubscriptionViewEpic';
134
134
  import { fetchZeniUsersEpic, } from './view/companyView/epic/fetchZeniUsersEpic';
135
135
  import { fetchParentSubsidiaryManagementViewEpic, } from './view/companyView/parentSubsidiaryView/fetchParentSubsidiaryManagementViewEpic';
136
+ import { fetchCardProfilesEpic, } from './view/creditAgentView/epics/fetchCardProfilesEpic';
137
+ import { fetchCreditAgentAccessEpic, } from './view/creditAgentView/epics/fetchCreditAgentAccessEpic';
138
+ import { fetchCreditAgentMacroEpic, } from './view/creditAgentView/epics/fetchCreditAgentMacroEpic';
139
+ import { saveCreditAgentMacroEpic, } from './view/creditAgentView/epics/saveCreditAgentMacroEpic';
140
+ import { scheduleTenantCreditScoreCronEpic, } from './view/creditAgentView/epics/scheduleTenantCreditScoreCronEpic';
141
+ import { updateCardProfileEpic, } from './view/creditAgentView/epics/updateCardProfileEpic';
136
142
  import { fetchDashboardEpic, } from './view/dashboard/dashboardEpic';
137
143
  import { fetchDashboardLayoutEpic, } from './view/dashboardLayout/fetchDashboardLayoutEpic';
138
144
  import { updateDashboardLayoutEpic, } from './view/dashboardLayout/updateDashboardLayoutEpic';
@@ -254,6 +260,7 @@ import { fetchProfitAndLossClassesViewEpic, } from './view/profitAndLossClassesV
254
260
  import { fetchProfitAndLossForTimeframeClassesViewEpic, } from './view/profitAndLossClassesView/profitAndLossForTimeframeClassesViewEpic';
255
261
  import { fetchProfitAndLossForTimeframeProjectViewEpic, } from './view/profitAndLossProjectView/profitAndLossForTimeframeProjectViewEpic';
256
262
  import { fetchProfitAndLossProjectViewEpic, } from './view/profitAndLossProjectView/profitAndLossProjectViewEpic';
263
+ import { fetchProjectListEpic, } from './view/projectList/fetchProjectListEpic';
257
264
  import { fetchEntityRecommendationsByTransactionIdEpic, } from './view/recommendation/fetchEntityRecommendationsByTransactionIdEpic';
258
265
  import { fetchRecommendationByEntityIdEpic, } from './view/recommendation/fetchRecommendationByEntityIdEpic';
259
266
  import { fetchRecommendationByEntityNameEpic, } from './view/recommendation/fetchRecommendationByEntityNameEpic';
@@ -568,7 +575,7 @@ import { fetchZeniAccStatementPageEpic, } from './view/zeniAccStatementList/fetc
568
575
  import { fetchZeniAccountsPromoCardEpic, } from './view/zeniAccountsPromoCard/zeniAccountsPromoCardEpic';
569
576
  import { approveOAuthConsentEpic, } from './view/zeniOAuthView/epics/approveOAuthConsentEpic';
570
577
  // Note: Please maintain strict alphabetical order
571
- const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, addCardPaymentSourceEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, clearAllEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmCardSetupIntentEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, excludeAccountFromReconciliationEpic, includeAccountInReconciliationEpic, deleteBankAccountEpic, deleteBillEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteBillPayApprovalRuleEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, snoozeTaskEpic, unsnoozeTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, sendEmailMagicLinkToUserEpic, sessionHeartbeatEpic, verifyDeviceWithTwoFAEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableChargeCardAutoPayEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, expressInterestChargeCardEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchAggregatedReportEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchCardBalanceEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardSetupViewEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChargeCardsRecurringExpensesEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchTaskManagerMetricsEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, bulkUploadReceiptsEpic, confirmBulkUploadMatchEpic, fetchBulkUploadBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMoreBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCompletedTransactionsEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, restoreBulkUploadAutomatchingOnMountEpic, searchTransactionsForManualMatchEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, initiateReportsClassViewRefetchingEpic, reportsResyncEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchRegisteredInterestsEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossProjectViewEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByEntityEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, updatePortfolioAllocationEpic, fetchPortfolioAllocationEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, invitePeopleEpic, inviteZeniPeopleEpic, issueChargeCardEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, peopleSaveUpdatesEpic, pushToastNotificationEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, rejectVendorGlobalReviewEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendVerifyDeviceOTPEpic, resendReferralInviteEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryOrRefundBillEpic, validateBillsBulkActionEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, sendCompanyMonthEndReportEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitIntlVerificationEpic, submitQuestionEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAutoTransferRuleEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateBusinessVerificationDetailsEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateAccountingClassesEnabledEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, fetchCannedResponsesEpic, saveCannedResponseEpic, deleteCannedResponseEpic, updateTransactionDetailEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, vendorFiling1099UploadDetailsSaveEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
578
+ const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, addCardPaymentSourceEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, clearAllEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmCardSetupIntentEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, excludeAccountFromReconciliationEpic, includeAccountInReconciliationEpic, deleteBankAccountEpic, deleteBillEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteBillPayApprovalRuleEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, snoozeTaskEpic, unsnoozeTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, sendEmailMagicLinkToUserEpic, sessionHeartbeatEpic, verifyDeviceWithTwoFAEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableChargeCardAutoPayEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, expressInterestChargeCardEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchAggregatedReportEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchCardBalanceEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardSetupViewEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChargeCardsRecurringExpensesEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchTaskManagerMetricsEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCreditAgentAccessEpic, fetchCreditAgentMacroEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, bulkUploadReceiptsEpic, confirmBulkUploadMatchEpic, fetchBulkUploadBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMoreBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCompletedTransactionsEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, restoreBulkUploadAutomatchingOnMountEpic, searchTransactionsForManualMatchEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, initiateReportsClassViewRefetchingEpic, reportsResyncEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchRegisteredInterestsEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByEntityEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, updatePortfolioAllocationEpic, fetchPortfolioAllocationEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, invitePeopleEpic, inviteZeniPeopleEpic, issueChargeCardEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, peopleSaveUpdatesEpic, pushToastNotificationEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, rejectVendorGlobalReviewEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendVerifyDeviceOTPEpic, resendReferralInviteEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryOrRefundBillEpic, validateBillsBulkActionEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, sendCompanyMonthEndReportEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitIntlVerificationEpic, submitQuestionEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateAccountingClassesEnabledEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, fetchCannedResponsesEpic, saveCannedResponseEpic, deleteCannedResponseEpic, updateTransactionDetailEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, vendorFiling1099UploadDetailsSaveEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
572
579
  const rootEpic = (action$, store$, dependencies) => combinedEpics(action$, store$, dependencies).pipe(map(identity), catchError((error, source) => {
573
580
  console.error(error);
574
581
  return source;
package/lib/esm/index.js CHANGED
@@ -57,9 +57,9 @@ import { toNotificationModeStrict, } from './entity/notification/types/notificat
57
57
  import { VERIFIED_PAYMENT_ACCOUNT_PROVIDER_VERIFICATION_STATUS, } from './entity/paymentAccount/paymentAccountState';
58
58
  import { closeSnackbar, openSnackbar } from './entity/snackbar/snackbarReducer';
59
59
  import { getSnackbar } from './entity/snackbar/snackbarSelector';
60
- import { toPriorityCodeType, toTaskStatusCodeType, } from './entity/task/taskState';
60
+ import { ALL_WEEK_DAYS, toDayOfWeek, toPriorityCodeType, toTaskStatusCodeType, } from './entity/task/taskState';
61
61
  import { getTaskGroupById } from './entity/taskGroup/taskGroupSelector';
62
- import { clearAll, doMagicLinkSignIn, doSignIn, doSignOut, sendSessionHeartbeat, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, deleteConnection, saveAPIKeyConnection, saveExternalConnection as saveExternalConnectionForTenant, saveOAuthConnection, sendEmailMagicLinkToUser, toExternalIntegrationType, toExternalSupportedTool, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA, } from './entity/tenant/tenantReducer';
62
+ import { clearAll, doMagicLinkSignIn, doSignIn, doSignOut, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, deleteConnection, saveAPIKeyConnection, saveExternalConnection as saveExternalConnectionForTenant, saveOAuthConnection, sendEmailMagicLinkToUser, sendSessionHeartbeat, toExternalIntegrationType, toExternalSupportedTool, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA, } from './entity/tenant/tenantReducer';
63
63
  import { getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView, } from './entity/tenant/tenantSelector';
64
64
  import { pushToastNotification } from './entity/toastNotification/toastNotificationReducer';
65
65
  import { getLastNotificationTime, getNotifications, } from './entity/toastNotification/toastNotificationSelector';
@@ -123,7 +123,9 @@ import { fetchCashPosition, updateCashPositionCOABalancesRange, updateCashPositi
123
123
  import { getCashPosition, getCashPositionForHighlightedRange, getCashPositionForSelectedRange, getCashPositionUIState, } from './view/cashPosition/cashPositionSelector';
124
124
  import { fetchClassList } from './view/classList/classListReducer';
125
125
  import { getClassList, } from './view/classList/classListSelector';
126
- import { getMinAllowedEndDate, getRecurringEndDateFromCount, toRecurringFrequency, } from './view/common/recurringViewHelper';
126
+ import { fetchProjectList } from './view/projectList/projectListReducer';
127
+ import { getProjectList, } from './view/projectList/projectListSelector';
128
+ import { SEMI_WEEKLY_REQUIRED_DAYS_COUNT, getMinAllowedEndDate, getRecurringEndDateFromCount, toRecurringFrequency, } from './view/common/recurringViewHelper';
127
129
  import { ZENI_CLEARING_ACCOUNT, isZeniClearingAccount, isZeniClearingAccountReport, } from './view/common/zeniClearingAccountHelper';
128
130
  import { clearTransactionVendorSaveStatus, resetTransactionVendorLocalData, saveTransactionVendor, saveTransactionVendorSuccessOrFailure, updateTransactionVendorLocalData, } from './view/commonVendorView/transactionVendorView/transactionVendorViewReducer';
129
131
  import { getTransactionVendorView, } from './view/commonVendorView/transactionVendorView/transactionVendorViewSelector';
@@ -226,7 +228,7 @@ import { HORIZONTAL_CLASS_TOTAL_BALANCE_ID, isHorizontalAccountReportData, } fro
226
228
  import { fetchProfitAndLossClassesView, resetProfitAndLossClassesNodeCollapseState, updateClassViewLayout, updateAccountViewMode as updateProfitAndLossAccountViewMode, updateClassesToFilterOut as updateProfitAndLossClassesToFilterOut, updateProfitAndLossClassesViewUIState, } from './view/profitAndLossClassesView/profitAndLossClassesViewReducer';
227
229
  import { getProfitAndLossClassesView } from './view/profitAndLossClassesView/profitAndLossClassesViewSelector';
228
230
  import { isPandLReportViewCalculatedSectionID, isPandLReportViewSectionID, } from './view/profitAndLossClassesView/profitAndLossClassesViewSelectorTypes';
229
- import { clearProfitAndLossProjectView, fetchProfitAndLossForTimeframeProjectView, fetchProfitAndLossProjectView, resetProfitAndLossProjectNodeCollapseState, updateProjectViewAccountViewMode, updateProjectsToFilterOut, updateProfitAndLossProjectViewUIState, } from './view/profitAndLossProjectView/profitAndLossProjectViewReducer';
231
+ import { clearProfitAndLossProjectView, fetchProfitAndLossForTimeframeProjectView, fetchProfitAndLossProjectView, resetProfitAndLossProjectNodeCollapseState, updateProfitAndLossProjectViewUIState, updateProjectViewAccountViewMode, updateProjectsToFilterOut, } from './view/profitAndLossProjectView/profitAndLossProjectViewReducer';
230
232
  import { getProfitAndLossProjectView } from './view/profitAndLossProjectView/profitAndLossProjectViewSelector';
231
233
  import { fetchEntityRecommendationsByTransactionId, fetchRecommendationByEntityId, fetchRecommendationByEntityName, } from './view/recommendation/recommendationReducer';
232
234
  import { clearReferrals, fetchReferrals, fetchRewardsPlan, resendReferralInvite, saveReferralFormDataInLocalStore, sendReferralInvite, updateReferViewed, updateReferralListSortUiState, } from './view/referralView/referralReducer';
@@ -355,14 +357,14 @@ import { getSubscriptionEstimationData, getSubscriptionListView, getSubscription
355
357
  import { toSubscriptionSortKeyType, } from './view/subscriptionView/types/subscriptionTypes';
356
358
  import { createTag, deleteTag, fetchTagList, } from './view/tagView/tagViewReducer';
357
359
  import { getAllTags } from './view/tagView/tagViewSelector';
358
- import { initialTaskDetail, initialTaskDetailLocalData, } from './view/taskManager/taskDetailView/taskDetail';
359
- import { archiveTask, deleteTask, discardTaskUpdatesInLocalStore, fetchTaskDetailPage, saveTaskDetail, saveTaskUpdatesToLocalStore, snoozeTask, unsnoozeTask, } from './view/taskManager/taskDetailView/taskDetailReducer';
360
360
  import { deleteCannedResponse, fetchCannedResponses, saveCannedResponse, } from './view/taskManager/cannedResponsesView/cannedResponsesReducer';
361
361
  import { getCannedResponsesView } from './view/taskManager/cannedResponsesView/cannedResponsesSelector';
362
+ import { initialTaskDetail, initialTaskDetailLocalData, } from './view/taskManager/taskDetailView/taskDetail';
363
+ import { archiveTask, deleteTask, discardTaskUpdatesInLocalStore, fetchTaskDetailPage, saveTaskDetail, saveTaskUpdatesToLocalStore, snoozeTask, unsnoozeTask, } from './view/taskManager/taskDetailView/taskDetailReducer';
362
364
  import { allTaskPriority, allTaskStatus, getTaskDetail, } from './view/taskManager/taskDetailView/taskDetailSelector';
363
365
  import { createTaskFromTaskGroupTemplate } from './view/taskManager/taskGroupTemplateView/taskGroupTemplateViewReducer';
364
366
  import { createNewTaskGroup, deleteTaskGroup, fetchAllTaskGroups, updateTaskGroupName, } from './view/taskManager/taskGroupView/taskGroupViewReducer';
365
- import { TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CATEGORIES, toDueDateGroupKeyType, toTaskListGroupByKeyType, toTaskListGroupByKeyTypeStrict, ALL_TASK_LIST_TABS, } from './view/taskManager/taskListView/taskList';
367
+ import { ALL_TASK_LIST_TABS, TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CATEGORIES, toDueDateGroupKeyType, toTaskListGroupByKeyType, toTaskListGroupByKeyTypeStrict, } from './view/taskManager/taskListView/taskList';
366
368
  import { bulkUpdateTaskList, dragNDropTasks, fetchTaskListPage, initiateTaskListLocalData, removeTaskFromList, updateTaskFilters, updateTaskFromListView, updateTaskListLocalData, updateTaskListSearchText, updateTaskListTab, updateTaskListUIState, } from './view/taskManager/taskListView/taskListReducer';
367
369
  import { getAllTasks, } from './view/taskManager/taskListView/taskListSelector';
368
370
  import { getDueDateValueFromDueDateGroupId, getTaskUpdates, } from './view/taskManager/taskListView/taskListViewHelpers';
@@ -413,11 +415,17 @@ import { fetchZeniAccStatementPage } from './view/zeniAccStatementList/zeniAccSt
413
415
  import { getZeniAccStatements, } from './view/zeniAccStatementList/zeniAccStatementListSelector';
414
416
  import { fetchZeniAccountsPromoCard } from './view/zeniAccountsPromoCard/zeniAccountsPromoCardReducer';
415
417
  import { getZeniAccountsPromoCard, } from './view/zeniAccountsPromoCard/zeniAccountsPromoCardSelector';
416
- import { approveOAuthConsent, approveOAuthConsentFailure, approveOAuthConsentSuccess, clearZeniOAuthView, } from './view/zeniOAuthView/zeniOAuthReducer';
417
418
  import { parseOAuthParams, } from './view/zeniOAuthView/zeniOAuthParamsParser';
419
+ import { approveOAuthConsent, approveOAuthConsentFailure, approveOAuthConsentSuccess, clearZeniOAuthView, } from './view/zeniOAuthView/zeniOAuthReducer';
418
420
  import { getZeniOAuthApproveError, getZeniOAuthApproveFetchState, getZeniOAuthApproveRedirectUrl, } from './view/zeniOAuthView/zeniOAuthSelector';
419
421
  import { Dayjs, date, dateFromYearMonthDate, dateInLocal, dateLocal, dateNow, getBusinessDayOfDate, getLocalTimezone, getMinDate, getMonthIndex, setLocalTimezone, updateZeniDateLocaleID, } from './zeniDayJS';
420
422
  import { toZeniUrl, toZeniUrlWithoutBaseURL } from './zeniUrl';
423
+ export { fetchCreditAgentAccess, scheduleTenantCreditScoreCron, fetchCreditAgentMacro, saveCreditAgentMacro, resetSaveMacroState, fetchCardProfiles, updateCardProfile, updateCreditAgentUIState, clearCreditAgentView, } from './view/creditAgentView/creditAgentViewReducer';
424
+ export { toCardTenantProfileRow, toMacro, } from './entity/creditAgent/creditAgentPayload';
425
+ export { getCreditAgentView, getCreditAgentEntity, getCreditAgentMacro, getCardProfilesData, } from './view/creditAgentView/creditAgentViewSelector';
426
+ export { getCreditReportDownloadPayload } from './view/creditAgentView/buildCreditReportCsv';
427
+ export { clearAllCreditAgent, updateCreditAgentMacro, updateCreditAgentRow, updateCreditAgentRows, } from './entity/creditAgent/creditAgentReducer';
428
+ export { getCreditAgentRows, getCreditAgentMacroEntity, } from './entity/creditAgent/creditAgentSelector';
421
429
  export { saveJeAccountSettings, saveJeAccountSettingsLocalData };
422
430
  export default initialize;
423
431
  export { initializePusher, disconnectPusher, Dayjs, dateInLocal as zeniDateInLocal, date as zeniDate, dateLocal, dateNow, getBusinessDayOfDate, formatZeniDateFY as formatZeniDate, getFYMonths, getFYQuarterAndYear, getStartOfAndEndOfTimeframeForFY, getActualPeriodOfFYQtr, getActualPeriodOfFY, getLocalTimezone, addPeriod, subtractPeriod, setLocalTimezone, updateZeniDateLocaleID, toZeniUrl, toZeniUrlWithoutBaseURL, updateZeniAPIClientConfig, zeniAPIClientConfig, injectFeatureEpics, injectFeatureModules, initializeWithNewStore, getTimeframeTickTag, isIncompleteMonthPresentInTimeframeTick, getLastMonthOfFYQuarter, getLastMonthOfFYYear, getMonthIndex, dateFromYearMonthDate, getMinDate, };
@@ -539,7 +547,7 @@ export { fetchVendorsList, updateScrollYOffset, fetchVendorsFiling1099All, fetch
539
547
  export { updateW9FormUploadFetchState, updateW9FormUploadFile, getVendorUploadDetailsByVendorId, vendorFiling1099UploadDetailsSave, vendorFiling1099UploadDetailsResetFormStatus, vendorFiling1099UploadDetailsResetLocalData, initializeVendorFiling1099UploadDetailsLocalState, updateVendor1099DetailsLocalData, updateW9FormOCRDataToLocalData, };
540
548
  export { toOutsideZeniPaymentModeType, checkShowMarkAsPaidButton, };
541
549
  export { toRemiSubTabType, toRemiSubTabTypeStrict, toRemiTabType, toRemiTabTypeStrict, toReimbursementTypeCode, getRemiList, getRemiDownloadList, fetchRemiList, fetchRemiListPerTab, updateRemiListTab, updateRemiListSubTab, updateRemiDetailSaveRemiCode, updateRemiListUIState, updateRemiListSearchResult, updateBillListFilterResult, updateRemiListFilterResult, REIMBURSEMENT_FILTER_CATEGORIES, REIMBURSEMENT_FILTER_CATEGORIES_RESTRICTED, updateRemiListDownloadUIState, updateBillListDownloadUIState, updateBillsBulkActionList, removeBillFromBulkActionList, clearAllBillsFromBulkActionList, getBillsBulkReviewView, validateBillsBulkAction, approveOrRejectBillsBulkAction, cancelOrDeleteBillsBulkAction, submitDraftBillsBulkAction, autoReviewPendingApprovalBills, incrementBulkActionProcessedCount, getBillsBulkOperationProgress, clearBillPayBulkActionView, isBillConditionallyValid, getRemisBulkReviewView, getRemisBulkOperationProgress, updateRemisBulkActionList, removeRemiFromBulkActionList, clearAllRemisFromBulkActionList, reviewDraftRemisBulkAction, approveOrRejectRemisBulkAction, cancelOrDeleteRemisBulkAction, submitDraftRemisBulkAction, autoReviewPendingApprovalRemis, clearRemiBulkActionView, incrementRemiBulkActionProcessedCount, updateOutsideZeniPaymentLocalData, discardOutsideZeniPaymentLocalData, checkIfCreatorIsApprover, };
542
- export { getClassList, fetchClassList, };
550
+ export { getClassList, fetchClassList, getProjectList, fetchProjectList, };
543
551
  export { fetchBillList, fetchBillListPerTab, updateTab, updateSubTab, updateSelectedBillId, updateBillDetailSaveBillCode, fetchVendorByNameAndParseInvoice, saveBillUpdatesToLocalStore, discardBillUpdatesInLocalStore, saveBillDetail, approveOrRejectBill, updateApprovalStatusOnSuccess, deleteBill, cancelAndDeleteBill, retryOrRefundBill, getBillList, getBillDownloadList, getBillDetailView, checkApproveRejectBtnShowForBill, getBillTransactionDetailKey, fetchBillDetail, fetchEditBillDetailPage, fetchAndUpdateVendorRecommendations, fetchDuplicateBill, clearBillPayReview, getEditBillDetail, getReviewPageBillDetail, fetchBillAndInitializeLocalStore, updateShowAutofill, saveVendorSuccessOrFailure, updateBillListUIState, BILL_PAY_FILTER_CATEGORIES, updateVendorDetailLocalData, resetVendorDetailLocalData, resetVendorSaveStatus, updateContactsInVendorDetailLocalData, updateVendorTabDetailUIState, updateContactsInVendorTabDetailLocalData, updateBillUploadFetchState, updateBillListSearchResult, fetchUserDetails, verifyUser, updateVendorContact, toPaymentToOption, convertAmountToHomeCurrency, fetchVendorAndUpdateBillLocalData, markBillForRetry, updateWithdrawFromAccountId, removeBillFileFromLocalStore, replaceBillFileInLocalStore, updateShouldReplaceBillData, };
544
552
  export { hideCreatedByFilter, };
545
553
  export { fetchBillPaySetupView, fetchZeniAccountSetupView, enableSetup, getPaymentAccounts, getPlaidLinkToken, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData, updateBusinessVerificationDetails, updatePaymentAccount, updatePaymentAccountLoginStatus, updatePaymentAccountStatus, establishPlaidConnection, updateMappedCashAccount, updatePrimaryFundingAccount, acceptBillPayTerms, acceptZeniAccountTerms, acceptBillPayUpdatedTerms, saveSetupViewDataInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, saveIndustryAndIncDateInLocalStore, clearSetupViewDataInLocalStore, clearBillPaySetupView, clearZeniAccountSetupView, sendOtp, resendOtp, verifyOtp, getBillPaySetupViewDetails, getPlaidAccountDetails, getZeniAccountSetupViewDetails, getBusinessVerificationDetails, getBillPayBusinessVerificationDetails, getZeniAccountBusinessVerificationDetails, getTreasuryBusinessVerificationDetails, getCommonSetupViewDetails, getTwoFactorAuthenticationView, getTwoFactorAuthenticationViewForCardUserOnboarding, getTwoFactorAuthenticationViewForChargeCardHolder, };
@@ -610,7 +618,7 @@ export { toNotificationSubTabTypeStrict, toNotificationTabTypeStrict, fetchNotif
610
618
  export { clearFeatureNotificationView, fetchRegisteredInterests, notifyMeForFeature, getFeatureNotificationView, getRegisteredInterests, getRegisteredInterestsByFeature, isFeatureInterestRegistered, };
611
619
  export { pushToastNotification, getLastNotificationTime, getNotifications, };
612
620
  export { getReferralListView, getInviteFormView, toReferralListViewSortKeyType, StatusTypes, AmountStatusTypes, fetchReferrals, sendReferralInvite, clearReferrals, saveReferralFormDataInLocalStore, updateReferralListSortUiState, resendReferralInvite, fetchRewardsPlan, getRewardsPlanCard, updateReferViewed, };
613
- export { getRecurringEndDateFromCount, toRecurringFrequency, getMinAllowedEndDate, };
621
+ export { ALL_WEEK_DAYS, SEMI_WEEKLY_REQUIRED_DAYS_COUNT, getMinAllowedEndDate, getRecurringEndDateFromCount, toDayOfWeek, toRecurringFrequency, };
614
622
  export { fetchCompanyTaskManagerView, fetchTaskManagerMetrics, getCompanyTaskManagerView, createTaskFromTaskGroupTemplate, };
615
623
  export { fetchInternationalVerificationForm, submitInternationalVerificationForm, updateVerificationFormLocalData, getIntlWireVerificationView, };
616
624
  export { fetchExpressPayInitialDetails, updateExpressPayFormLocalData, submitExpressPay, resetExpressPayLocalData, getExpressPayView, };
@@ -3,6 +3,8 @@ import account, { initialState as initialAccountState, } from './entity/account/
3
3
  import accountGroup, { initialState as initialAccountGroupState, } from './entity/accountGroup/accountGroupReducer';
4
4
  import accountRecon, { initialState as initialAccountReconState, } from './entity/accountRecon/accountReconReducer';
5
5
  import address, { initialState as initialAddressState, } from './entity/address/addressReducer';
6
+ import aiAccountantCustomer, { initialAiAccountantCustomerState, } from './entity/aiAccountantCustomer/aiAccountantCustomerReducer';
7
+ import creditAgentEntity, { initialCreditAgentEntityState, } from './entity/creditAgent/creditAgentReducer';
6
8
  import aiCfo, { initialAiCfoState } from './entity/aiCfo/aiCfoReducer';
7
9
  import approvalRule, { initialState as initialApprovalRuleState, } from './entity/approvalRule/approvalRuleReducer';
8
10
  import bankAccount, { initialState as initialBankAccountState, } from './entity/bankAccount/bankAccountReducer';
@@ -14,7 +16,6 @@ import chargeCard, { initialState as initialChargeCardState, } from './entity/ch
14
16
  import chargeCardRepayment, { initialState as initialChargeCardRepaymentState, } from './entity/chargeCardRepayment/chargeCardRepaymentReducer';
15
17
  import chargeCardTransaction, { initialState as initialChargeCardTransactionState, } from './entity/chargeCardTransaction/chargeCardTransactionReducer';
16
18
  import classes, { initialState as initialClassState, } from './entity/class/classReducer';
17
- import project, { initialState as initialProjectState, } from './entity/project/projectReducer';
18
19
  import company, { initialState as initialCompanyState, } from './entity/company/companyReducer';
19
20
  import companyHealthMetric, { initialState as initialCompanyHealthMetricState, } from './entity/companyHealthMetric/companyHealthMetricReducer';
20
21
  import connectedAccount, { initialState as initialConnectedAccountState, } from './entity/connectedAccount/connectedAccountReducer';
@@ -39,6 +40,7 @@ import onboardingCustomer, { initialState as initialOnboardingCustomerState, } f
39
40
  import paymentAccount, { initialState as initialPaymentAccountState, } from './entity/paymentAccount/paymentAccountReducer';
40
41
  import paymentInstrument, { initialState as initialPaymentInstrumentState, } from './entity/paymentInstrument/paymentInstrumentReducer';
41
42
  import accountingSummary, { initialState as initialAccountingSummaryState, } from './entity/portfolio/accountingSummary/accountingSummaryReducer';
43
+ import project, { initialState as initialProjectState, } from './entity/project/projectReducer';
42
44
  import reimbursement, { initialState as initialReimbursementState, } from './entity/reimbursement/reimbursementReducer';
43
45
  import sectionAccountsView, { initialState as initialSectionAccountsViewState, } from './entity/sectionAccountsView/sectionAccountsViewReducer';
44
46
  import sectionClassesViewV2, { initialState as initialSectionClassesViewStateV2, } from './entity/sectionClassesViewV2/sectionClassesViewReducer';
@@ -67,10 +69,9 @@ import vendorExpense, { initialState as initialVendorExpenseState, } from './ent
67
69
  import accountList, { initialState as initialAccountListState, } from './view/accountList/accountListReducer';
68
70
  import accountMapping, { initialState as initialAccountMappingState, } from './view/accountMappingView/accountMappingReducer';
69
71
  import addressView, { initialState as initialAddressViewState, } from './view/addressView/addressViewReducer';
72
+ import aiAccountantView, { initialAiAccountantViewState, } from './view/aiAccountantView/aiAccountantViewReducer';
70
73
  import aggregatedReport, { initialState as initialAggregatedReportViewState, } from './view/aiAgentPerformance/aggregatedReportViewReducer';
71
74
  import aiCfoView, { initialAiCfoViewState, } from './view/aiCfoView/aiCfoViewReducer';
72
- import aiAccountantCustomer, { initialAiAccountantCustomerState, } from './entity/aiAccountantCustomer/aiAccountantCustomerReducer';
73
- import aiAccountantView, { initialAiAccountantViewState, } from './view/aiAccountantView/aiAccountantViewReducer';
74
75
  import apAgingDetail, { initialState as initialApAgingDetailState, } from './view/apAgingView/apAgingDetail/apAgingDetailReducer';
75
76
  import apAging, { initialState as initialApAgingState, } from './view/apAgingView/apAgingReport/apAgingReducer';
76
77
  import arAgingDetail, { initialState as initialArAgingDetailState, } from './view/arAgingView/arAgingDetail/arAgingDetailReducer';
@@ -97,6 +98,7 @@ import companyHealthMetricView, { initialState as initialCompanyHealthMetricView
97
98
  import companyMonthEndReportView, { initialState as initialCompanyMonthEndReportViewState, } from './view/companyMonthEndReportView/companyMonthEndReportViewReducer';
98
99
  import companyTaskManagerView, { initialState as initialCompanyTaskManagerViewState, } from './view/companyTaskManagerView/companyTaskManagerViewReducer';
99
100
  import companyView, { initialState as initialCompanyViewState, } from './view/companyView/companyViewReducer';
101
+ import creditAgentView, { initialState as initialCreditAgentViewState, } from './view/creditAgentView/creditAgentViewReducer';
100
102
  import dashboard, { initialState as initialDashboardState, } from './view/dashboard/dashboardReducer';
101
103
  import dashboardLayout, { initialState as initialDashboardLayoutState, } from './view/dashboardLayout/dashboardLayoutReducer';
102
104
  import expenseAutomationView, { initialState as initialExpenseAutomationViewState, } from './view/expenseAutomationView/expenseAutomationViewReducer';
@@ -128,6 +130,7 @@ import people, { initialState as initialPeopleState, } from './view/people/peopl
128
130
  import profitAndLoss, { initialState as initialProfitAndLossState, } from './view/profitAndLoss/profitAndLossReducer';
129
131
  import profitAndLossClassesView, { initialState as initialProfitAndLossClassesViewState, } from './view/profitAndLossClassesView/profitAndLossClassesViewReducer';
130
132
  import profitAndLossProjectView, { initialState as initialProfitAndLossProjectViewState, } from './view/profitAndLossProjectView/profitAndLossProjectViewReducer';
133
+ import projectList, { initialState as initialProjectListState, } from './view/projectList/projectListReducer';
131
134
  import recommendation, { initialState as initialEntityRecommendationState, } from './view/recommendation/recommendationReducer';
132
135
  import referralView, { initialState as initialReferralViewState, } from './view/referralView/referralReducer';
133
136
  import reimbursementCard, { initialState as initialReimbursementCardState, } from './view/reimbursementCard/reimbursementCardReducer';
@@ -341,6 +344,8 @@ const initialViewsState = {
341
344
  companyTaskManagerViewState: initialCompanyTaskManagerViewState,
342
345
  companyViewState: initialCompanyViewState,
343
346
  countryListState: initialCountryListState,
347
+ creditAgentEntityState: initialCreditAgentEntityState,
348
+ creditAgentViewState: initialCreditAgentViewState,
344
349
  dashboardLayoutState: initialDashboardLayoutState,
345
350
  dashboardState: initialDashboardState,
346
351
  depositAccountListState: initialDepositAccountListState,
@@ -386,6 +391,7 @@ const initialViewsState = {
386
391
  profitAndLossClassesViewState: initialProfitAndLossClassesViewState,
387
392
  profitAndLossProjectViewState: initialProfitAndLossProjectViewState,
388
393
  profitAndLossState: initialProfitAndLossState,
394
+ projectListState: initialProjectListState,
389
395
  realTimeApprovalState: initialRealTimeApprovalState,
390
396
  referralViewState: initialReferralViewState,
391
397
  reimbursementCardState: initialReimbursementCardState,
@@ -573,6 +579,8 @@ const viewReducers = {
573
579
  companyTaskManagerViewState: companyTaskManagerView,
574
580
  companyViewState: companyView,
575
581
  countryListState: countryList,
582
+ creditAgentEntityState: creditAgentEntity,
583
+ creditAgentViewState: creditAgentView,
576
584
  dashboardState: dashboard,
577
585
  dashboardLayoutState: dashboardLayout,
578
586
  depositAccountListState: depositAccountList,
@@ -619,6 +627,7 @@ const viewReducers = {
619
627
  profitAndLossClassesViewState: profitAndLossClassesView,
620
628
  profitAndLossProjectViewState: profitAndLossProjectView,
621
629
  profitAndLossState: profitAndLoss,
630
+ projectListState: projectList,
622
631
  realTimeApprovalState: realTimeApproval,
623
632
  referralViewState: referralView,
624
633
  reimbursementCardState: reimbursementCard,
@@ -3,11 +3,13 @@ const ALL_RECURRING_FREQUENCY = [
3
3
  'daily',
4
4
  'weekly',
5
5
  'biweekly',
6
+ 'semi_weekly',
6
7
  'monthly',
7
8
  'quarterly',
8
9
  ];
9
10
  export const toRecurringFrequency = (v) => stringToUnion(v, ALL_RECURRING_FREQUENCY);
10
11
  export const toRecurringFrequencyStrict = (v) => stringToUnionStrict(v ?? '', ALL_RECURRING_FREQUENCY);
12
+ export const SEMI_WEEKLY_REQUIRED_DAYS_COUNT = 2;
11
13
  const ALL_RECURRING_DATE_PICKER_OPTIONS = ['date', 'recurringCount'];
12
14
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
15
  const toRecurringDatePickerOptions = (v) => stringToUnion(v, ALL_RECURRING_DATE_PICKER_OPTIONS);
@@ -15,6 +17,8 @@ export const getRecurringFrequencyInDays = (frequency) => {
15
17
  switch (frequency) {
16
18
  case 'daily':
17
19
  return 1;
20
+ case 'semi_weekly':
21
+ return 3;
18
22
  case 'weekly':
19
23
  return 7;
20
24
  case 'biweekly':
@@ -35,6 +39,17 @@ export const getRecurringEndDateFromCount = (startDate, frequency, recurringCoun
35
39
  case 'biweekly':
36
40
  endDate = startDate.add(getRecurringFrequencyInDays(frequency) * (recurringCount - 1), 'day');
37
41
  break;
42
+ case 'semi_weekly': {
43
+ // Two semi-weekly occurrences span exactly 7 days regardless of which
44
+ // two weekdays are picked (since gap1 + gap2 = 7). So odd counts are
45
+ // exact; even counts use the conservative half-week step (4 days).
46
+ const stepsRemaining = recurringCount - 1;
47
+ const fullWeekPairs = Math.floor(stepsRemaining / 2);
48
+ const hasOddTailStep = stepsRemaining % 2 === 1;
49
+ const days = fullWeekPairs * 7 + (hasOddTailStep ? 4 : 0);
50
+ endDate = startDate.add(days, 'day');
51
+ break;
52
+ }
38
53
  case 'monthly':
39
54
  endDate = startDate.add(recurringCount - 1, 'month');
40
55
  break;
@@ -51,6 +66,8 @@ export const getMinAllowedEndDate = (frequency, startDate) => {
51
66
  switch (frequency) {
52
67
  case 'daily':
53
68
  return startDate.add(1, 'day');
69
+ case 'semi_weekly':
70
+ return startDate.add(3, 'day');
54
71
  case 'weekly':
55
72
  return startDate.add(7, 'day');
56
73
  case 'biweekly':
@@ -0,0 +1,44 @@
1
+ const CREDIT_REPORT_COLUMNS = [
2
+ 'Customer Name',
3
+ 'Card Status',
4
+ 'Credit Limit ($)',
5
+ 'Credit Score',
6
+ 'Recommended Amount ($)',
7
+ 'Rationale',
8
+ 'Report Date',
9
+ 'Tenant Email Domain',
10
+ 'Tenant ID',
11
+ 'Company ID',
12
+ 'Updated By',
13
+ 'Updated On',
14
+ ];
15
+ function rowToFields(row) {
16
+ return [
17
+ row.customerName,
18
+ row.cardStatus,
19
+ row.creditLimit,
20
+ row.creditScore,
21
+ row.recommendedAmount,
22
+ row.rationale,
23
+ row.reportDate?.format('YYYY-MM-DD'),
24
+ row.tenantEmailDomain,
25
+ row.tenantId,
26
+ row.companyId,
27
+ row.updatedByName,
28
+ row.updatedOn?.format('YYYY-MM-DD'),
29
+ ];
30
+ }
31
+ /**
32
+ * Build the payload for the web-app-v2 table download endpoint.
33
+ *
34
+ * The component calls this, then GETs the endpoint with the payload
35
+ * as a query param and handles the blob response as a file download.
36
+ */
37
+ export function getCreditReportDownloadPayload(rows) {
38
+ return {
39
+ columns: CREDIT_REPORT_COLUMNS,
40
+ rows: rows.map(rowToFields),
41
+ file_name: 'credit-report',
42
+ sheet_name: 'Credit Report',
43
+ };
44
+ }
@@ -0,0 +1,2 @@
1
+ // Re-export entity payload types and mapping functions.
2
+ export { toCardTenantProfileRow, toMacro, } from '../../entity/creditAgent/creditAgentPayload';
@@ -0,0 +1,183 @@
1
+ import { createSlice } from '@reduxjs/toolkit';
2
+ const initialTenantView = {
3
+ analyzeStatus: { fetchState: 'Not-Started' },
4
+ updateStatus: { fetchState: 'Not-Started' },
5
+ };
6
+ function getOrCreateTenantView(draft, tenantId) {
7
+ if (draft.tenantViewByTenantId[tenantId] == null) {
8
+ draft.tenantViewByTenantId[tenantId] = {
9
+ ...initialTenantView,
10
+ tenantId,
11
+ };
12
+ }
13
+ return draft.tenantViewByTenantId[tenantId];
14
+ }
15
+ export const initialCreditAgentViewState = {
16
+ access: {
17
+ fetchStatus: { fetchState: 'Not-Started' },
18
+ isAllowed: false,
19
+ },
20
+ macro: {
21
+ fetchStatus: { fetchState: 'Not-Started' },
22
+ updateStatus: { fetchState: 'Not-Started' },
23
+ },
24
+ profilesFetchStatus: { fetchState: 'Not-Started' },
25
+ tenantViewByTenantId: {},
26
+ uiState: {
27
+ filterText: '',
28
+ focus: 'All',
29
+ minScore: 0,
30
+ sortDir: 'asc',
31
+ sortKey: undefined,
32
+ },
33
+ };
34
+ const creditAgentView = createSlice({
35
+ name: 'creditAgentView',
36
+ initialState: initialCreditAgentViewState,
37
+ reducers: {
38
+ // ── Access ──
39
+ fetchCreditAgentAccess(draft) {
40
+ draft.access.fetchStatus = { fetchState: 'In-Progress' };
41
+ },
42
+ fetchCreditAgentAccessSuccess(draft, action) {
43
+ draft.access.fetchStatus = { fetchState: 'Completed' };
44
+ draft.access.isAllowed = action.payload;
45
+ },
46
+ fetchCreditAgentAccessFailure(draft, action) {
47
+ draft.access.fetchStatus = { fetchState: 'Error', error: action.payload };
48
+ },
49
+ // ── Card Profiles (list-level fetch) ──
50
+ fetchCardProfiles(draft) {
51
+ draft.profilesFetchStatus = { fetchState: 'In-Progress' };
52
+ },
53
+ fetchCardProfilesSuccess(draft, action) {
54
+ draft.profilesFetchStatus = { fetchState: 'Completed' };
55
+ // Replace entire tenantViewByTenantId, preserving existing statuses
56
+ // for tenants still present, removing stale ones.
57
+ draft.tenantViewByTenantId = toTenantViewByTenantId(action.payload, draft.tenantViewByTenantId);
58
+ },
59
+ fetchCardProfilesFailure(draft, action) {
60
+ draft.profilesFetchStatus = { fetchState: 'Error', error: action.payload };
61
+ },
62
+ // ── Update Card Profile (per-tenant) ──
63
+ updateCardProfile: {
64
+ reducer(draft, action) {
65
+ const tv = getOrCreateTenantView(draft, action.payload.tenantId);
66
+ tv.updateStatus = { fetchState: 'In-Progress' };
67
+ },
68
+ prepare(payload) {
69
+ return { payload };
70
+ },
71
+ },
72
+ updateCardProfileSuccess: {
73
+ reducer(draft, action) {
74
+ const tv = getOrCreateTenantView(draft, action.payload.tenantId);
75
+ tv.updateStatus = { fetchState: 'Completed' };
76
+ },
77
+ prepare(tenantId) {
78
+ return { payload: { tenantId } };
79
+ },
80
+ },
81
+ updateCardProfileFailure: {
82
+ reducer(draft, action) {
83
+ const tv = getOrCreateTenantView(draft, action.payload.tenantId);
84
+ tv.updateStatus = {
85
+ fetchState: 'Error',
86
+ error: action.payload.error,
87
+ };
88
+ },
89
+ prepare(tenantId, error) {
90
+ return { payload: { tenantId, error } };
91
+ },
92
+ },
93
+ // ── Analyze / Schedule Cron (per-tenant) ──
94
+ scheduleTenantCreditScoreCron: {
95
+ reducer(draft, action) {
96
+ if (action.payload.tenantId != null) {
97
+ const tv = getOrCreateTenantView(draft, action.payload.tenantId);
98
+ tv.analyzeStatus = { fetchState: 'In-Progress' };
99
+ }
100
+ },
101
+ prepare(tenantId) {
102
+ return { payload: { tenantId } };
103
+ },
104
+ },
105
+ scheduleTenantCreditScoreCronSuccess: {
106
+ reducer(draft, action) {
107
+ if (action.payload.tenantId != null) {
108
+ const tv = getOrCreateTenantView(draft, action.payload.tenantId);
109
+ tv.analyzeStatus = { fetchState: 'Completed' };
110
+ }
111
+ },
112
+ prepare(tenantId) {
113
+ return { payload: { tenantId } };
114
+ },
115
+ },
116
+ scheduleTenantCreditScoreCronFailure: {
117
+ reducer(draft, action) {
118
+ if (action.payload.tenantId != null) {
119
+ const tv = getOrCreateTenantView(draft, action.payload.tenantId);
120
+ tv.analyzeStatus = {
121
+ fetchState: 'Error',
122
+ error: action.payload.error,
123
+ };
124
+ }
125
+ },
126
+ prepare(tenantId, error) {
127
+ return { payload: { tenantId, error } };
128
+ },
129
+ },
130
+ // ── Macro ──
131
+ fetchCreditAgentMacro(draft) {
132
+ draft.macro.fetchStatus = { fetchState: 'In-Progress' };
133
+ },
134
+ fetchCreditAgentMacroSuccess(draft) {
135
+ draft.macro.fetchStatus = { fetchState: 'Completed' };
136
+ },
137
+ fetchCreditAgentMacroFailure(draft, action) {
138
+ draft.macro.fetchStatus = { fetchState: 'Error', error: action.payload };
139
+ },
140
+ saveCreditAgentMacro: {
141
+ reducer(draft) {
142
+ draft.macro.updateStatus = { fetchState: 'In-Progress' };
143
+ },
144
+ prepare(instructions) {
145
+ return { payload: { instructions } };
146
+ },
147
+ },
148
+ saveCreditAgentMacroSuccess(draft) {
149
+ draft.macro.updateStatus = { fetchState: 'Completed' };
150
+ },
151
+ saveCreditAgentMacroFailure(draft, action) {
152
+ draft.macro.updateStatus = { fetchState: 'Error', error: action.payload };
153
+ },
154
+ resetSaveMacroState(draft) {
155
+ draft.macro.updateStatus = { fetchState: 'Not-Started' };
156
+ },
157
+ // ── UI State ──
158
+ updateCreditAgentUIState(draft, action) {
159
+ Object.assign(draft.uiState, action.payload);
160
+ },
161
+ // ── Clear ──
162
+ clearCreditAgentView() {
163
+ return initialCreditAgentViewState;
164
+ },
165
+ },
166
+ });
167
+ export const { fetchCreditAgentAccess, fetchCreditAgentAccessSuccess, fetchCreditAgentAccessFailure, scheduleTenantCreditScoreCron, scheduleTenantCreditScoreCronSuccess, scheduleTenantCreditScoreCronFailure, fetchCreditAgentMacro, fetchCreditAgentMacroSuccess, fetchCreditAgentMacroFailure, saveCreditAgentMacro, saveCreditAgentMacroSuccess, saveCreditAgentMacroFailure, resetSaveMacroState, fetchCardProfiles, fetchCardProfilesSuccess, fetchCardProfilesFailure, updateCardProfile, updateCardProfileSuccess, updateCardProfileFailure, updateCreditAgentUIState, clearCreditAgentView, } = creditAgentView.actions;
168
+ export { initialCreditAgentViewState as initialState };
169
+ export default creditAgentView.reducer;
170
+ // ── Helpers ──
171
+ const toTenantViewByTenantId = (rows, existing) => {
172
+ const result = {};
173
+ for (const row of rows) {
174
+ const tenantId = row.tenant_id;
175
+ const existingState = existing[tenantId];
176
+ result[tenantId] = existingState ?? {
177
+ analyzeStatus: { fetchState: 'Not-Started' },
178
+ tenantId,
179
+ updateStatus: { fetchState: 'Not-Started' },
180
+ };
181
+ }
182
+ return result;
183
+ };