@zeniai/client-epic-state 4.19.4 → 4.19.6-betaML1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- export declare const toAnimationsFileName: (v: string) => "AIPoweredInvoiceDark" | "AIPoweredInvoiceLight" | "AiAgent" | "AiIconEntry" | "AiIconExit" | "AiIconLoop" | "AiStar" | "AiStarIcon" | "AiStarPlain" | "Angry" | "AutoTransfer" | "Confetti" | "ConfettiSuccess" | "DashboardChristmasSnow" | "DashboardNewYearShow" | "DashboardSidebarBottomChristmas" | "DashboardSidebarBottomHalloween" | "DashboardSidebarBottomNewYear" | "DashboardSidebarBottomThanksgiving" | "DashboardSidebarTopChristmas" | "DashboardSidebarTopHalloween" | "DashboardSidebarTopNewYear" | "DashboardSidebarTopThanksgiving" | "EarnYield" | "FastestWayDark" | "FastestWayLight" | "FinanceTeamDark" | "FinanceTeamLight" | "Happy" | "Liquidity" | "MoneyTransferSuccess" | "MultiLevelApprovalDark" | "MultiLevelApprovalLight" | "NotHappy" | "Protection" | "ReceiptDark" | "ReceiptLight" | "ReimburseDark" | "ReimburseLight" | "RewardsDark" | "RewardsDarkHover" | "RewardsLight" | "RewardsLightHover" | "Secure" | "Success" | "VeryHappy" | "ZeniAssist";
1
+ export declare const toAnimationsFileName: (v: string) => "AiAgent" | "AiIconEntry" | "AiIconExit" | "AiIconLoop" | "AiStar" | "AiStarIcon" | "AiStarPlain" | "AIPoweredInvoiceDark" | "AIPoweredInvoiceLight" | "Angry" | "AutoTransfer" | "CloseCard" | "Confetti" | "ConfettiSuccess" | "DashboardChristmasSnow" | "DashboardNewYearShow" | "DashboardSidebarBottomChristmas" | "DashboardSidebarBottomHalloween" | "DashboardSidebarBottomNewYear" | "DashboardSidebarBottomThanksgiving" | "DashboardSidebarTopChristmas" | "DashboardSidebarTopHalloween" | "DashboardSidebarTopNewYear" | "DashboardSidebarTopThanksgiving" | "EarnYield" | "FastestWayDark" | "FastestWayLight" | "FinanceTeamDark" | "FinanceTeamLight" | "Happy" | "Liquidity" | "LockCard" | "MoneyTransferSuccess" | "MultiLevelApprovalDark" | "MultiLevelApprovalLight" | "NotHappy" | "Protection" | "ReceiptDark" | "ReceiptLight" | "ReimburseDark" | "ReimburseLight" | "RewardsDark" | "RewardsDarkHover" | "RewardsLight" | "RewardsLightHover" | "Secure" | "Success" | "UnlockCard" | "VeryHappy" | "ZeniAssist";
2
2
  export type AnimationFileName = ReturnType<typeof toAnimationsFileName>;
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toAnimationsFileName = void 0;
4
4
  const stringToUnion_1 = require("./stringToUnion");
5
5
  const ALL_ANIMATIONS_FILE_NAMES = [
6
- 'AIPoweredInvoiceDark',
7
- 'AIPoweredInvoiceLight',
8
6
  'AiAgent',
9
7
  'AiIconEntry',
10
8
  'AiIconExit',
@@ -12,8 +10,11 @@ const ALL_ANIMATIONS_FILE_NAMES = [
12
10
  'AiStar',
13
11
  'AiStarIcon',
14
12
  'AiStarPlain',
13
+ 'AIPoweredInvoiceDark',
14
+ 'AIPoweredInvoiceLight',
15
15
  'Angry',
16
16
  'AutoTransfer',
17
+ 'CloseCard',
17
18
  'Confetti',
18
19
  'ConfettiSuccess',
19
20
  'DashboardChristmasSnow',
@@ -33,6 +34,7 @@ const ALL_ANIMATIONS_FILE_NAMES = [
33
34
  'FinanceTeamLight',
34
35
  'Happy',
35
36
  'Liquidity',
37
+ 'LockCard',
36
38
  'MoneyTransferSuccess',
37
39
  'MultiLevelApprovalDark',
38
40
  'MultiLevelApprovalLight',
@@ -48,6 +50,7 @@ const ALL_ANIMATIONS_FILE_NAMES = [
48
50
  'RewardsLightHover',
49
51
  'Secure',
50
52
  'Success',
53
+ 'UnlockCard',
51
54
  'VeryHappy',
52
55
  'ZeniAssist',
53
56
  ];
package/lib/index.d.ts CHANGED
@@ -534,7 +534,7 @@ import { TopExAccount, TopExReport, TopExTimePeriodWithMetaData, TopExpenses } f
534
534
  */
535
535
  import { TOP_EX_TIME_PERIODS, TopExTimePeriod, TopExpense } from './view/topEx/topExState';
536
536
  import { AccountingProviderAttachmentSelector, getAccountingProviderAttachment } from './view/transactionDetail/getAccountingProviderAttachmentSelector';
537
- import { getChangedLineItemCountFromLocalData, isAccountUncategorized } from './view/transactionDetail/transactionDetailLocalDataHelper';
537
+ import { getChangedLineItemCountFromLocalData, isLineAutoCategorized, isAccountUncategorized } from './view/transactionDetail/transactionDetailLocalDataHelper';
538
538
  import { clearTransactionDetailSaveStatus, deleteTransactionAttachment, downloadAccountingProviderAttachment, downloadAccountingProviderAttachmentFailure, downloadAccountingProviderAttachmentSuccess, fetchTransactionDetail, initializeTransactionDetailLocalData, removeEntityRecommendationForLineIdForTransactionDetail, resetAllLineItemsToVendor, resetLineItemsCategoryClassInLocalData, resetSelectedCustomer, resetVendor, saveTransactionDetail, saveTransactionDetailLocalData, setAllLineItemsLocalDataIsUpdateAllChecked, setAllLineItemsToCategoryClassInLocalData, setIsVendorUpdateAllChecked, updateLatestSelectedEntity, updateLocalDataWithTransactionsUpdateWithVendorCheckbox, updateSelectedCustomer, updateSelectedVendor, updateTransactionDetail, updateVendorBulkRecommendationsFetchStatus, updateVendorToAllLineItems, uploadMissingAttachmentSuccess } from './view/transactionDetail/transactionDetailReducer';
539
539
  import { TransactionDetailReport, VendorDetailsView, getInitialUpdatablePeriodsForTransactionRecommendations, getTransactionDetail, getTransactionDetailForTransaction } from './view/transactionDetail/transactionDetailSelector';
540
540
  import { TransactionUpdates, getThirdPartyIdFromTransactionId } from './view/transactionDetail/transactionDetailState';
@@ -775,7 +775,7 @@ export { CustomerSatisfactionInfo };
775
775
  export { fetchCompanyOnboardingView, fetchQBOConnectionPool, updateQBOConnectionPoolExternalConnection, fetchOnboardingCompletedCompanies, saveOnboardingCustomerCompletedStatus, ProductType, ProductGroupType, toProductType, toProductTypeStrict, ProductInfo, getOnboardingCockpitView, getNewOnboardingCustomerView, getOnboardingEmailGroup, initializeOnboardingCustomerViewUpdateData, clearOnboardingCustomerViewUpdateData, saveOnboardingCustomerViewUpdateData, updateOnboardingCustomerListUIState, updateCustomerCreationStatus, updateStatusAfterOnboardingCompleted, saveOnboardingCustomerViewUpdates, saveOnboardingCustomerNotes, saveOnboardingCustomerDataInLocalStore, updateOnboardingCustomerDataInLocalStore, NewOnboardingCustomer, OnboardingCustomer, OnboardingCockpitView, NewOnboardingCustomerView, NewOnboardingCustomerLocalData, OnboardingCustomerCompletedStatus, OnboardingCustomerListUIState, QBOConnectionPool, CustomerCreationStatus, OnboardingCompanyDetails, resetNewOnboardedCustomerId, sendOnboardingCustomerViewInvite, retryBankAccountConnectionForOnboarding, };
776
776
  export { TransactionListByCategoryType, getTransactionsListByCategoryType, getTransactionListUIStateByCategoryType, TransactionCategoryType, };
777
777
  export { TransactionDetailLocalData, TransactionDetailLineItemData, TransactionVendorUpdates, };
778
- export { getChangedLineItemCountFromLocalData, isAccountUncategorized };
778
+ export { getChangedLineItemCountFromLocalData, isLineAutoCategorized, isAccountUncategorized };
779
779
  export { openSnackbar, closeSnackbar, getSnackbar, SnackbarMessageType, SnackbarMessageSections, SnackbarMessageSectionTexts, SnackbarMessageConfig, };
780
780
  export { getSpendManagementEffectiveListPeriod, getSelectedCompanyOfficer, showBillPayPromoPage, showReimbursementPromoPage, getActualPaymentDate, isVerifiedStatusCode, isVerifiedPaymentAccountProviderStatusCode, isBulkProcessing, getBillListUniqueType, getRemiListUniqueType, BulkOperationType, BulkOperationFinishedType, getBulkOperationSuffix, ZeniAccountsPromoConfig, toAccountsPromoConfig, SameDayAchDisablementConfig, toSameDayAchDisablementConfig, isPaymentMethodOutsideZeni, isAwaitingMarkAsPaid, checkIfLowBalance, };
781
781
  export { FilterCategoryValueType, canSendMonthEndEmailReport, shouldEnableCalendarPickerForLastReportSent, };
package/lib/index.js CHANGED
@@ -56,17 +56,17 @@ exports.getPlaidLinkToken = exports.getPaymentAccounts = exports.enableSetup = e
56
56
  exports.isInvalidSessionError = exports.isSuccessResponse = exports.VERIFIED_PAYMENT_ACCOUNT_PROVIDER_VERIFICATION_STATUS = exports.getRemiBusinessVerificationDetails = exports.getRemiSetupViewDetails = exports.clearRemiSetupView = exports.acceptEmployeeRemiTerms = exports.acceptRemiTerms = exports.saveRemiSetupViewDataInLocalStore = exports.updateMileageDetails = exports.fetchRemiSetupView = exports.getUserFinancialAccount = exports.fetchUserFinancialAccount = exports.getIntegrationsView = exports.getBankConnectionsSetupViewDetails = exports.getApprovalRuleViewDetails = exports.getTwoFactorAuthenticationViewForChargeCardHolder = exports.getTwoFactorAuthenticationViewForCardUserOnboarding = exports.getTwoFactorAuthenticationView = exports.getCommonSetupViewDetails = exports.getTreasuryBusinessVerificationDetails = exports.getZeniAccountBusinessVerificationDetails = exports.getBillPayBusinessVerificationDetails = exports.getBusinessVerificationDetails = exports.getZeniAccountSetupViewDetails = exports.getPlaidAccountDetails = exports.getBillPaySetupViewDetails = exports.verifyOtp = exports.resendOtp = exports.sendOtp = exports.clearZeniAccountSetupView = exports.clearBillPaySetupView = exports.clearSetupViewDataInLocalStore = exports.saveIndustryAndIncDateInLocalStore = exports.saveTreasuryAdditionalDocumentsInLocalStore = exports.saveCompnayOfficerAdditionalDocumentsInLocalStore = exports.saveCompnayOfficerPhoneInLocalStore = exports.saveSetupViewDataInLocalStore = exports.acceptBillPayUpdatedTerms = exports.acceptZeniAccountTerms = exports.acceptBillPayTerms = exports.updatePrimaryFundingAccount = exports.updateMappedCashAccount = exports.establishPlaidConnection = exports.updatePaymentAccountStatus = exports.updatePaymentAccountLoginStatus = exports.updatePaymentAccount = exports.updateBusinessVerificationDetails = exports.updateSetupViewLocalStoreData = exports.updateSelectedCompanyOfficer = void 0;
57
57
  exports.parseReceiptsToRemi = exports.saveRemiSuccessOrFailure = exports.saveRemiDetail = exports.removeFileFromRemiUpdatesInLocalStore = exports.discardRemiUpdatesInLocalStore = exports.fetchCurrencyConversionValue = exports.saveRemiUpdatesToLocalStore = exports.initializeRemiToLocalStore = exports.fetchRemiAndInitializeLocalStore = exports.fetchRecommendationsAndUpdateMerchantRecommendations = exports.fetchEditRemiDetailPage = exports.getEditRemiDetail = exports.removeDuplicateReimbursementByLineId = exports.clearDuplicateReimbursementDetail = exports.fetchDuplicateReimbursement = exports.clearRemiDetailView = exports.approveOrRejectRemi = exports.cancelAndDeleteRemi = exports.fetchRemiDetail = exports.deleteRemi = exports.updateIsEditModeRealTimeApprovals = exports.saveRealTimeApproval = exports.checkApproveRejectBtnShowForRemi = exports.getRemiDetailView = exports.clearRemiSetupApproverView = exports.clearRemiSetupApproverViewUpdateData = exports.initializeRemiSetupApproverViewUpdateData = exports.saveRemiSetupApproverViewUpdates = exports.saveRemiSetupApproverViewUpdateData = exports.deleteRemiApprovalRule = exports.fetchRemiApproversDetails = exports.fetchRemiApproversList = exports.fetchRemiSetupApproverView = exports.getRemiSetupApproverUpdateDataView = exports.getRemiSetupApproverView = exports.clearBillPaySetupApproverView = exports.clearBillPaySetupApproverViewUpdateData = exports.initializeBillPaySetupApproverViewUpdateData = exports.saveBillPaySetupApproverViewUpdates = exports.saveBillPaySetupApproverViewUpdateData = exports.deleteBillPayApprovalRule = exports.fetchBillPayApproversList = exports.fetchBillPayApproversDetails = exports.fetchBillPaySetupApproverView = exports.getBillPaySetupApproverUpdateDataView = exports.getBillPaySetupApproverView = exports.toRoleTypeStrict = exports.toAttributeOrRoleTypeStrict = exports.toAttributeTypeStrict = exports.isAccessDeniedError = void 0;
58
58
  exports.getChangedLineItemCountFromLocalData = exports.getTransactionListUIStateByCategoryType = exports.getTransactionsListByCategoryType = exports.retryBankAccountConnectionForOnboarding = exports.sendOnboardingCustomerViewInvite = exports.resetNewOnboardedCustomerId = exports.updateOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerDataInLocalStore = exports.saveOnboardingCustomerNotes = exports.saveOnboardingCustomerViewUpdates = exports.updateStatusAfterOnboardingCompleted = exports.updateCustomerCreationStatus = exports.updateOnboardingCustomerListUIState = exports.saveOnboardingCustomerViewUpdateData = exports.clearOnboardingCustomerViewUpdateData = exports.initializeOnboardingCustomerViewUpdateData = exports.getOnboardingEmailGroup = exports.getNewOnboardingCustomerView = exports.getOnboardingCockpitView = exports.toProductTypeStrict = exports.toProductType = exports.saveOnboardingCustomerCompletedStatus = exports.fetchOnboardingCompletedCompanies = exports.updateQBOConnectionPoolExternalConnection = exports.fetchQBOConnectionPool = exports.fetchCompanyOnboardingView = exports.PAYMENT_BUSINESS_DAYS = exports.holidaysFormatted = exports.isHoliday = exports.getYearsList = exports.filterDays = exports.isHolidayToday = exports.getPreviousNthWorkingDay = exports.getNextNthWorkingDay = exports.toFileTypeStrict = exports.ALL_FILE_TYPES = exports.isAllFetchCompleted = exports.isAnyFetchInProgress = exports.reduceAnyCompletedFetchState = exports.reduceAllFetchState = exports.reduceAnyFetchState = exports.reduceFetchState = exports.clearAddRemiAutoFields = exports.updateHomeCurrencyConversion = exports.updateReimbursementType = exports.clearTentativeMerchantName = exports.updateTentativeMerchantNames = exports.updateUploadFetchState = exports.updateAddRemiAutoFields = exports.clearEditRemiViewDetail = void 0;
59
- exports.getDepositAccountDetailForPDF = exports.getAllDepositAccounts = exports.getDepositAccountDetail = exports.unlinkPaymentAccount = exports.fetchPaymentAccountList = exports.createCheckingAccount = exports.fetchAccountList = exports.fetchZeniAccountList = exports.getZeniAccountList = exports.getZeniAccountsConfigDetail = exports.fetchOwnerList = exports.fetchRecommendationByEntityName = exports.fetchRecommendationByEntityId = exports.fetchEntityRecommendationsByTransactionId = exports.fetchVendorsFiling1099Download = exports.getVendorFiling1099List = exports.toVendorReportIDType = exports.isVendorsTabVisible = exports.isColumnYTDSpend = exports.updateYTDSelectionUIState = exports.updatePageToken = exports.updateSortUiState = exports.getVendorList = exports.LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT = exports.SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT = exports.NEW_INTERNATIONAL_METHOD_SUBTEXT = exports.BILL_NEW_PAYMENT_METHODS = exports.getInternationalSubConfigCodeKey = exports.shouldEnableCalendarPickerForLastReportSent = exports.canSendMonthEndEmailReport = exports.checkIfLowBalance = exports.isAwaitingMarkAsPaid = exports.isPaymentMethodOutsideZeni = exports.toSameDayAchDisablementConfig = exports.toAccountsPromoConfig = exports.getBulkOperationSuffix = exports.getRemiListUniqueType = exports.getBillListUniqueType = exports.isBulkProcessing = exports.isVerifiedPaymentAccountProviderStatusCode = exports.isVerifiedStatusCode = exports.getActualPaymentDate = exports.showReimbursementPromoPage = exports.showBillPayPromoPage = exports.getSelectedCompanyOfficer = exports.getSpendManagementEffectiveListPeriod = exports.getSnackbar = exports.closeSnackbar = exports.openSnackbar = exports.isAccountUncategorized = void 0;
60
- exports.getOnboardingCustomerView = exports.clearOnboardingCustomerViewDataInLocalStore = exports.clearOnboardingCustomerView = exports.saveOnboardingCustomerViewDataInLocalStore = exports.saveOnboardingCompnayOfficerPhoneInLocalStore = exports.updateOnboardingCustomerViewUIState = exports.updateCurrentStep = exports.updateOnboardingCustomerViewLocalStoreData = exports.updateOnboardingCustomerView = exports.updateOnboardingPaymentAccountStatus = exports.updateOnboardingPaymentAccountLoginStatus = exports.updateOnboardingCustomerViewCompleteStatus = exports.updateOnboardingCustomerViewAccountDetails = exports.establishOnboardingPlaidConnection = exports.getOnboardingPlaidLinkToken = exports.fetchOnboardingCustomerSetupView = exports.fetchOnboardingCustomerView = exports.isZeniClearingAccount = exports.ZENI_CLEARING_ACCOUNT = exports.isZeniClearingAccountReport = exports.getCompanyConfig = exports.fetchCompanyConfig = exports.clearTransactionVendorSaveStatus = exports.resetTransactionVendorLocalData = exports.updateTransactionVendorLocalData = exports.saveTransactionVendorSuccessOrFailure = exports.saveTransactionVendor = exports.getTransactionVendorView = exports.getDepositAccountTransactionList = exports.fetchDepositAccountTransactionList = exports.getZeniAccStatements = exports.fetchZeniAccStatementPage = exports.fetchDepositAccountHistoryFailure = exports.fetchDepositAccountHistorySuccess = exports.updateDepositAccount = exports.getCheckDepositDetail = exports.clearCheckDeposit = exports.updateCheckDepositLocalData = exports.depositCheck = exports.fetchDepositAccountDetail = exports.fetchReviewTransferDetail = exports.clearReviewTransferDetail = exports.clearTransferDetail = exports.getTransferDetail = exports.transferMoney = exports.updateDepositToLocalData = exports.updateTransferToLocalData = exports.updateTransferMoneyLocalData = exports.fetchZeniAccountsConfig = exports.fetchDepositAccount = void 0;
61
- exports.fetchDebitCardSummary = exports.getChargeCardBusinessVerificationDetails = exports.companyHealthMetricDropDownOptions = exports.hasCompanyHealthMetricFormFieldChanged = exports.getCompanyHealthMetricView = exports.isCompanyRunwayInfinite = exports.updateChargeCardTransactionAttachments = exports.updateCompanyHealthViewUIState = exports.updateCompanyHealthMetricViewSuccessStatus = exports.updateCompanyHealthMetricViewErrorStatus = exports.updateCompanyHealthMetricLocalStore = exports.saveCompanyHealthMetricById = exports.removeSelectedCompanyId = exports.initializeCompanyHealthMetricViewLocalData = exports.fetchCompanyHealthMetricView = exports.clearCompanyHealthMetricView = exports.updateCompanyHealth = exports.updateCompaniesHealth = exports.fetchCompanyHealthMetricConfig = exports.getCompanyHealthMetricConfig = exports.getUserRoleConfig = exports.fetchUserRoleConfig = exports.clearInternationalWire = exports.deletePaymentInstrument = exports.createPaymentInstrumentUpdateStatus = exports.createPaymentInstrument = exports.fetchInternationalWireDynamicForm = exports.initializeDynamicForm = exports.updateInternationalWireLocalStoreData = exports.initializeInternationalWireLocalData = exports.getInternationalWireView = exports.fetchWiseRedirectStatus = exports.getWiseRedirect = exports.saveMagicLinkAddressInLocalStore = exports.fetchMagicLinkBankNameBySwift = exports.fetchMagicLinkBankNameByRouting = exports.updateMagicLinkInternationalBankAccountLocalStoreData = exports.updateMagicLinkBankAccountLocalStoreData = exports.saveBankAccount = exports.fetchBillAttachment = exports.fetchMagicLinkTenant = exports.getMagicLinkCurrentAddressState = exports.getMagicLinkBankAccountView = exports.getMagicLinkView = exports.initializeAccountMappingView = exports.getAccountMappingView = exports.clearAccountMappingLocalData = exports.saveAccountMappingLocalData = exports.saveAccountMapping = exports.getProductSettingsString = void 0;
62
- exports.fetchDepositAccountListForCards = exports.fetchIssueCardPage = exports.issueChargeCards = exports.toCardType = exports.toShippingAddressType = exports.toCardAddressType = exports.getDepositAccountLimitForChargeCardByDepositAccountId = exports.expressInterestInChargeCard = exports.acceptChargeCardTerms = exports.enableChargeCardAutoPay = exports.fetchChargeCardSetupView = exports.getChargeCardStatements = exports.fetchChargeCardStatementList = exports.getChargeCardSetupViewDetails = exports.getIssueChargeCardView = exports.getDepositAccountListWithDebitCardIssued = exports.toCreditLimitFrequencyCodeType = exports.getZeniDateFromPeriod = exports.getCashbackDetail = exports.toChargeCardSortKeyType = exports.fetchCashbackDetail = exports.fetchChargeCardTransactionList = exports.getChargeCardCVVActivateView = exports.getChargeCardBulkActionView = exports.getChargeCardRowActionView = exports.getChargeCardRecurringExpensesView = exports.getChargeCardRecurringExpensesByCardIds = exports.getDebitCardSetPinView = exports.getChargeCardTransactionAttachmentView = exports.getDepositAccountLimitFetchStateByDepositAccountId = exports.getChargeCardControlDetailView = exports.getChargeCardDetailView = exports.fetchDepositAccountLimit = exports.fetchChargeCardTransactionStatistics = exports.fetchChargeCardDetail = exports.fetchChargeCardDetailPage = exports.getCreditAccountDetails = exports.getChargeCardRepaymentDetail = exports.updateChargeCardRepaymentLocalStore = exports.initiateChargeCardRepayment = exports.fetchChargeCardRepaymentDetail = exports.clearChargeCardRepaymentDetail = exports.getMyRequestOnHoldChargeCardListWithShippingAddress = exports.getMyPendingActivationChargeCardListView = exports.getChargeCardListView = exports.fetchCreditAccountRepayment = exports.fetchCreditAccount = exports.fetchChargeCardConfig = exports.fetchChargeCardListPage = exports.fetchChargeCardList = void 0;
63
- exports.fetchAggregatedReport = exports.toTimeSeriesDuration = exports.convertToTimeSeriesSelectionRange = exports.TIME_SERIES_DURATIONS = exports.anyCardOnHold = exports.getChargeCardById = exports.setCurrentDisplayedCardId = exports.setFirstViewCompleteAfterActivation = exports.setFirstViewAfterActivation = exports.completeCardUserOnboardingActivationWait = exports.startCardUserOnboardingActivationWait = exports.fetchChargeCardsRecurringExpenses = exports.updateChargeCardsSpendLimit = exports.closeChargeCards = exports.unlockChargeCards = exports.lockChargeCards = exports.revokeChargeCardsInvite = exports.updateRowActionCardId = exports.revokeCardInvite = exports.resendCardInvite = exports.updateChargeCardSpendLimitSuccessOrFailure = exports.updateChargeCardSpendLimit = exports.startCVVActivationWait = exports.completeCVVActivationWait = exports.fetchChargeCardTransactionAttachments = exports.updateChargeCardTransactionIsViewReceiptClicked = exports.updateChargeCardTransactionReceiptsShowTickFetchStatus = exports.updateDebitCardPinAttempt = exports.startDebitCardSetPinWait = exports.completeDebitCardSetPinWait = exports.updateChargeCardTransactionUploadReceiptsFetchStatus = exports.saveCardOnboardingUserDetails = exports.updateCardUserOnboardingLocalData = exports.initializeCardUserOnboardingLocalData = exports.getCardUserOnboardingView = exports.updateChargeCardName = exports.closeChargeCard = exports.unlockChargeCard = exports.lockChargeCard = exports.updatePhysicalChargeCardAttempt = exports.updateChargeCardDetail = exports.updateCashbackDetailUIState = exports.updateChargeCardListUIState = exports.updateChargeCardListSearchText = exports.updateBulkActionCardIds = exports.resetIssueChargeCardForm = exports.updateChargeCardsLocalStore = exports.updateCustomAddressId = exports.getDebitCardSummary = exports.getDebitCardList = void 0;
64
- exports.updateScheduleListScrollState = exports.updateScheduleListSearchText = exports.updateScheduleListSubTab = exports.toScheduleSubTabType = exports.toScheduleListTabsFileTypeStrict = exports.toScheduleTypesTypeStrict = exports.toScheduleTypesType = exports.getFetchStateForScheduleAccountList = exports.updateScheduleListLocalData = exports.fetchSchedulesAccount = exports.fetchDownloadSchedules = exports.fetchAccruedScheduleList = exports.fetchScheduleList = exports.getAccruedScheduleListReport = exports.getScheduleListReport = exports.ALL_SCHEDULES_TYPES = exports.resetAccruedDetailNewScheduleState = exports.resetSelectedJEAccruedScheduleKey = exports.updateSelectedJEAccruedScheduleKey = exports.updateScheduleAccruedDetailsLocalData = exports.updateLinkBillExpenseLocalData = exports.clearSelectedJELinkRowIndex = exports.fetchRecommendedTransactionRowIndex = exports.updatedJELinkInLocalDataAccruedExpenses = exports.updatedJEAccruedLinkWithRecommendedLocalData = exports.updateAmountsInScheduleAccruedDetail = exports.saveScheduleAccruedDetails = exports.resetJEAccruedLinkInLocalData = exports.fetchScheduleAccruedDetailsPage = exports.fetchScheduleAccruedDetails = exports.cancelScheduleAccruedJournalEntry = exports.deleteScheduleAccruedDetail = exports.createNewSchedulesAccrued = exports.updateJeScheduleTransactionKeys = exports.updateJeScheduleLocalDataById = exports.retryExpenseAutomationJESchedule = exports.removeJeScheduleTransactionKey = exports.initializeJeScheduleLocalData = exports.initializeJeAccountSettingsView = exports.ignoreExpenseAutomationJESchedule = exports.fetchExpenseAutomationJESchedulesPage = exports.clearExpenseAutomationJESchedulesView = exports.clearExpenseAutomationJEScheduleLocalData = exports.updateApAgingDetailUIState = exports.getApAgingDetailForVendor = exports.fetchApAgingDetail = exports.updateApAgingUIState = exports.getApAgingReport = exports.fetchApAging = exports.aggregatedReportView = void 0;
65
- exports.approveVendorGlobalReview = exports.getGlobalMerchantView = exports.clearGlobalMerchantView = exports.updateCreateGlobalMerchantLocalData = exports.createGlobalMerchant = exports.fetchGlobalMerchantRecommendation = exports.getVendorDetailSelectorView = exports.saveVendorDetailsView = exports.updateReviewVendorDetailLocalData = exports.clearGlobalMerchantAutoCompleteResults = exports.fetchGlobalMerchantAutoCompleteView = exports.updateVendorFirstReviewSortUiState = exports.updateVendorFirstReviewViewLocalData = exports.saveVendorFirstReviewView = exports.clearRecentlySavedErroredVendorData = exports.updateVendorFirstReviewViewPageToken = exports.resetVendorFirstReviewLocalData = exports.updateVendorFirstReviewViewScrollYOffset = exports.fetchVendorFirstReviewAttachments = exports.fetchVendorFirstReviewView = exports.getVendorFirstReviewAttachmentView = exports.getVendorFirstReviewView = exports.getGlobalMerchantAutoCompleteResults = exports.toVendorFirstReviewViewColumnKeyType = exports.getVendorTabView = exports.updateVendorTabViewTab = exports.fetchVendorTabView = exports.resetMarkAsCompleteStatus = exports.markAsCompleteScheduleDetail = exports.getDefaultSelectedTimeframeForScheduleType = exports.getFetchStateForScheduleListByType = exports.updatedJELinkWithRecommendedLocalData = exports.resetJELinkInLocalData = exports.updateAmountsInScheduleDetail = exports.updatedJELinkInLocalData = exports.getThirdPartyIDFromQBOURL = exports.getQBOUrlForLink = exports.updatedSelectedJELinkRowIndex = exports.updateAccruedJEScheduleAccruedByListKey = exports.updateScheduleListDownloadState = exports.updateScheduleDetailsLocalData = exports.createNewSchedules = exports.deleteScheduleDetail = exports.saveScheduleDetails = exports.fetchScheduleDetailsPage = exports.getAccruedScheduleDetailsView = exports.getScheduleDetailsView = exports.fetchScheduleDetails = exports.updateSelectedJEScheduleKey = exports.updateScheduleListSortState = void 0;
66
- exports.toDueDateGroupKeyType = exports.toTaskStatusCodeType = exports.toPriorityCodeType = exports.getDueDateValueFromDueDateGroupId = exports.initialTaskDetail = exports.fetchAllTaskGroups = exports.getTaskUpdates = exports.toTaskListGroupByKeyTypeStrict = exports.toTaskListGroupByKeyType = exports.updateTaskGroupName = exports.dragNDropTasks = exports.updateTaskListLocalData = exports.deleteTaskGroup = exports.initiateTaskListLocalData = exports.createNewTaskGroup = exports.bulkUpdateTaskList = exports.discardTaskUpdatesInLocalStore = exports.deleteTask = exports.TASK_LIST_GROUP_BY_CATEGORIES = exports.TASK_LIST_FILTER_CATEGORIES = exports.updateTaskFilters = exports.allTaskPriority = exports.allTaskStatus = exports.updateTaskListUIState = exports.updateTaskListSearchText = exports.archiveTask = exports.saveTaskDetail = exports.saveTaskUpdatesToLocalStore = exports.fetchTaskDetailPage = exports.getTaskDetail = exports.fetchTaskListPage = exports.getAllTasks = exports.getTaskGroupById = exports.toRecurringBillFrequencyStrict = exports.toRecurringBillFrequency = exports.updateArAgingNodeCollapseState = exports.getArAgingDetailForCustomer = exports.getArAgingReport = exports.updateArAgingDetailUIState = exports.fetchArAgingDetail = exports.updateArAgingUIState = exports.fetchArAging = exports.updateVendorGlobalReviewViewLocalData = exports.toVendorGlobalReviewColumnSortKeyType = exports.getTenantMerchantByMerchantId = exports.getVendorGlobalReviewView = exports.updateVendorGlobalReviewViewUIState = exports.updateSelectedGlobalMerchant = exports.fetchVendorGlobalReviewView = exports.rejectVendorGlobalReview = void 0;
67
- exports.AmountStatusTypes = exports.StatusTypes = exports.toReferralListViewSortKeyType = exports.getInviteFormView = exports.getReferralListView = exports.getNotifications = exports.getLastNotificationTime = exports.pushToastNotification = exports.getNotificationsForSelectedSubTab = exports.getExternalNotificationsForSelectedSubTab = exports.getNotificationView = exports.updateNotificationViewUIState = exports.updateNotificationViewSubTab = exports.updateNotificationViewCurrentTabAndSubTab = exports.updateNotificationViewTabState = exports.updateNotificationViewNotificationStatus = exports.updateNotificationViewAllNotificationsStatus = exports.fetchNotificationUnreadCountSuccess = exports.fetchNotificationUnreadCount = exports.fetchNotificationView = exports.toNotificationTabTypeStrict = exports.toNotificationSubTabTypeStrict = exports.updateCommentsNotificationsStatuses = exports.updateCommentsNotifications = exports.toNotificationModeStrict = exports.fetchZeniAccountsPromoCard = exports.getZeniAccountsPromoCard = exports.getAuthenticationView = exports.fetchCollaborationAuthToken = exports.clearAuditReportGroupViewByCompanyId = exports.saveReasonForAuditRule = exports.fetchAuditReportGroupView = exports.fetchAuditRuleGroupView = exports.getUserFromAllUsers = exports.getAuditRuleGroupViewSelectorView = exports.getAuditReportGroupViewSelectorView = exports.clearCardPaymentView = exports.resetCardPaymentErrorStatuses = exports.fetchPaymentSources = exports.addCardPaymentSource = exports.confirmCardSetupIntent = exports.createCardSetupIntent = exports.getAllCardsAndBankPaymentMethods = exports.deleteTag = exports.createTag = exports.fetchTagList = exports.getAllTags = exports.initialTaskDetailLocalData = exports.convertHHMMStrToMinutes = exports.updateTaskFromListView = void 0;
68
- exports.updateResponseState = exports.acceptMasterTOS = exports.fetchChatHistory = exports.stopSubmitQuestion = exports.stopSubmit = exports.createSessionAndSubmit = exports.clearCurrentSessionId = exports.clearAiCfoView = exports.setSession = exports.clearInput = exports.updateCotCollapsedState = exports.updateCurrentInput = exports.updateAiCfoViewScrollPosition = exports.submitQuestion = exports.createSession = exports.fetchChatSessionsForUser = exports.getTreasuryFundsMaximumYield = exports.getTreasurySetupViewDetails = exports.updateTreasuryVideoViewed = exports.updateFundAllocationLocalData = exports.fetchPortfolioAllocation = exports.updatePortfolioAllocation = exports.fetchTreasuryFunds = exports.clearTreasurySetupView = exports.fetchTreasurySetupView = exports.acceptTreasuryTerms = exports.getExpressPayView = exports.resetExpressPayLocalData = exports.submitExpressPay = exports.updateExpressPayFormLocalData = exports.fetchExpressPayInitialDetails = exports.getIntlWireVerificationView = exports.updateVerificationFormLocalData = exports.submitInternationalVerificationForm = exports.fetchInternationalVerificationForm = exports.createTaskFromTaskGroupTemplate = exports.getCompanyTaskManagerView = exports.fetchCompanyTaskManagerView = exports.getMinAllowedEndDate = exports.toRecurringFrequency = exports.getRecurringEndDateFromCount = exports.updateReferViewed = exports.getRewardsPlanCard = exports.fetchRewardsPlan = exports.resendReferralInvite = exports.updateReferralListSortUiState = exports.saveReferralFormDataInLocalStore = exports.clearReferrals = exports.sendReferralInvite = exports.fetchReferrals = void 0;
69
- exports.getTreasuryTaxLetters = exports.fetchTreasuryTaxLetterList = exports.getTreasuryStatements = exports.fetchTreasuryStatementList = exports.getTreasuryTransferMoney = exports.clearTreasuryTransferMoney = exports.updateTreasuryTransferMoneyLocalData = exports.executeTreasuryTransferMoney = exports.getTreasuryDetail = exports.updateTreasuryTransactionListUIState = exports.fetchTreasuryTransactionList = exports.fetchTreasuryOverviewDetail = exports.toMessageType = exports.toMessageSender = exports.toAiCfoAnswerResponseTypeStrict = exports.toAiCfoAnswerResponseType = exports.toAiCfoAnswerStateTypeStrict = exports.toAiCfoAnswerStateType = exports.toAiCfoChartTypeStrict = exports.toAiCfoChartType = exports.toAiCfoVisualizationTypeStrict = exports.toAiCfoVisualizationType = exports.ALL_AI_CFO_ANSWER_RESPONSE_TYPES = exports.ALL_AI_CFO_ANSWER_STATE_TYPES = exports.ALL_AI_CFO_VISUALIZATION_TYPES = exports.ALL_AI_CFO_CHARTS_TYPES = exports.getAiCfoSelectorView = exports.getAllQuestionsForChatSession = exports.getQuestionAnswerByIdForChatSession = exports.getAllQuestionAnswersForChatSession = exports.toAiCfoVisualization = exports.clearAiCfo = exports.clearSession = exports.addQuestionPayload = exports.upsertOrAddQuestionAnswerPayload = exports.upsertAnswerPayload = exports.setSessions = exports.setNewSession = exports.getAiCfoView = void 0;
59
+ exports.getAllDepositAccounts = exports.getDepositAccountDetail = exports.unlinkPaymentAccount = exports.fetchPaymentAccountList = exports.createCheckingAccount = exports.fetchAccountList = exports.fetchZeniAccountList = exports.getZeniAccountList = exports.getZeniAccountsConfigDetail = exports.fetchOwnerList = exports.fetchRecommendationByEntityName = exports.fetchRecommendationByEntityId = exports.fetchEntityRecommendationsByTransactionId = exports.fetchVendorsFiling1099Download = exports.getVendorFiling1099List = exports.toVendorReportIDType = exports.isVendorsTabVisible = exports.isColumnYTDSpend = exports.updateYTDSelectionUIState = exports.updatePageToken = exports.updateSortUiState = exports.getVendorList = exports.LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT = exports.SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT = exports.NEW_INTERNATIONAL_METHOD_SUBTEXT = exports.BILL_NEW_PAYMENT_METHODS = exports.getInternationalSubConfigCodeKey = exports.shouldEnableCalendarPickerForLastReportSent = exports.canSendMonthEndEmailReport = exports.checkIfLowBalance = exports.isAwaitingMarkAsPaid = exports.isPaymentMethodOutsideZeni = exports.toSameDayAchDisablementConfig = exports.toAccountsPromoConfig = exports.getBulkOperationSuffix = exports.getRemiListUniqueType = exports.getBillListUniqueType = exports.isBulkProcessing = exports.isVerifiedPaymentAccountProviderStatusCode = exports.isVerifiedStatusCode = exports.getActualPaymentDate = exports.showReimbursementPromoPage = exports.showBillPayPromoPage = exports.getSelectedCompanyOfficer = exports.getSpendManagementEffectiveListPeriod = exports.getSnackbar = exports.closeSnackbar = exports.openSnackbar = exports.isAccountUncategorized = exports.isLineAutoCategorized = void 0;
60
+ exports.clearOnboardingCustomerViewDataInLocalStore = exports.clearOnboardingCustomerView = exports.saveOnboardingCustomerViewDataInLocalStore = exports.saveOnboardingCompnayOfficerPhoneInLocalStore = exports.updateOnboardingCustomerViewUIState = exports.updateCurrentStep = exports.updateOnboardingCustomerViewLocalStoreData = exports.updateOnboardingCustomerView = exports.updateOnboardingPaymentAccountStatus = exports.updateOnboardingPaymentAccountLoginStatus = exports.updateOnboardingCustomerViewCompleteStatus = exports.updateOnboardingCustomerViewAccountDetails = exports.establishOnboardingPlaidConnection = exports.getOnboardingPlaidLinkToken = exports.fetchOnboardingCustomerSetupView = exports.fetchOnboardingCustomerView = exports.isZeniClearingAccount = exports.ZENI_CLEARING_ACCOUNT = exports.isZeniClearingAccountReport = exports.getCompanyConfig = exports.fetchCompanyConfig = exports.clearTransactionVendorSaveStatus = exports.resetTransactionVendorLocalData = exports.updateTransactionVendorLocalData = exports.saveTransactionVendorSuccessOrFailure = exports.saveTransactionVendor = exports.getTransactionVendorView = exports.getDepositAccountTransactionList = exports.fetchDepositAccountTransactionList = exports.getZeniAccStatements = exports.fetchZeniAccStatementPage = exports.fetchDepositAccountHistoryFailure = exports.fetchDepositAccountHistorySuccess = exports.updateDepositAccount = exports.getCheckDepositDetail = exports.clearCheckDeposit = exports.updateCheckDepositLocalData = exports.depositCheck = exports.fetchDepositAccountDetail = exports.fetchReviewTransferDetail = exports.clearReviewTransferDetail = exports.clearTransferDetail = exports.getTransferDetail = exports.transferMoney = exports.updateDepositToLocalData = exports.updateTransferToLocalData = exports.updateTransferMoneyLocalData = exports.fetchZeniAccountsConfig = exports.fetchDepositAccount = exports.getDepositAccountDetailForPDF = void 0;
61
+ exports.getChargeCardBusinessVerificationDetails = exports.companyHealthMetricDropDownOptions = exports.hasCompanyHealthMetricFormFieldChanged = exports.getCompanyHealthMetricView = exports.isCompanyRunwayInfinite = exports.updateChargeCardTransactionAttachments = exports.updateCompanyHealthViewUIState = exports.updateCompanyHealthMetricViewSuccessStatus = exports.updateCompanyHealthMetricViewErrorStatus = exports.updateCompanyHealthMetricLocalStore = exports.saveCompanyHealthMetricById = exports.removeSelectedCompanyId = exports.initializeCompanyHealthMetricViewLocalData = exports.fetchCompanyHealthMetricView = exports.clearCompanyHealthMetricView = exports.updateCompanyHealth = exports.updateCompaniesHealth = exports.fetchCompanyHealthMetricConfig = exports.getCompanyHealthMetricConfig = exports.getUserRoleConfig = exports.fetchUserRoleConfig = exports.clearInternationalWire = exports.deletePaymentInstrument = exports.createPaymentInstrumentUpdateStatus = exports.createPaymentInstrument = exports.fetchInternationalWireDynamicForm = exports.initializeDynamicForm = exports.updateInternationalWireLocalStoreData = exports.initializeInternationalWireLocalData = exports.getInternationalWireView = exports.fetchWiseRedirectStatus = exports.getWiseRedirect = exports.saveMagicLinkAddressInLocalStore = exports.fetchMagicLinkBankNameBySwift = exports.fetchMagicLinkBankNameByRouting = exports.updateMagicLinkInternationalBankAccountLocalStoreData = exports.updateMagicLinkBankAccountLocalStoreData = exports.saveBankAccount = exports.fetchBillAttachment = exports.fetchMagicLinkTenant = exports.getMagicLinkCurrentAddressState = exports.getMagicLinkBankAccountView = exports.getMagicLinkView = exports.initializeAccountMappingView = exports.getAccountMappingView = exports.clearAccountMappingLocalData = exports.saveAccountMappingLocalData = exports.saveAccountMapping = exports.getProductSettingsString = exports.getOnboardingCustomerView = void 0;
62
+ exports.fetchIssueCardPage = exports.issueChargeCards = exports.toCardType = exports.toShippingAddressType = exports.toCardAddressType = exports.getDepositAccountLimitForChargeCardByDepositAccountId = exports.expressInterestInChargeCard = exports.acceptChargeCardTerms = exports.enableChargeCardAutoPay = exports.fetchChargeCardSetupView = exports.getChargeCardStatements = exports.fetchChargeCardStatementList = exports.getChargeCardSetupViewDetails = exports.getIssueChargeCardView = exports.getDepositAccountListWithDebitCardIssued = exports.toCreditLimitFrequencyCodeType = exports.getZeniDateFromPeriod = exports.getCashbackDetail = exports.toChargeCardSortKeyType = exports.fetchCashbackDetail = exports.fetchChargeCardTransactionList = exports.getChargeCardCVVActivateView = exports.getChargeCardBulkActionView = exports.getChargeCardRowActionView = exports.getChargeCardRecurringExpensesView = exports.getChargeCardRecurringExpensesByCardIds = exports.getDebitCardSetPinView = exports.getChargeCardTransactionAttachmentView = exports.getDepositAccountLimitFetchStateByDepositAccountId = exports.getChargeCardControlDetailView = exports.getChargeCardDetailView = exports.fetchDepositAccountLimit = exports.fetchChargeCardTransactionStatistics = exports.fetchChargeCardDetail = exports.fetchChargeCardDetailPage = exports.getCreditAccountDetails = exports.getChargeCardRepaymentDetail = exports.updateChargeCardRepaymentLocalStore = exports.initiateChargeCardRepayment = exports.fetchChargeCardRepaymentDetail = exports.clearChargeCardRepaymentDetail = exports.getMyRequestOnHoldChargeCardListWithShippingAddress = exports.getMyPendingActivationChargeCardListView = exports.getChargeCardListView = exports.fetchCreditAccountRepayment = exports.fetchCreditAccount = exports.fetchChargeCardConfig = exports.fetchChargeCardListPage = exports.fetchChargeCardList = exports.fetchDebitCardSummary = void 0;
63
+ exports.toTimeSeriesDuration = exports.convertToTimeSeriesSelectionRange = exports.TIME_SERIES_DURATIONS = exports.anyCardOnHold = exports.getChargeCardById = exports.setCurrentDisplayedCardId = exports.setFirstViewCompleteAfterActivation = exports.setFirstViewAfterActivation = exports.completeCardUserOnboardingActivationWait = exports.startCardUserOnboardingActivationWait = exports.fetchChargeCardsRecurringExpenses = exports.updateChargeCardsSpendLimit = exports.closeChargeCards = exports.unlockChargeCards = exports.lockChargeCards = exports.revokeChargeCardsInvite = exports.updateRowActionCardId = exports.revokeCardInvite = exports.resendCardInvite = exports.updateChargeCardSpendLimitSuccessOrFailure = exports.updateChargeCardSpendLimit = exports.startCVVActivationWait = exports.completeCVVActivationWait = exports.fetchChargeCardTransactionAttachments = exports.updateChargeCardTransactionIsViewReceiptClicked = exports.updateChargeCardTransactionReceiptsShowTickFetchStatus = exports.updateDebitCardPinAttempt = exports.startDebitCardSetPinWait = exports.completeDebitCardSetPinWait = exports.updateChargeCardTransactionUploadReceiptsFetchStatus = exports.saveCardOnboardingUserDetails = exports.updateCardUserOnboardingLocalData = exports.initializeCardUserOnboardingLocalData = exports.getCardUserOnboardingView = exports.updateChargeCardName = exports.closeChargeCard = exports.unlockChargeCard = exports.lockChargeCard = exports.updatePhysicalChargeCardAttempt = exports.updateChargeCardDetail = exports.updateCashbackDetailUIState = exports.updateChargeCardListUIState = exports.updateChargeCardListSearchText = exports.updateBulkActionCardIds = exports.resetIssueChargeCardForm = exports.updateChargeCardsLocalStore = exports.updateCustomAddressId = exports.getDebitCardSummary = exports.getDebitCardList = exports.fetchDepositAccountListForCards = void 0;
64
+ exports.updateScheduleListSearchText = exports.updateScheduleListSubTab = exports.toScheduleSubTabType = exports.toScheduleListTabsFileTypeStrict = exports.toScheduleTypesTypeStrict = exports.toScheduleTypesType = exports.getFetchStateForScheduleAccountList = exports.updateScheduleListLocalData = exports.fetchSchedulesAccount = exports.fetchDownloadSchedules = exports.fetchAccruedScheduleList = exports.fetchScheduleList = exports.getAccruedScheduleListReport = exports.getScheduleListReport = exports.ALL_SCHEDULES_TYPES = exports.resetAccruedDetailNewScheduleState = exports.resetSelectedJEAccruedScheduleKey = exports.updateSelectedJEAccruedScheduleKey = exports.updateScheduleAccruedDetailsLocalData = exports.updateLinkBillExpenseLocalData = exports.clearSelectedJELinkRowIndex = exports.fetchRecommendedTransactionRowIndex = exports.updatedJELinkInLocalDataAccruedExpenses = exports.updatedJEAccruedLinkWithRecommendedLocalData = exports.updateAmountsInScheduleAccruedDetail = exports.saveScheduleAccruedDetails = exports.resetJEAccruedLinkInLocalData = exports.fetchScheduleAccruedDetailsPage = exports.fetchScheduleAccruedDetails = exports.cancelScheduleAccruedJournalEntry = exports.deleteScheduleAccruedDetail = exports.createNewSchedulesAccrued = exports.updateJeScheduleTransactionKeys = exports.updateJeScheduleLocalDataById = exports.retryExpenseAutomationJESchedule = exports.removeJeScheduleTransactionKey = exports.initializeJeScheduleLocalData = exports.initializeJeAccountSettingsView = exports.ignoreExpenseAutomationJESchedule = exports.fetchExpenseAutomationJESchedulesPage = exports.clearExpenseAutomationJESchedulesView = exports.clearExpenseAutomationJEScheduleLocalData = exports.updateApAgingDetailUIState = exports.getApAgingDetailForVendor = exports.fetchApAgingDetail = exports.updateApAgingUIState = exports.getApAgingReport = exports.fetchApAging = exports.aggregatedReportView = exports.fetchAggregatedReport = void 0;
65
+ exports.getGlobalMerchantView = exports.clearGlobalMerchantView = exports.updateCreateGlobalMerchantLocalData = exports.createGlobalMerchant = exports.fetchGlobalMerchantRecommendation = exports.getVendorDetailSelectorView = exports.saveVendorDetailsView = exports.updateReviewVendorDetailLocalData = exports.clearGlobalMerchantAutoCompleteResults = exports.fetchGlobalMerchantAutoCompleteView = exports.updateVendorFirstReviewSortUiState = exports.updateVendorFirstReviewViewLocalData = exports.saveVendorFirstReviewView = exports.clearRecentlySavedErroredVendorData = exports.updateVendorFirstReviewViewPageToken = exports.resetVendorFirstReviewLocalData = exports.updateVendorFirstReviewViewScrollYOffset = exports.fetchVendorFirstReviewAttachments = exports.fetchVendorFirstReviewView = exports.getVendorFirstReviewAttachmentView = exports.getVendorFirstReviewView = exports.getGlobalMerchantAutoCompleteResults = exports.toVendorFirstReviewViewColumnKeyType = exports.getVendorTabView = exports.updateVendorTabViewTab = exports.fetchVendorTabView = exports.resetMarkAsCompleteStatus = exports.markAsCompleteScheduleDetail = exports.getDefaultSelectedTimeframeForScheduleType = exports.getFetchStateForScheduleListByType = exports.updatedJELinkWithRecommendedLocalData = exports.resetJELinkInLocalData = exports.updateAmountsInScheduleDetail = exports.updatedJELinkInLocalData = exports.getThirdPartyIDFromQBOURL = exports.getQBOUrlForLink = exports.updatedSelectedJELinkRowIndex = exports.updateAccruedJEScheduleAccruedByListKey = exports.updateScheduleListDownloadState = exports.updateScheduleDetailsLocalData = exports.createNewSchedules = exports.deleteScheduleDetail = exports.saveScheduleDetails = exports.fetchScheduleDetailsPage = exports.getAccruedScheduleDetailsView = exports.getScheduleDetailsView = exports.fetchScheduleDetails = exports.updateSelectedJEScheduleKey = exports.updateScheduleListSortState = exports.updateScheduleListScrollState = void 0;
66
+ exports.toTaskStatusCodeType = exports.toPriorityCodeType = exports.getDueDateValueFromDueDateGroupId = exports.initialTaskDetail = exports.fetchAllTaskGroups = exports.getTaskUpdates = exports.toTaskListGroupByKeyTypeStrict = exports.toTaskListGroupByKeyType = exports.updateTaskGroupName = exports.dragNDropTasks = exports.updateTaskListLocalData = exports.deleteTaskGroup = exports.initiateTaskListLocalData = exports.createNewTaskGroup = exports.bulkUpdateTaskList = exports.discardTaskUpdatesInLocalStore = exports.deleteTask = exports.TASK_LIST_GROUP_BY_CATEGORIES = exports.TASK_LIST_FILTER_CATEGORIES = exports.updateTaskFilters = exports.allTaskPriority = exports.allTaskStatus = exports.updateTaskListUIState = exports.updateTaskListSearchText = exports.archiveTask = exports.saveTaskDetail = exports.saveTaskUpdatesToLocalStore = exports.fetchTaskDetailPage = exports.getTaskDetail = exports.fetchTaskListPage = exports.getAllTasks = exports.getTaskGroupById = exports.toRecurringBillFrequencyStrict = exports.toRecurringBillFrequency = exports.updateArAgingNodeCollapseState = exports.getArAgingDetailForCustomer = exports.getArAgingReport = exports.updateArAgingDetailUIState = exports.fetchArAgingDetail = exports.updateArAgingUIState = exports.fetchArAging = exports.updateVendorGlobalReviewViewLocalData = exports.toVendorGlobalReviewColumnSortKeyType = exports.getTenantMerchantByMerchantId = exports.getVendorGlobalReviewView = exports.updateVendorGlobalReviewViewUIState = exports.updateSelectedGlobalMerchant = exports.fetchVendorGlobalReviewView = exports.rejectVendorGlobalReview = exports.approveVendorGlobalReview = void 0;
67
+ exports.StatusTypes = exports.toReferralListViewSortKeyType = exports.getInviteFormView = exports.getReferralListView = exports.getNotifications = exports.getLastNotificationTime = exports.pushToastNotification = exports.getNotificationsForSelectedSubTab = exports.getExternalNotificationsForSelectedSubTab = exports.getNotificationView = exports.updateNotificationViewUIState = exports.updateNotificationViewSubTab = exports.updateNotificationViewCurrentTabAndSubTab = exports.updateNotificationViewTabState = exports.updateNotificationViewNotificationStatus = exports.updateNotificationViewAllNotificationsStatus = exports.fetchNotificationUnreadCountSuccess = exports.fetchNotificationUnreadCount = exports.fetchNotificationView = exports.toNotificationTabTypeStrict = exports.toNotificationSubTabTypeStrict = exports.updateCommentsNotificationsStatuses = exports.updateCommentsNotifications = exports.toNotificationModeStrict = exports.fetchZeniAccountsPromoCard = exports.getZeniAccountsPromoCard = exports.getAuthenticationView = exports.fetchCollaborationAuthToken = exports.clearAuditReportGroupViewByCompanyId = exports.saveReasonForAuditRule = exports.fetchAuditReportGroupView = exports.fetchAuditRuleGroupView = exports.getUserFromAllUsers = exports.getAuditRuleGroupViewSelectorView = exports.getAuditReportGroupViewSelectorView = exports.clearCardPaymentView = exports.resetCardPaymentErrorStatuses = exports.fetchPaymentSources = exports.addCardPaymentSource = exports.confirmCardSetupIntent = exports.createCardSetupIntent = exports.getAllCardsAndBankPaymentMethods = exports.deleteTag = exports.createTag = exports.fetchTagList = exports.getAllTags = exports.initialTaskDetailLocalData = exports.convertHHMMStrToMinutes = exports.updateTaskFromListView = exports.toDueDateGroupKeyType = void 0;
68
+ exports.acceptMasterTOS = exports.fetchChatHistory = exports.stopSubmitQuestion = exports.stopSubmit = exports.createSessionAndSubmit = exports.clearCurrentSessionId = exports.clearAiCfoView = exports.setSession = exports.clearInput = exports.updateCotCollapsedState = exports.updateCurrentInput = exports.updateAiCfoViewScrollPosition = exports.submitQuestion = exports.createSession = exports.fetchChatSessionsForUser = exports.getTreasuryFundsMaximumYield = exports.getTreasurySetupViewDetails = exports.updateTreasuryVideoViewed = exports.updateFundAllocationLocalData = exports.fetchPortfolioAllocation = exports.updatePortfolioAllocation = exports.fetchTreasuryFunds = exports.clearTreasurySetupView = exports.fetchTreasurySetupView = exports.acceptTreasuryTerms = exports.getExpressPayView = exports.resetExpressPayLocalData = exports.submitExpressPay = exports.updateExpressPayFormLocalData = exports.fetchExpressPayInitialDetails = exports.getIntlWireVerificationView = exports.updateVerificationFormLocalData = exports.submitInternationalVerificationForm = exports.fetchInternationalVerificationForm = exports.createTaskFromTaskGroupTemplate = exports.getCompanyTaskManagerView = exports.fetchCompanyTaskManagerView = exports.getMinAllowedEndDate = exports.toRecurringFrequency = exports.getRecurringEndDateFromCount = exports.updateReferViewed = exports.getRewardsPlanCard = exports.fetchRewardsPlan = exports.resendReferralInvite = exports.updateReferralListSortUiState = exports.saveReferralFormDataInLocalStore = exports.clearReferrals = exports.sendReferralInvite = exports.fetchReferrals = exports.AmountStatusTypes = void 0;
69
+ exports.getTreasuryTaxLetters = exports.fetchTreasuryTaxLetterList = exports.getTreasuryStatements = exports.fetchTreasuryStatementList = exports.getTreasuryTransferMoney = exports.clearTreasuryTransferMoney = exports.updateTreasuryTransferMoneyLocalData = exports.executeTreasuryTransferMoney = exports.getTreasuryDetail = exports.updateTreasuryTransactionListUIState = exports.fetchTreasuryTransactionList = exports.fetchTreasuryOverviewDetail = exports.toMessageType = exports.toMessageSender = exports.toAiCfoAnswerResponseTypeStrict = exports.toAiCfoAnswerResponseType = exports.toAiCfoAnswerStateTypeStrict = exports.toAiCfoAnswerStateType = exports.toAiCfoChartTypeStrict = exports.toAiCfoChartType = exports.toAiCfoVisualizationTypeStrict = exports.toAiCfoVisualizationType = exports.ALL_AI_CFO_ANSWER_RESPONSE_TYPES = exports.ALL_AI_CFO_ANSWER_STATE_TYPES = exports.ALL_AI_CFO_VISUALIZATION_TYPES = exports.ALL_AI_CFO_CHARTS_TYPES = exports.getAiCfoSelectorView = exports.getAllQuestionsForChatSession = exports.getQuestionAnswerByIdForChatSession = exports.getAllQuestionAnswersForChatSession = exports.toAiCfoVisualization = exports.clearAiCfo = exports.clearSession = exports.addQuestionPayload = exports.upsertOrAddQuestionAnswerPayload = exports.upsertAnswerPayload = exports.setSessions = exports.setNewSession = exports.getAiCfoView = exports.updateResponseState = void 0;
70
70
  const allowedValue_1 = require("./commonStateTypes/allowedValue");
71
71
  Object.defineProperty(exports, "isAllowedValueWithCode", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithCode; } });
72
72
  Object.defineProperty(exports, "isAllowedValueWithID", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithID; } });
@@ -1742,6 +1742,7 @@ const getAccountingProviderAttachmentSelector_1 = require("./view/transactionDet
1742
1742
  Object.defineProperty(exports, "getAccountingProviderAttachment", { enumerable: true, get: function () { return getAccountingProviderAttachmentSelector_1.getAccountingProviderAttachment; } });
1743
1743
  const transactionDetailLocalDataHelper_1 = require("./view/transactionDetail/transactionDetailLocalDataHelper");
1744
1744
  Object.defineProperty(exports, "getChangedLineItemCountFromLocalData", { enumerable: true, get: function () { return transactionDetailLocalDataHelper_1.getChangedLineItemCountFromLocalData; } });
1745
+ Object.defineProperty(exports, "isLineAutoCategorized", { enumerable: true, get: function () { return transactionDetailLocalDataHelper_1.isLineAutoCategorized; } });
1745
1746
  Object.defineProperty(exports, "isAccountUncategorized", { enumerable: true, get: function () { return transactionDetailLocalDataHelper_1.isAccountUncategorized; } });
1746
1747
  const transactionDetailReducer_1 = require("./view/transactionDetail/transactionDetailReducer");
1747
1748
  Object.defineProperty(exports, "clearTransactionDetailSaveStatus", { enumerable: true, get: function () { return transactionDetailReducer_1.clearTransactionDetailSaveStatus; } });
@@ -12,7 +12,7 @@ const transactionDetailState_1 = require("../transactionDetail/transactionDetail
12
12
  const recommendationHelper_1 = require("./recommendationHelper");
13
13
  const recommendationReducer_1 = require("./recommendationReducer");
14
14
  const fetchEntityRecommendationsByTransactionIdEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(recommendationReducer_1.fetchEntityRecommendationsByTransactionId.match), (0, operators_1.switchMap)((action) => {
15
- const { entity, amount, transactionDetails, isBulkFetch, isTransactionCategorizationFlow, isFetchCOT, isUncategorizedExpenseCategoryEnabled, } = action.payload;
15
+ const { entity, amount, transactionDetails, isBulkFetch, isTransactionCategorizationFlow, isFetchCOT, isUncategorizedExpenseCategoryEnabled, isExpenseAutomationEnabled, } = action.payload;
16
16
  const { expenseAutomationTransactionsViewState: { selectedTransactionCategorizationTab, }, } = state$.value;
17
17
  const query = {
18
18
  amount,
@@ -57,7 +57,7 @@ const fetchEntityRecommendationsByTransactionIdEpic = (actions$, state$, zeniAPI
57
57
  actions.push((0, transactionsViewReducer_1.setEntityRecommendationForLineIdsForCategorization)(selectedTransactionCategorizationTab, transactionId, transactionWithCOT, lineIds, entity, amount, recommendationWithCOTByLineId, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled));
58
58
  }
59
59
  else {
60
- actions.push((0, transactionDetailReducer_1.setEntityRecommendationForLineIdsForTransactionDetail)(transactionId, transactionWithCOT, lineIds, entity, amount, recommendationWithCOTByLineId, uncategorizedIncomeExpense));
60
+ actions.push((0, transactionDetailReducer_1.setEntityRecommendationForLineIdsForTransactionDetail)(transactionId, transactionWithCOT, lineIds, entity, amount, recommendationWithCOTByLineId, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled, isExpenseAutomationEnabled));
61
61
  }
62
62
  }
63
63
  return (0, rxjs_1.from)(actions);
@@ -10,7 +10,7 @@ export declare const fetchEntityRecommendationsByTransactionId: import("@reduxjs
10
10
  lineIds: ID[];
11
11
  transaction: SupportedTransaction;
12
12
  transactionId: TransactionID;
13
- }, isBulkFetch: boolean, isTransactionCategorizationFlow?: any, isFetchCOT?: any, isUncategorizedExpenseCategoryEnabled?: boolean | undefined], {
13
+ }, isBulkFetch: boolean, isTransactionCategorizationFlow?: any, isFetchCOT?: any, isUncategorizedExpenseCategoryEnabled?: boolean | undefined, isExpenseAutomationEnabled?: boolean | undefined], {
14
14
  entity: Entity;
15
15
  amount: number;
16
16
  transactionDetails: {
@@ -22,6 +22,7 @@ export declare const fetchEntityRecommendationsByTransactionId: import("@reduxjs
22
22
  isTransactionCategorizationFlow: any;
23
23
  isFetchCOT: any;
24
24
  isUncategorizedExpenseCategoryEnabled: boolean | undefined;
25
+ isExpenseAutomationEnabled: boolean | undefined;
25
26
  }, "recommendation/fetchEntityRecommendationsByTransactionId", never, never>, fetchRecommendationByEntityName: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[entityName: string, entityType: EntityType], {
26
27
  entityName: string;
27
28
  entityType: EntityType;
@@ -20,7 +20,7 @@ const recommendation = (0, toolkit_1.createSlice)({
20
20
  draft.recommendationByEntity[key] = Object.assign(Object.assign({}, recommendationState_1.initialEntityRecommendationState), { fetchState: 'In-Progress' });
21
21
  }
22
22
  },
23
- prepare(entity, amount, transactionDetails, isBulkFetch, isTransactionCategorizationFlow = false, isFetchCOT = false, isUncategorizedExpenseCategoryEnabled) {
23
+ prepare(entity, amount, transactionDetails, isBulkFetch, isTransactionCategorizationFlow = false, isFetchCOT = false, isUncategorizedExpenseCategoryEnabled, isExpenseAutomationEnabled) {
24
24
  return {
25
25
  payload: {
26
26
  entity,
@@ -30,6 +30,7 @@ const recommendation = (0, toolkit_1.createSlice)({
30
30
  isTransactionCategorizationFlow,
31
31
  isFetchCOT,
32
32
  isUncategorizedExpenseCategoryEnabled,
33
+ isExpenseAutomationEnabled,
33
34
  },
34
35
  };
35
36
  },
@@ -13,7 +13,7 @@ const remiListState_1 = require("./remiListState");
13
13
  const fetchRemiListEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(remiListReducer_1.fetchRemiList.match), (0, operators_1.mergeMap)((action) => {
14
14
  const fetchRemiListActions = [];
15
15
  const state = state$.value;
16
- const { period, cacheOverride, isShowDeletedReimbursementEnabled, isIncludeLineItems, } = action.payload;
16
+ const { period, cacheOverride, isShowDeletedReimbursementEnabled, isIncludeLineItems, isRefreshAccountAndAccountingClass, } = action.payload;
17
17
  const tabIds = [
18
18
  'draft',
19
19
  'pending_approval',
@@ -22,7 +22,7 @@ const fetchRemiListEpic = (actions$, state$) => actions$.pipe((0, operators_1.fi
22
22
  ];
23
23
  if (cacheOverride === true) {
24
24
  fetchRemiListActions.push((0, reimbursementConfigReducer_1.fetchReimbursementConfig)());
25
- tabIds.forEach((tab) => fetchRemiListActions.push((0, remiListReducer_1.fetchRemiListPerTab)(period, tab, isShowDeletedReimbursementEnabled, isIncludeLineItems)));
25
+ tabIds.forEach((tab) => fetchRemiListActions.push((0, remiListReducer_1.fetchRemiListPerTab)(period, tab, isShowDeletedReimbursementEnabled, isIncludeLineItems, isRefreshAccountAndAccountingClass)));
26
26
  }
27
27
  else {
28
28
  if (state.reimbursementConfigState.fetchState !== 'Completed' &&
@@ -33,7 +33,7 @@ const fetchRemiListEpic = (actions$, state$) => actions$.pipe((0, operators_1.fi
33
33
  const key = (0, remiListState_1.getRemiListKey)(period, tab);
34
34
  const remis = (0, get_1.default)(state.remiListState.byRemiListKey, key, undefined);
35
35
  if (remis == null || remis.hasValidState() === false) {
36
- fetchRemiListActions.push((0, remiListReducer_1.fetchRemiListPerTab)(period, tab, isShowDeletedReimbursementEnabled, isIncludeLineItems));
36
+ fetchRemiListActions.push((0, remiListReducer_1.fetchRemiListPerTab)(period, tab, isShowDeletedReimbursementEnabled, isIncludeLineItems, isRefreshAccountAndAccountingClass));
37
37
  }
38
38
  });
39
39
  }
@@ -10,7 +10,7 @@ const userReducer_1 = require("../../../../entity/user/userReducer");
10
10
  const responsePayload_1 = require("../../../../responsePayload");
11
11
  const remiListReducer_1 = require("./remiListReducer");
12
12
  const fetchRemiListPerTabEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(remiListReducer_1.fetchRemiListPerTab.match), (0, operators_1.mergeMap)((action) => {
13
- const { period, tab, isShowDeletedReimbursementEnabled, isIncludeLineItems, } = action.payload;
13
+ const { period, tab, isShowDeletedReimbursementEnabled, isIncludeLineItems, isRefreshAccountAndAccountingClass, } = action.payload;
14
14
  const queryParam = {
15
15
  start_date: (0, timePeriod_1.toString)(period.start),
16
16
  end_date: (0, timePeriod_1.toString)(period.end),
@@ -26,6 +26,7 @@ const fetchRemiListPerTabEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0
26
26
  ? tab !== 'draft'
27
27
  : false,
28
28
  is_include_line_items: isIncludeLineItems ? tab !== 'draft' : false,
29
+ is_refresh_account_and_accounting_class: isRefreshAccountAndAccountingClass,
29
30
  };
30
31
  return zeniAPI
31
32
  .getJSON(`${zeniAPI.apiEndPoints.spendManagementMicroServiceBaseUrl}/1.0/reimbursements/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
@@ -4,17 +4,19 @@ import { ZeniAPIStatus } from '../../../../responsePayload';
4
4
  import { RemiListPayload } from './remiListPayload';
5
5
  import { ReimbursementFilters, RemiListDownloadUIState, RemiListState, RemiListUIState, RemiTabType, SaveRemiStageCode } from './remiListState';
6
6
  export declare const initialState: RemiListState;
7
- export declare const fetchRemiList: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, cacheOverride: any, isShowDeletedReimbursementEnabled: boolean, isIncludeLineItems: boolean, isBulkActionCompleteRefresh?: any], {
7
+ export declare const fetchRemiList: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, cacheOverride: any, isShowDeletedReimbursementEnabled: boolean, isIncludeLineItems: boolean, isRefreshAccountAndAccountingClass: boolean, isBulkActionCompleteRefresh?: any], {
8
8
  period: TimePeriod;
9
9
  cacheOverride: any;
10
10
  isShowDeletedReimbursementEnabled: boolean;
11
11
  isIncludeLineItems: boolean;
12
+ isRefreshAccountAndAccountingClass: boolean;
12
13
  isBulkActionCompleteRefresh: any;
13
- }, "remiList/fetchRemiList", never, never>, fetchRemiListPerTab: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, tab: "paid" | "pending_approval" | "scheduled" | "draft", isShowDeletedReimbursementEnabled: boolean, isIncludeLineItems: boolean], {
14
+ }, "remiList/fetchRemiList", never, never>, fetchRemiListPerTab: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[period: TimePeriod, tab: "paid" | "pending_approval" | "scheduled" | "draft", isShowDeletedReimbursementEnabled: boolean, isIncludeLineItems: boolean, isRefreshAccountAndAccountingClass: boolean], {
14
15
  period: TimePeriod;
15
16
  tab: "paid" | "pending_approval" | "scheduled" | "draft";
16
17
  isShowDeletedReimbursementEnabled: boolean;
17
18
  isIncludeLineItems: boolean;
19
+ isRefreshAccountAndAccountingClass: boolean;
18
20
  }, "remiList/fetchRemiListPerTab", never, never>, updateRemiListByStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
19
21
  remiList: RemiListPayload;
20
22
  tab: RemiTabType;
@@ -34,13 +34,14 @@ const remiList = (0, toolkit_1.createSlice)({
34
34
  reducer() {
35
35
  //do nothing
36
36
  },
37
- prepare(period, tab, isShowDeletedReimbursementEnabled, isIncludeLineItems) {
37
+ prepare(period, tab, isShowDeletedReimbursementEnabled, isIncludeLineItems, isRefreshAccountAndAccountingClass) {
38
38
  return {
39
39
  payload: {
40
40
  period,
41
41
  tab,
42
42
  isShowDeletedReimbursementEnabled,
43
43
  isIncludeLineItems,
44
+ isRefreshAccountAndAccountingClass,
44
45
  },
45
46
  };
46
47
  },
@@ -69,13 +70,14 @@ const remiList = (0, toolkit_1.createSlice)({
69
70
  : 'In-Progress', error: undefined });
70
71
  });
71
72
  },
72
- prepare(period, cacheOverride = false, isShowDeletedReimbursementEnabled, isIncludeLineItems, isBulkActionCompleteRefresh = false) {
73
+ prepare(period, cacheOverride = false, isShowDeletedReimbursementEnabled, isIncludeLineItems, isRefreshAccountAndAccountingClass, isBulkActionCompleteRefresh = false) {
73
74
  return {
74
75
  payload: {
75
76
  period,
76
77
  cacheOverride,
77
78
  isShowDeletedReimbursementEnabled,
78
79
  isIncludeLineItems,
80
+ isRefreshAccountAndAccountingClass,
79
81
  isBulkActionCompleteRefresh,
80
82
  },
81
83
  };
@@ -9,14 +9,14 @@ const transactionDetailLocalDataHelper_1 = require("../transactionDetailLocalDat
9
9
  const transactionDetailReducer_1 = require("../transactionDetailReducer");
10
10
  const transactionDetailState_1 = require("../transactionDetailState");
11
11
  const initializeTransactionDetailLocalDataEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(transactionDetailReducer_1.initializeTransactionDetailLocalData.match), (0, operators_1.mergeMap)((action) => {
12
- const { transactionId, vendorId } = action.payload;
12
+ const { transactionId, vendorId, isExpenseAutomationEnabled, isUncategorizedExpenseCategoryEnabled, } = action.payload;
13
13
  const fetchActions = [];
14
14
  const transactionState = state$.value.transactionState;
15
15
  const key = (0, transactionDetailState_1.getTransactionDetailKey)(transactionId);
16
16
  const detail = (0, transactionSelector_1.getSupportedTransactionById)(transactionState, key);
17
17
  if (detail != null) {
18
18
  const uncategorizedIncomeExpense = (0, accountListSelector_1.getUncategorizedAccounts)(state$.value.accountState, state$.value.accountListState, 'accountList');
19
- const localData = (0, transactionDetailLocalDataHelper_1.toTransactionDetailLocalData)(detail, vendorId, uncategorizedIncomeExpense);
19
+ const localData = (0, transactionDetailLocalDataHelper_1.toTransactionDetailLocalData)(detail, vendorId, uncategorizedIncomeExpense, isExpenseAutomationEnabled, isUncategorizedExpenseCategoryEnabled);
20
20
  fetchActions.push((0, transactionDetailReducer_1.clearTransactionDetailLocalData)({ transactionId }));
21
21
  fetchActions.push((0, transactionDetailReducer_1.saveTransactionDetailLocalData)({
22
22
  transactionId,
@@ -23,7 +23,7 @@ const ownerListReducer_1 = require("../../ownerList/ownerListReducer");
23
23
  const transactionDetailReducer_1 = require("../transactionDetailReducer");
24
24
  const transactionDetailState_1 = require("../transactionDetailState");
25
25
  const fetchTransactionDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(transactionDetailReducer_1.fetchTransactionDetail.match), (0, operators_1.mergeMap)((action) => {
26
- const { transactionId, cacheOverride } = action.payload;
26
+ const { transactionId, cacheOverride, isExpenseAutomationEnabled, isUncategorizedExpenseCategoryEnabled, } = action.payload;
27
27
  const detailKey = (0, transactionDetailState_1.getTransactionDetailKey)(transactionId);
28
28
  const transactionActions = [];
29
29
  if (cacheOverride === true) {
@@ -67,6 +67,8 @@ const fetchTransactionDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe(
67
67
  updateActions.push((0, transactionDetailReducer_1.initializeTransactionDetailLocalData)({
68
68
  transactionId: transcationId,
69
69
  vendorId: (_e = responseData.vendors[0]) === null || _e === void 0 ? void 0 : _e.vendor_id,
70
+ isExpenseAutomationEnabled,
71
+ isUncategorizedExpenseCategoryEnabled,
70
72
  }));
71
73
  updateActions.push((0, transactionDetailReducer_1.updateTransactionDetailFetchState)(transcationId, 'Completed'));
72
74
  // IMPORTANT: Fetch linked transactions..
@@ -64,6 +64,7 @@ const updateTransactionDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe
64
64
  actions.push((0, transactionDetailReducer_1.initializeTransactionDetailLocalData)({
65
65
  transactionId: transactionIdResp,
66
66
  vendorId: (_b = (_a = response.data.vendors) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.vendor_id,
67
+ isExpenseAutomationEnabled: action.payload.isExpenseAutomationEnabled,
67
68
  }));
68
69
  actions.push((0, transactionDetailReducer_1.updateTransactionDetailSaveStatus)(transactionIdResp, 'Completed'));
69
70
  let callMarkTransactionAsNotMiscategorized = true;
@@ -4,11 +4,11 @@ import { AccountBase, RecommendedAccountBase, UncategorizedAccountTypes } from '
4
4
  import { ClassBase, RecommendedClassBase } from '../../entity/class/classState';
5
5
  import { Entity } from '../../entity/genericEntity/entity';
6
6
  import { RecommendationWithCOTByLineId } from '../../entity/transaction/stateTypes/transaction';
7
- import { JournalEntryTransactionLine, TransactionWithAccountAndClassLine } from '../../entity/transaction/stateTypes/transactionLine';
7
+ import { CategorizationStatusType, JournalEntryTransactionLine, TransactionWithAccountAndClassLine } from '../../entity/transaction/stateTypes/transactionLine';
8
8
  import { SupportedTransaction, SupportedTransactionWithCOT } from '../../entity/transaction/transactionState';
9
9
  import { UncategorizedAccounts } from '../accountList/accountListSelector';
10
10
  import { TransactionDetailLineItemData, TransactionDetailLocalData } from './transactionDetailTypes';
11
- export declare const toTransactionDetailLocalData: (transaction: SupportedTransaction, defaultVendorId: ID | undefined, uncategorizedIncomeExpense: UncategorizedAccounts) => TransactionDetailLocalData;
11
+ export declare const toTransactionDetailLocalData: (transaction: SupportedTransaction, defaultVendorId: ID | undefined, uncategorizedIncomeExpense: UncategorizedAccounts, isExpenseAutomationEnabled?: boolean, isUncategorizedExpenseCategoryEnabled?: boolean) => TransactionDetailLocalData;
12
12
  export declare const toLineEntity: (lineRecord: JournalEntryTransactionLine | TransactionWithAccountAndClassLine) => {
13
13
  type: "vendor" | "customer" | "merchant";
14
14
  zeniId: string;
@@ -21,7 +21,7 @@ export declare const getRecommendedCategoryClass: (isCategoryMiscategorized: boo
21
21
  recommendedAccount: RecommendedAccountBase | undefined;
22
22
  recommendedClass: RecommendedClassBase | undefined;
23
23
  };
24
- export declare const toUpdateLineItemsOriginalCategoryClass: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, lineIdsForReplace: ID[], lineIdsForUpdateAll: ID[], replace: "account" | "class" | "both", updateAll?: boolean) => TransactionDetailLocalData;
24
+ export declare const toUpdateLineItemsOriginalCategoryClass: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, lineIdsForReplace: ID[], lineIdsForUpdateAll: ID[], replace: "account" | "class" | "both", updateAll?: boolean, uncategorizedIncomeExpense?: UncategorizedAccounts, isExpenseAutomationEnabled?: boolean, isUncategorizedExpenseCategoryEnabled?: boolean) => TransactionDetailLocalData;
25
25
  export declare const toSetAllLineItemsToCategoryClass: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, isUpdateAll: boolean, lineEntity?: Entity, chosenAccount?: {
26
26
  account: AccountBase;
27
27
  updateOrRetain: "update" | "retain";
@@ -30,7 +30,7 @@ export declare const toSetAllLineItemsToCategoryClass: (transaction: SupportedTr
30
30
  updateOrRetain: "update" | "retain";
31
31
  }) => TransactionDetailLocalData;
32
32
  export declare const toSetAllLineItemsLocalDataIsUpdateAllChecked: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, isUpdateAll: boolean, entity?: Entity) => TransactionDetailLocalData;
33
- export declare const setEntityRecommendationForLineIdInLocalData: (transaction: SupportedTransactionWithCOT, transactionDetailLocalData: TransactionDetailLocalData, entity: Entity, recommendationLineIds: ID[], uncategorizedIncomeExpense: UncategorizedAccounts, recommendationWithCOTByLineId?: RecommendationWithCOTByLineId) => TransactionDetailLocalData;
33
+ export declare const setEntityRecommendationForLineIdInLocalData: (transaction: SupportedTransactionWithCOT, transactionDetailLocalData: TransactionDetailLocalData, entity: Entity, recommendationLineIds: ID[], uncategorizedIncomeExpense: UncategorizedAccounts, recommendationWithCOTByLineId?: RecommendationWithCOTByLineId, isUncategorizedExpenseCategoryEnabled?: boolean, isExpenseAutomationEnabled?: boolean) => TransactionDetailLocalData;
34
34
  export declare const removeEntityRecommendationForLineIdInLocalData: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, recommendationLineIds: ID[]) => TransactionDetailLocalData;
35
35
  export declare const getChangedLineItemCountFromLocalData: (transaction: SupportedTransaction, transactionLocalData: TransactionDetailLocalData) => number;
36
36
  export declare const toSetAllLineItemsToVendor: (transaction: SupportedTransaction, transactionDetailLocalData: TransactionDetailLocalData, entity: Entity) => TransactionDetailLocalData;
@@ -45,3 +45,4 @@ export declare const toUpdateLineItemsToOriginalVendor: (transaction: SupportedT
45
45
  export declare const isEntityMatching: (entity: Entity | undefined, record: TransactionDetailLineItemData) => boolean;
46
46
  export declare const isAccountUncategorized: (uncategorizedIncomeExpense: UncategorizedAccounts, accountQboId?: ID, validateAccountTypes?: UncategorizedAccountTypes[] | undefined) => boolean;
47
47
  export declare const mergeTransactionAndEntityRecommendationsWithCOT: (transactionRecommendations?: RecommendationWithCOT[], entityRecommendations?: RecommendationWithCOT[]) => RecommendationWithCOT[] | undefined;
48
+ export declare const isLineAutoCategorized: (categorizationStatus: CategorizationStatusType | undefined) => boolean;
@@ -11,14 +11,14 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  return t;
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.mergeTransactionAndEntityRecommendationsWithCOT = exports.isAccountUncategorized = exports.isEntityMatching = exports.toUpdateLineItemsToOriginalVendor = exports.toSetAllLineItemsToVendor = exports.getChangedLineItemCountFromLocalData = exports.removeEntityRecommendationForLineIdInLocalData = exports.setEntityRecommendationForLineIdInLocalData = exports.toSetAllLineItemsLocalDataIsUpdateAllChecked = exports.toSetAllLineItemsToCategoryClass = exports.toUpdateLineItemsOriginalCategoryClass = exports.getRecommendedCategoryClass = exports.toLineEntity = exports.toTransactionDetailLocalData = void 0;
14
+ exports.isLineAutoCategorized = exports.mergeTransactionAndEntityRecommendationsWithCOT = exports.isAccountUncategorized = exports.isEntityMatching = exports.toUpdateLineItemsToOriginalVendor = exports.toSetAllLineItemsToVendor = exports.getChangedLineItemCountFromLocalData = exports.removeEntityRecommendationForLineIdInLocalData = exports.setEntityRecommendationForLineIdInLocalData = exports.toSetAllLineItemsLocalDataIsUpdateAllChecked = exports.toSetAllLineItemsToCategoryClass = exports.toUpdateLineItemsOriginalCategoryClass = exports.getRecommendedCategoryClass = exports.toLineEntity = exports.toTransactionDetailLocalData = void 0;
15
15
  const entity_1 = require("../../entity/genericEntity/entity");
16
16
  const customerTransaction_1 = require("../../entity/transaction/stateTypes/customerTransaction");
17
17
  const vendorTransaction_1 = require("../../entity/transaction/stateTypes/vendorTransaction");
18
18
  const transactionHelper_1 = require("../../entity/transaction/transactionHelper");
19
19
  const transactionDetailState_1 = require("./transactionDetailState");
20
- const toTransactionDetailLocalData = (transaction, defaultVendorId, uncategorizedIncomeExpense) => {
21
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
20
+ const toTransactionDetailLocalData = (transaction, defaultVendorId, uncategorizedIncomeExpense, isExpenseAutomationEnabled, isUncategorizedExpenseCategoryEnabled) => {
21
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
22
22
  const transactionLocal = Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail.transactionDetailLocalData);
23
23
  const customerId = (_a = transaction.customer) === null || _a === void 0 ? void 0 : _a.id;
24
24
  const vendorId = defaultVendorId !== null && defaultVendorId !== void 0 ? defaultVendorId : (_b = transaction.vendor) === null || _b === void 0 ? void 0 : _b.id;
@@ -94,22 +94,49 @@ const toTransactionDetailLocalData = (transaction, defaultVendorId, uncategorize
94
94
  else {
95
95
  transactionLocal.customerDetails = undefined;
96
96
  }
97
+ if (transactionLocal.selectedEntity == null &&
98
+ isExpenseAutomationEnabled === true &&
99
+ (0, exports.isLineAutoCategorized)((_q = (_p = transaction.lines) === null || _p === void 0 ? void 0 : _p[0]) === null || _q === void 0 ? void 0 : _q.categorizationStatus) ===
100
+ false) {
101
+ const firstLine = (_r = transaction.lines) === null || _r === void 0 ? void 0 : _r[0];
102
+ const recommendations = (firstLine === null || firstLine === void 0 ? void 0 : firstLine.id) != null
103
+ ? (_s = transaction.recommendations) === null || _s === void 0 ? void 0 : _s[firstLine.id]
104
+ : undefined;
105
+ const vendor = (_t = recommendations === null || recommendations === void 0 ? void 0 : recommendations[0]) === null || _t === void 0 ? void 0 : _t.vendor;
106
+ if (vendor != null && Boolean(vendor.id)) {
107
+ const vendorId = vendor.id;
108
+ transactionLocal.selectedEntity = {
109
+ id: vendorId,
110
+ name: vendor.name,
111
+ type: 'vendor',
112
+ qboId: (_u = vendor.qboId) !== null && _u !== void 0 ? _u : vendorId,
113
+ zeniId: vendorId,
114
+ logo: vendor.logo,
115
+ isPreFilled: true,
116
+ };
117
+ transactionLocal.vendorDetails = {
118
+ id: vendorId,
119
+ name: vendor.name,
120
+ qboId: vendorId,
121
+ };
122
+ }
123
+ }
97
124
  // Convert transaction to COT format
98
125
  const transactionWithCOT = (0, transactionHelper_1.getTransactionWithCOT)(transaction);
99
126
  transactionLocal.lineItemById =
100
127
  transaction.lines != null && transaction.lines.length > 0
101
- ? buildLineItemById(transaction, uncategorizedIncomeExpense, transactionWithCOT.recommendationsWithCOT)
128
+ ? buildLineItemById(transaction, uncategorizedIncomeExpense, transactionWithCOT.recommendationsWithCOT, isExpenseAutomationEnabled, isUncategorizedExpenseCategoryEnabled)
102
129
  : {};
103
130
  return transactionLocal;
104
131
  };
105
132
  exports.toTransactionDetailLocalData = toTransactionDetailLocalData;
106
- const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendationsWithCOT) => {
133
+ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendationsWithCOT, isExpenseAutomationEnabled, isUncategorizedExpenseCategoryEnabled) => {
107
134
  const lineItemData = {};
108
135
  const { lines } = transaction;
109
136
  const isJEOrBankDepositTransaction = (0, vendorTransaction_1.isVendorTransaction)(transaction) === false &&
110
137
  (0, customerTransaction_1.isCustomerTransaction)(transaction) === false;
111
138
  lines === null || lines === void 0 ? void 0 : lines.forEach((line) => {
112
- var _a, _b, _c, _d;
139
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
113
140
  if (line.type === 'transaction_with_account_and_class_line' ||
114
141
  line.type === 'transaction_with_product_or_service_line' ||
115
142
  line.type === 'journal_entry_transaction_line') {
@@ -131,34 +158,62 @@ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendati
131
158
  const recommendations = recommendationsWithCOT[lineId];
132
159
  record.recommendationsWithCOT = recommendations;
133
160
  const { recommendedAccount, recommendedClass } = (0, exports.getRecommendedCategoryClass)((_c = accountLine.isCategoryMiscategorized) !== null && _c !== void 0 ? _c : false, (_d = accountLine.isClassMiscategorized) !== null && _d !== void 0 ? _d : false, recommendations, accountLine.account, accountLine.class, uncategorizedIncomeExpense);
134
- // TODO: comparing with qboId because backend temporarily required us to compare
135
- // class and account based on qbo id. This should ideally be based on accountId/ClassId
136
- if (Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) &&
137
- (recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) !== accountLine.account.qboId) {
138
- record.isRecommendedCategorySelected = false;
139
- record.recommendedAccount = recommendedAccount;
140
- record.isCategoryUpdateSelected = false;
141
- }
142
- if (accountLine.isCategoryMiscategorized &&
143
- Boolean(accountLine.account.qboId) &&
144
- Boolean(isVendorOrCustomerPresent)) {
145
- record.retainedAccount =
146
- (0, exports.isAccountUncategorized)(uncategorizedIncomeExpense, accountLine.account.qboId) === false
147
- ? accountLine.account
148
- : undefined;
149
- record.isRetainedCategorySelected = false;
150
- }
151
- if (Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) &&
152
- (recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) !== accountLine.class.qboId) {
153
- record.isRecommendedClassSelected = false;
154
- record.recommendedClass = recommendedClass;
155
- record.isClassUpdateSelected = false;
161
+ if (isExpenseAutomationEnabled === true) {
162
+ const isUncategorizedAccount = (0, exports.isAccountUncategorized)(uncategorizedIncomeExpense, (_e = accountLine.account) === null || _e === void 0 ? void 0 : _e.qboId, isUncategorizedExpenseCategoryEnabled === true
163
+ ? ['income']
164
+ : undefined);
165
+ if ((Boolean((_f = record.account) === null || _f === void 0 ? void 0 : _f.qboId) === false ||
166
+ isUncategorizedAccount === true) &&
167
+ Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId)) {
168
+ const _k = recommendedAccount || {}, { accountNameConfidence } = _k, recommendedAccountWithoutCOT = __rest(_k, ["accountNameConfidence"]);
169
+ void accountNameConfidence;
170
+ record.account = Object.assign(Object.assign({}, recommendedAccountWithoutCOT), { isPreFilled: true });
171
+ record.recommendedAccount =
172
+ recommendedAccountWithoutCOT;
173
+ record.isCategoryUpdateSelected = true;
174
+ record.isRecommendedCategorySelected = true;
175
+ }
176
+ if (Boolean((_g = record.class) === null || _g === void 0 ? void 0 : _g.qboId) === false &&
177
+ Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId)) {
178
+ const _l = recommendedClass || {}, { accountingClassNameConfidence } = _l, recommendedClassWithoutCOT = __rest(_l, ["accountingClassNameConfidence"]);
179
+ void accountingClassNameConfidence;
180
+ record.class = Object.assign(Object.assign({}, recommendedClassWithoutCOT), { isPreFilled: true });
181
+ record.recommendedClass =
182
+ recommendedClassWithoutCOT;
183
+ record.isClassUpdateSelected = true;
184
+ record.isRecommendedClassSelected = true;
185
+ }
156
186
  }
157
- if (accountLine.isClassMiscategorized &&
158
- Boolean(accountLine.class.qboId) &&
159
- Boolean(isVendorOrCustomerPresent)) {
160
- record.retainedClass = accountLine.class;
161
- record.isRetainedClassSelected = false;
187
+ else {
188
+ // TODO: comparing with qboId because backend temporarily required us to compare
189
+ // class and account based on qbo id. This should ideally be based on accountId/ClassId
190
+ if (Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) &&
191
+ (recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) !== accountLine.account.qboId) {
192
+ record.isRecommendedCategorySelected = false;
193
+ record.recommendedAccount = recommendedAccount;
194
+ record.isCategoryUpdateSelected = false;
195
+ }
196
+ if (accountLine.isCategoryMiscategorized &&
197
+ Boolean(accountLine.account.qboId) &&
198
+ Boolean(isVendorOrCustomerPresent)) {
199
+ record.retainedAccount =
200
+ (0, exports.isAccountUncategorized)(uncategorizedIncomeExpense, accountLine.account.qboId) === false
201
+ ? accountLine.account
202
+ : undefined;
203
+ record.isRetainedCategorySelected = false;
204
+ }
205
+ if (Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) &&
206
+ (recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) !== accountLine.class.qboId) {
207
+ record.isRecommendedClassSelected = false;
208
+ record.recommendedClass = recommendedClass;
209
+ record.isClassUpdateSelected = false;
210
+ }
211
+ if (accountLine.isClassMiscategorized &&
212
+ Boolean(accountLine.class.qboId) &&
213
+ Boolean(isVendorOrCustomerPresent)) {
214
+ record.retainedClass = accountLine.class;
215
+ record.isRetainedClassSelected = false;
216
+ }
162
217
  }
163
218
  }
164
219
  if (line.platformLineDetailType === 'deposit_line_detail') {
@@ -176,6 +231,17 @@ const buildLineItemById = (transaction, uncategorizedIncomeExpense, recommendati
176
231
  record.postingTypeName = lineRecord.postingTypeName;
177
232
  record.lineEntity = (0, exports.toLineEntity)(lineRecord);
178
233
  }
234
+ if (record.lineEntity == null &&
235
+ isExpenseAutomationEnabled === true &&
236
+ (0, exports.isLineAutoCategorized)(line.categorizationStatus) === false) {
237
+ const recommendedVendor = (_j = (_h = recommendationsWithCOT === null || recommendationsWithCOT === void 0 ? void 0 : recommendationsWithCOT[lineId]) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.vendor;
238
+ if (recommendedVendor != null) {
239
+ const { cot, reasoning } = recommendedVendor, recommendedVendorWithoutCOT = __rest(recommendedVendor, ["cot", "reasoning"]);
240
+ void cot;
241
+ void reasoning;
242
+ record.lineEntity = (0, exports.toLineEntity)(Object.assign(Object.assign({}, line), { vendor: recommendedVendorWithoutCOT }));
243
+ }
244
+ }
179
245
  lineItemData[line.id] = record;
180
246
  }
181
247
  if (line.type === 'linked_transaction_line') {
@@ -272,7 +338,7 @@ const getRecommendedCategoryClass = (isCategoryMiscategorized, isClassMiscategor
272
338
  };
273
339
  };
274
340
  exports.getRecommendedCategoryClass = getRecommendedCategoryClass;
275
- const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionDetailLocalData, lineIdsForReplace, lineIdsForUpdateAll, replace, updateAll) => {
341
+ const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionDetailLocalData, lineIdsForReplace, lineIdsForUpdateAll, replace, updateAll, uncategorizedIncomeExpense, isExpenseAutomationEnabled, isUncategorizedExpenseCategoryEnabled) => {
276
342
  const isLineIdInReplaceList = (findLineID) => lineIdsForReplace.find((lineId) => findLineID === lineId);
277
343
  const isLineIdInUpdateList = (findLineID) => lineIdsForUpdateAll.find((lineId) => findLineID === lineId);
278
344
  const newLineItems = {};
@@ -294,9 +360,9 @@ const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionDetailLo
294
360
  record.recommendationsWithCOT =
295
361
  (_a = transactionDetailLocalData.lineItemById) === null || _a === void 0 ? void 0 : _a[lineId].recommendationsWithCOT;
296
362
  }
297
- const { recommendedAccount, recommendedClass } = (0, exports.getRecommendedCategoryClass)((_b = accountLine.isCategoryMiscategorized) !== null && _b !== void 0 ? _b : false, (_c = accountLine.isClassMiscategorized) !== null && _c !== void 0 ? _c : false, record.recommendationsWithCOT, accountLine.account, accountLine.class);
363
+ const { recommendedAccount, recommendedClass } = (0, exports.getRecommendedCategoryClass)((_b = accountLine.isCategoryMiscategorized) !== null && _b !== void 0 ? _b : false, (_c = accountLine.isClassMiscategorized) !== null && _c !== void 0 ? _c : false, record.recommendationsWithCOT, accountLine.account, accountLine.class, uncategorizedIncomeExpense);
298
364
  const updateCategory = () => {
299
- var _a, _b;
365
+ var _a, _b, _c, _d;
300
366
  if ((recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) !== accountLine.account.qboId &&
301
367
  Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId)) {
302
368
  record.account = accountLine.account;
@@ -327,9 +393,29 @@ const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionDetailLo
327
393
  record.recommendedAccount =
328
394
  transactionDetailLocalData.lineItemById[lineId].recommendedAccount;
329
395
  }
396
+ const isUncategorizedAccount = uncategorizedIncomeExpense != null &&
397
+ (0, exports.isAccountUncategorized)(uncategorizedIncomeExpense, (_c = accountLine.account) === null || _c === void 0 ? void 0 : _c.qboId, isUncategorizedExpenseCategoryEnabled === true
398
+ ? ['income']
399
+ : undefined);
400
+ // autoselecting the recommended category if the line item category is not categorized
401
+ // Skip auto-selection when user explicitly unchecks "Update to" (updateAll === false)
402
+ // Don't autofill if account is uncategorized expense when flag is enabled
403
+ if (updateAll !== false &&
404
+ (Boolean((_d = record.account) === null || _d === void 0 ? void 0 : _d.qboId) === false ||
405
+ isUncategorizedAccount) &&
406
+ Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) &&
407
+ isExpenseAutomationEnabled === true) {
408
+ const _e = recommendedAccount || {}, { accountNameConfidence } = _e, recommendedAccountWithoutCOT = __rest(_e, ["accountNameConfidence"]);
409
+ void accountNameConfidence;
410
+ record.account = Object.assign(Object.assign({}, recommendedAccountWithoutCOT), { isPreFilled: true });
411
+ record.isCategoryUpdateSelected = true;
412
+ record.isRecommendedCategorySelected = true;
413
+ record.recommendedAccount =
414
+ recommendedAccountWithoutCOT;
415
+ }
330
416
  };
331
417
  const updateClass = () => {
332
- var _a, _b;
418
+ var _a, _b, _c;
333
419
  if ((recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) !== accountLine.class.qboId &&
334
420
  Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId)) {
335
421
  record.class = accountLine.class;
@@ -343,7 +429,7 @@ const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionDetailLo
343
429
  record.isRetainedClassSelected = false;
344
430
  }
345
431
  }
346
- else if ((recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) === accountLine.account.qboId &&
432
+ else if ((recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) === accountLine.class.qboId &&
347
433
  Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId)) {
348
434
  record.class = accountLine.class;
349
435
  record.isRecommendedClassSelected = false;
@@ -361,6 +447,20 @@ const toUpdateLineItemsOriginalCategoryClass = (transaction, transactionDetailLo
361
447
  record.recommendedClass =
362
448
  transactionDetailLocalData.lineItemById[lineId].recommendedClass;
363
449
  }
450
+ // autoselecting the recommended class if the line item class is not categorized
451
+ // Skip auto-selection when user explicitly unchecks "Update to" (updateAll === false)
452
+ if (updateAll !== false &&
453
+ Boolean((_c = record.class) === null || _c === void 0 ? void 0 : _c.qboId) === false &&
454
+ Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) &&
455
+ isExpenseAutomationEnabled === true) {
456
+ const _d = recommendedClass || {}, { accountingClassNameConfidence } = _d, recommendedClassWithoutCOT = __rest(_d, ["accountingClassNameConfidence"]);
457
+ void accountingClassNameConfidence;
458
+ record.class = Object.assign(Object.assign({}, recommendedClassWithoutCOT), { isPreFilled: true });
459
+ record.isClassUpdateSelected = true;
460
+ record.isRecommendedClassSelected = true;
461
+ record.recommendedClass =
462
+ recommendedClassWithoutCOT;
463
+ }
364
464
  };
365
465
  switch (replace) {
366
466
  case 'account':
@@ -423,50 +523,52 @@ const toSetAllLineItemsToCategoryClass = (transaction, transactionDetailLocalDat
423
523
  if (updateAllLines === true || (0, exports.isEntityMatching)(lineEntity, record)) {
424
524
  if ((chosenAccount === null || chosenAccount === void 0 ? void 0 : chosenAccount.account) != null) {
425
525
  record.account = chosenAccount === null || chosenAccount === void 0 ? void 0 : chosenAccount.account;
526
+ // Check if the new account matches this line's OWN recommendation
527
+ if (((_a = record.account) === null || _a === void 0 ? void 0 : _a.qboId) === ((_b = record.recommendedAccount) === null || _b === void 0 ? void 0 : _b.qboId) &&
528
+ Boolean((_c = record.account) === null || _c === void 0 ? void 0 : _c.qboId)) {
529
+ record.isRecommendedCategorySelected = true;
530
+ record.isCategoryUpdateSelected = true;
531
+ record.isRetainedCategorySelected = false;
532
+ }
533
+ else if (((_d = record.account) === null || _d === void 0 ? void 0 : _d.qboId) === ((_e = record.retainedAccount) === null || _e === void 0 ? void 0 : _e.qboId) &&
534
+ Boolean((_f = record.account) === null || _f === void 0 ? void 0 : _f.qboId)) {
535
+ // Check if the new account matches this line's retained account
536
+ record.isRetainedCategorySelected = true;
537
+ record.isRecommendedCategorySelected = false;
538
+ record.isCategoryUpdateSelected = false;
539
+ }
540
+ else {
541
+ // New account doesn't match recommendation or retained
542
+ record.isRecommendedCategorySelected = false;
543
+ record.isCategoryUpdateSelected = false;
544
+ record.isRetainedCategorySelected = false;
545
+ }
426
546
  }
427
- if (chosenAccount != null &&
428
- chosenAccount.updateOrRetain === 'update' &&
429
- ((_a = record.account) === null || _a === void 0 ? void 0 : _a.qboId) === ((_b = record.recommendedAccount) === null || _b === void 0 ? void 0 : _b.qboId) &&
430
- Boolean((_c = record.account) === null || _c === void 0 ? void 0 : _c.qboId)) {
431
- record.isRecommendedCategorySelected = true;
432
- record.isCategoryUpdateSelected = true;
433
- }
434
- else {
435
- record.isRecommendedCategorySelected = false;
436
- record.isCategoryUpdateSelected = false;
437
- }
438
- if (chosenAccount != null &&
439
- chosenAccount.updateOrRetain === 'retain' &&
440
- ((_d = record.account) === null || _d === void 0 ? void 0 : _d.qboId) === ((_e = record.retainedAccount) === null || _e === void 0 ? void 0 : _e.qboId) &&
441
- Boolean((_f = record.account) === null || _f === void 0 ? void 0 : _f.qboId)) {
442
- record.isRetainedCategorySelected = true;
443
- }
444
- else {
445
- record.isRetainedCategorySelected = false;
446
- }
547
+ // If chosenAccount is null, preserve existing category update state
447
548
  if ((chosenClass === null || chosenClass === void 0 ? void 0 : chosenClass.classBase) != null) {
448
549
  record.class = chosenClass === null || chosenClass === void 0 ? void 0 : chosenClass.classBase;
550
+ // Check if the new class matches this line's OWN recommendation
551
+ if (((_g = record.class) === null || _g === void 0 ? void 0 : _g.qboId) === ((_h = record.recommendedClass) === null || _h === void 0 ? void 0 : _h.qboId) &&
552
+ Boolean((_j = record.class) === null || _j === void 0 ? void 0 : _j.qboId)) {
553
+ record.isRecommendedClassSelected = true;
554
+ record.isClassUpdateSelected = true;
555
+ record.isRetainedClassSelected = false;
556
+ }
557
+ else if (((_k = record.class) === null || _k === void 0 ? void 0 : _k.qboId) === ((_l = record.retainedClass) === null || _l === void 0 ? void 0 : _l.qboId) &&
558
+ Boolean((_m = record.class) === null || _m === void 0 ? void 0 : _m.qboId)) {
559
+ // Check if the new class matches this line's retained class
560
+ record.isRetainedClassSelected = true;
561
+ record.isRecommendedClassSelected = false;
562
+ record.isClassUpdateSelected = false;
563
+ }
564
+ else {
565
+ // New class doesn't match recommendation or retained
566
+ record.isRecommendedClassSelected = false;
567
+ record.isClassUpdateSelected = false;
568
+ record.isRetainedClassSelected = false;
569
+ }
449
570
  }
450
- if (chosenClass != null &&
451
- chosenClass.updateOrRetain === 'update' &&
452
- ((_g = record.class) === null || _g === void 0 ? void 0 : _g.qboId) === ((_h = record.recommendedClass) === null || _h === void 0 ? void 0 : _h.qboId) &&
453
- Boolean((_j = record.class) === null || _j === void 0 ? void 0 : _j.qboId)) {
454
- record.isRecommendedClassSelected = true;
455
- record.isClassUpdateSelected = true;
456
- }
457
- else {
458
- record.isRecommendedClassSelected = false;
459
- record.isClassUpdateSelected = false;
460
- }
461
- if (chosenClass != null &&
462
- chosenClass.updateOrRetain === 'retain' &&
463
- ((_k = record.class) === null || _k === void 0 ? void 0 : _k.qboId) === ((_l = record.retainedClass) === null || _l === void 0 ? void 0 : _l.qboId) &&
464
- Boolean((_m = record.class) === null || _m === void 0 ? void 0 : _m.qboId)) {
465
- record.isRetainedClassSelected = true;
466
- }
467
- else {
468
- record.isRetainedClassSelected = false;
469
- }
571
+ // If chosenClass is null, preserve existing class update state
470
572
  record.isUpdateAllChecked = isUpdateAll;
471
573
  if (line.type === 'transaction_with_product_or_service_line') {
472
574
  const lineRecord = transactionDetailLocalData.lineItemById[lineId];
@@ -521,7 +623,7 @@ const toSetAllLineItemsLocalDataIsUpdateAllChecked = (transaction, transactionDe
521
623
  return newLocalData;
522
624
  };
523
625
  exports.toSetAllLineItemsLocalDataIsUpdateAllChecked = toSetAllLineItemsLocalDataIsUpdateAllChecked;
524
- const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDetailLocalData, entity, recommendationLineIds, uncategorizedIncomeExpense, recommendationWithCOTByLineId) => {
626
+ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDetailLocalData, entity, recommendationLineIds, uncategorizedIncomeExpense, recommendationWithCOTByLineId, isUncategorizedExpenseCategoryEnabled, isExpenseAutomationEnabled) => {
525
627
  const newLineItems = {};
526
628
  let matchingEntityLineId = undefined;
527
629
  const checkIfNotJEAndDeposit = (0, vendorTransaction_1.isVendorTransaction)(transaction) === true ||
@@ -560,6 +662,9 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
560
662
  record.billable = accountLine.billable;
561
663
  record.recommendationsWithCOT = recommendationsWithCOT;
562
664
  const { recommendedAccount, recommendedClass } = (0, exports.getRecommendedCategoryClass)((_a = accountLine.isCategoryMiscategorized) !== null && _a !== void 0 ? _a : false, (_b = accountLine.isClassMiscategorized) !== null && _b !== void 0 ? _b : false, recommendationsWithCOT, accountLine.account, accountLine.class);
665
+ const isUncategorizedAccount = (0, exports.isAccountUncategorized)(uncategorizedIncomeExpense, record.account.qboId, isUncategorizedExpenseCategoryEnabled === true
666
+ ? ['income']
667
+ : undefined);
563
668
  // TODO: comparing with qboId because backend temporarily required us to compare
564
669
  // class and account based on qbo id. This should ideally be based on accountId/ClassId
565
670
  if ((recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) !== accountLine.account.qboId &&
@@ -570,7 +675,7 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
570
675
  if (accountLine.isCategoryMiscategorized &&
571
676
  Boolean(accountLine.account.qboId)) {
572
677
  record.retainedAccount =
573
- (0, exports.isAccountUncategorized)(uncategorizedIncomeExpense, accountLine.account.qboId) === false
678
+ isUncategorizedAccount === false
574
679
  ? accountLine.account
575
680
  : undefined;
576
681
  record.isRetainedCategorySelected = false;
@@ -619,14 +724,25 @@ const setEntityRecommendationForLineIdInLocalData = (transaction, transactionDet
619
724
  if (recommendedClass == null) {
620
725
  record.recommendedClass = recommendedClass;
621
726
  }
622
- if ((Boolean(record.account.qboId) === false ||
623
- (0, exports.isAccountUncategorized)(uncategorizedIncomeExpense, record.account.qboId)) &&
727
+ // autoselecting the recommended account/class if the line item account/class is not categorized
728
+ // Don't autofill if account is uncategorized expense when flag is enabled
729
+ // Only autofill when expense automation is enabled
730
+ if (isExpenseAutomationEnabled === true &&
731
+ (Boolean(record.account.qboId) === false ||
732
+ isUncategorizedAccount) &&
624
733
  Boolean(recommendedAccount === null || recommendedAccount === void 0 ? void 0 : recommendedAccount.qboId) !== false) {
625
- record.account = recommendedAccount;
734
+ const _c = recommendedAccount || {}, { accountNameConfidence } = _c, recommendedAccountWithoutCOT = __rest(_c, ["accountNameConfidence"]);
735
+ void accountNameConfidence;
736
+ record.account = Object.assign(Object.assign({}, recommendedAccountWithoutCOT), { isPreFilled: true });
737
+ record.isCategoryUpdateSelected = true;
626
738
  }
627
- if (Boolean(record.class.qboId) === false &&
739
+ if (isExpenseAutomationEnabled === true &&
740
+ Boolean(record.class.qboId) === false &&
628
741
  Boolean(recommendedClass === null || recommendedClass === void 0 ? void 0 : recommendedClass.qboId) !== false) {
629
- record.class = recommendedClass;
742
+ const _d = recommendedClass || {}, { accountingClassNameConfidence } = _d, recommendedClassWithoutCOT = __rest(_d, ["accountingClassNameConfidence"]);
743
+ void accountingClassNameConfidence;
744
+ record.class = Object.assign(Object.assign({}, recommendedClassWithoutCOT), { isPreFilled: true });
745
+ record.isClassUpdateSelected = true;
630
746
  }
631
747
  newLineItems[line.id] = record;
632
748
  }
@@ -963,3 +1079,11 @@ const mergeTransactionAndEntityRecommendationsWithCOT = (transactionRecommendati
963
1079
  }
964
1080
  };
965
1081
  exports.mergeTransactionAndEntityRecommendationsWithCOT = mergeTransactionAndEntityRecommendationsWithCOT;
1082
+ const isLineAutoCategorized = (categorizationStatus) => {
1083
+ if (categorizationStatus == null ||
1084
+ categorizationStatus === 'pending_review') {
1085
+ return false;
1086
+ }
1087
+ return true;
1088
+ };
1089
+ exports.isLineAutoCategorized = isLineAutoCategorized;
@@ -15,9 +15,11 @@ export declare const downloadAccountingProviderAttachment: import("@reduxjs/tool
15
15
  }, "transactionDetail/downloadAccountingProviderAttachment", never, never>, downloadAccountingProviderAttachmentSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
16
16
  attachmentId: ID;
17
17
  data: ArrayBuffer;
18
- }, "transactionDetail/downloadAccountingProviderAttachmentSuccess">, downloadAccountingProviderAttachmentFailure: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"transactionDetail/downloadAccountingProviderAttachmentFailure">, fetchTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, cacheOverride?: any], {
18
+ }, "transactionDetail/downloadAccountingProviderAttachmentSuccess">, downloadAccountingProviderAttachmentFailure: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"transactionDetail/downloadAccountingProviderAttachmentFailure">, fetchTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, cacheOverride?: any, isExpenseAutomationEnabled?: boolean | undefined, isUncategorizedExpenseCategoryEnabled?: boolean | undefined], {
19
19
  transactionId: TransactionID;
20
20
  cacheOverride: any;
21
+ isExpenseAutomationEnabled: boolean | undefined;
22
+ isUncategorizedExpenseCategoryEnabled: boolean | undefined;
21
23
  }, "transactionDetail/fetchTransactionDetail", never, never>, updateTransactionDetailFetchState: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, fetchState: FetchState, error?: ZeniAPIStatus<Record<string, unknown>> | undefined], {
22
24
  transactionId: TransactionID;
23
25
  fetchState: FetchState;
@@ -67,18 +69,23 @@ export declare const downloadAccountingProviderAttachment: import("@reduxjs/tool
67
69
  }, "transactionDetail/saveTransactionDetail">, initializeTransactionDetailLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
68
70
  transactionId: TransactionID;
69
71
  customerId?: ID;
72
+ isExpenseAutomationEnabled?: boolean;
73
+ isUncategorizedExpenseCategoryEnabled?: boolean;
70
74
  vendorId?: ID;
71
75
  }, "transactionDetail/initializeTransactionDetailLocalData">, saveTransactionDetailLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
72
76
  transactionId: TransactionID;
73
77
  transactionLocalData: TransactionDetailLocalData;
74
78
  }, "transactionDetail/saveTransactionDetailLocalData">, clearTransactionDetailLocalData: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
75
79
  transactionId: TransactionID;
76
- }, "transactionDetail/clearTransactionDetailLocalData">, resetLineItemsCategoryClassInLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, lineIdsForReplace: string[], lineIdsForUpdateAll: string[], replace: "class" | "account" | "both", updateAll?: boolean | undefined], {
80
+ }, "transactionDetail/clearTransactionDetailLocalData">, resetLineItemsCategoryClassInLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, lineIdsForReplace: string[], lineIdsForUpdateAll: string[], replace: "class" | "account" | "both", uncategorizedIncomeExpense?: UncategorizedAccounts | undefined, isExpenseAutomationEnabled?: boolean | undefined, updateAll?: boolean | undefined, isUncategorizedExpenseCategoryEnabled?: boolean | undefined], {
77
81
  transactionId: TransactionID;
78
82
  transaction: SupportedTransaction;
79
83
  lineIdsForReplace: string[];
80
84
  lineIdsForUpdateAll: string[];
81
85
  replace: "class" | "account" | "both";
86
+ uncategorizedIncomeExpense: UncategorizedAccounts | undefined;
87
+ isExpenseAutomationEnabled: boolean | undefined;
88
+ isUncategorizedExpenseCategoryEnabled: boolean | undefined;
82
89
  updateAll: boolean | undefined;
83
90
  }, "transactionDetail/resetLineItemsCategoryClassInLocalData", never, never>, setAllLineItemsToCategoryClassInLocalData: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, isUpdateAll: boolean, chosenAccount?: {
84
91
  account: AccountBase;
@@ -105,7 +112,7 @@ export declare const downloadAccountingProviderAttachment: import("@reduxjs/tool
105
112
  transaction: SupportedTransaction;
106
113
  isUpdateAll: boolean;
107
114
  entity: Entity | undefined;
108
- }, "transactionDetail/setAllLineItemsLocalDataIsUpdateAllChecked", never, never>, setEntityRecommendationForLineIdsForTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, lineIds: string[], entity: Entity, amount: number, recommendationWithCOTByLineId: RecommendationWithCOTByLineId, uncategorizedIncomeExpense: UncategorizedAccounts], {
115
+ }, "transactionDetail/setAllLineItemsLocalDataIsUpdateAllChecked", never, never>, setEntityRecommendationForLineIdsForTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, lineIds: string[], entity: Entity, amount: number, recommendationWithCOTByLineId: RecommendationWithCOTByLineId, uncategorizedIncomeExpense: UncategorizedAccounts, isUncategorizedExpenseCategoryEnabled?: boolean | undefined, isExpenseAutomationEnabled?: boolean | undefined], {
109
116
  transactionId: TransactionID;
110
117
  transaction: SupportedTransaction;
111
118
  lineIds: string[];
@@ -113,6 +120,8 @@ export declare const downloadAccountingProviderAttachment: import("@reduxjs/tool
113
120
  amount: number;
114
121
  recommendationWithCOTByLineId: RecommendationWithCOTByLineId;
115
122
  uncategorizedIncomeExpense: UncategorizedAccounts;
123
+ isUncategorizedExpenseCategoryEnabled: boolean | undefined;
124
+ isExpenseAutomationEnabled: boolean | undefined;
116
125
  }, "transactionDetail/setEntityRecommendationForLineIdsForTransactionDetail", never, never>, removeEntityRecommendationForLineIdForTransactionDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[transactionId: TransactionID, transaction: SupportedTransaction, lineId: string], {
117
126
  transactionId: TransactionID;
118
127
  transaction: SupportedTransaction;
@@ -53,11 +53,13 @@ const transactionDetail = (0, toolkit_1.createSlice)({
53
53
  draft.transactionDetailById[key] = Object.assign(Object.assign({}, transactionDetailState_1.initialSupportedTransactionDetail), { fetchState: 'Not-Started', error: undefined });
54
54
  }
55
55
  },
56
- prepare(transactionId, cacheOverride = false) {
56
+ prepare(transactionId, cacheOverride = false, isExpenseAutomationEnabled, isUncategorizedExpenseCategoryEnabled) {
57
57
  return {
58
58
  payload: {
59
59
  transactionId,
60
60
  cacheOverride,
61
+ isExpenseAutomationEnabled,
62
+ isUncategorizedExpenseCategoryEnabled,
61
63
  },
62
64
  };
63
65
  },
@@ -236,11 +238,11 @@ const transactionDetail = (0, toolkit_1.createSlice)({
236
238
  const key = (0, transactionDetailState_1.getTransactionDetailKey)(action.payload.transactionId);
237
239
  const detail = (0, get_1.default)(draft.transactionDetailById, key, undefined);
238
240
  if (detail != null) {
239
- const newLocalData = (0, transactionDetailLocalDataHelper_1.toUpdateLineItemsOriginalCategoryClass)(action.payload.transaction, detail.transactionDetailLocalData, action.payload.lineIdsForReplace, action.payload.lineIdsForUpdateAll, action.payload.replace, action.payload.updateAll);
241
+ const newLocalData = (0, transactionDetailLocalDataHelper_1.toUpdateLineItemsOriginalCategoryClass)(action.payload.transaction, detail.transactionDetailLocalData, action.payload.lineIdsForReplace, action.payload.lineIdsForUpdateAll, action.payload.replace, action.payload.updateAll, action.payload.uncategorizedIncomeExpense, action.payload.isExpenseAutomationEnabled, action.payload.isUncategorizedExpenseCategoryEnabled);
240
242
  draft.transactionDetailById[key] = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: newLocalData });
241
243
  }
242
244
  },
243
- prepare(transactionId, transaction, lineIdsForReplace, lineIdsForUpdateAll, replace, updateAll) {
245
+ prepare(transactionId, transaction, lineIdsForReplace, lineIdsForUpdateAll, replace, uncategorizedIncomeExpense, isExpenseAutomationEnabled, updateAll, isUncategorizedExpenseCategoryEnabled) {
244
246
  return {
245
247
  payload: {
246
248
  transactionId,
@@ -248,6 +250,9 @@ const transactionDetail = (0, toolkit_1.createSlice)({
248
250
  lineIdsForReplace,
249
251
  lineIdsForUpdateAll,
250
252
  replace,
253
+ uncategorizedIncomeExpense,
254
+ isExpenseAutomationEnabled,
255
+ isUncategorizedExpenseCategoryEnabled,
251
256
  updateAll,
252
257
  },
253
258
  };
@@ -303,11 +308,11 @@ const transactionDetail = (0, toolkit_1.createSlice)({
303
308
  const key = (0, transactionDetailState_1.getTransactionDetailKey)(action.payload.transactionId);
304
309
  const detail = (0, get_1.default)(draft.transactionDetailById, key, undefined);
305
310
  if (detail != null) {
306
- const newLocalData = (0, transactionDetailLocalDataHelper_1.setEntityRecommendationForLineIdInLocalData)(transaction, detail.transactionDetailLocalData, action.payload.entity, lineIds, uncategorizedIncomeExpense, recommendationWithCOTByLineId);
311
+ const newLocalData = (0, transactionDetailLocalDataHelper_1.setEntityRecommendationForLineIdInLocalData)(transaction, detail.transactionDetailLocalData, action.payload.entity, lineIds, uncategorizedIncomeExpense, recommendationWithCOTByLineId, action.payload.isUncategorizedExpenseCategoryEnabled, action.payload.isExpenseAutomationEnabled);
307
312
  draft.transactionDetailById[key] = Object.assign(Object.assign({}, detail), { transactionDetailLocalData: newLocalData });
308
313
  }
309
314
  },
310
- prepare(transactionId, transaction, lineIds, entity, amount, recommendationWithCOTByLineId, uncategorizedIncomeExpense) {
315
+ prepare(transactionId, transaction, lineIds, entity, amount, recommendationWithCOTByLineId, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled, isExpenseAutomationEnabled) {
311
316
  return {
312
317
  payload: {
313
318
  transactionId,
@@ -317,6 +322,8 @@ const transactionDetail = (0, toolkit_1.createSlice)({
317
322
  amount,
318
323
  recommendationWithCOTByLineId,
319
324
  uncategorizedIncomeExpense,
325
+ isUncategorizedExpenseCategoryEnabled,
326
+ isExpenseAutomationEnabled,
320
327
  },
321
328
  };
322
329
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeniai/client-epic-state",
3
- "version": "4.19.4",
3
+ "version": "4.19.6-betaML1",
4
4
  "description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -30,7 +30,7 @@
30
30
  "@liveblocks/client": "^2.23.0",
31
31
  "@trivago/prettier-plugin-sort-imports": "^5.2.2",
32
32
  "@types/big.js": "^6.2.2",
33
- "@types/lodash": "^4.17.16",
33
+ "@types/lodash": "^4.17.23",
34
34
  "@types/node": "^20.19.0",
35
35
  "@types/url-parse": "^1.4.11",
36
36
  "@typescript-eslint/eslint-plugin": "^8.26.0",
@@ -62,7 +62,7 @@
62
62
  "dayjs": "^1.10.7",
63
63
  "dayjs-business-time": "^1.0.4",
64
64
  "js-base64": "^3.6.0",
65
- "lodash": "^4.17.21",
65
+ "lodash": "^4.17.23",
66
66
  "pusher-js": "^8.4.0",
67
67
  "redux": "^4.0.5",
68
68
  "redux-observable": "^1.2.0",