@zeniai/client-epic-state 5.1.86 → 5.1.88-betaRD0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/lib/entity/aiCfo/aiCfoPayload.d.ts +7 -0
  2. package/lib/entity/aiCfo/aiCfoReducer.d.ts +3 -2
  3. package/lib/entity/aiCfo/aiCfoReducer.js +25 -2
  4. package/lib/entity/aiCfo/aiCfoState.d.ts +9 -2
  5. package/lib/entity/customerSatisfaction/customerSatisfactionReducer.d.ts +1 -1
  6. package/lib/entity/customerSatisfaction/customerSatisfactionReducer.js +6 -2
  7. package/lib/entity/jeSchedules/jeScheduleHelper.d.ts +2 -0
  8. package/lib/entity/jeSchedules/jeScheduleHelper.js +7 -0
  9. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +34 -1
  10. package/lib/entity/jeSchedules/jeSchedulesPayload.js +68 -0
  11. package/lib/entity/jeSchedules/jeSchedulesReducer.d.ts +4 -2
  12. package/lib/entity/jeSchedules/jeSchedulesReducer.js +24 -2
  13. package/lib/entity/jeSchedules/jeSchedulesSelector.d.ts +10 -2
  14. package/lib/entity/jeSchedules/jeSchedulesSelector.js +28 -3
  15. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +41 -1
  16. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +12 -1
  17. package/lib/entity/jeSchedules/jeSchedulesTypes.js +40 -1
  18. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  19. package/lib/entity/snackbar/snackbarTypes.js +29 -0
  20. package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.d.ts +2 -0
  21. package/lib/entity/transaction/payloadTypes/scheduleTransactionPayload.js +2 -0
  22. package/lib/entity/transaction/stateTypes/scheduleTransaction.d.ts +2 -0
  23. package/lib/epic.d.ts +6 -1
  24. package/lib/epic.js +8 -1
  25. package/lib/esm/entity/aiCfo/aiCfoReducer.js +23 -1
  26. package/lib/esm/entity/customerSatisfaction/customerSatisfactionReducer.js +4 -1
  27. package/lib/esm/entity/jeSchedules/jeScheduleHelper.js +6 -0
  28. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +68 -1
  29. package/lib/esm/entity/jeSchedules/jeSchedulesReducer.js +24 -2
  30. package/lib/esm/entity/jeSchedules/jeSchedulesSelector.js +26 -2
  31. package/lib/esm/entity/jeSchedules/jeSchedulesTypes.js +34 -0
  32. package/lib/esm/entity/snackbar/snackbarTypes.js +29 -0
  33. package/lib/esm/entity/transaction/payloadTypes/scheduleTransactionPayload.js +2 -0
  34. package/lib/esm/epic.js +8 -1
  35. package/lib/esm/index.js +14 -8
  36. package/lib/esm/view/companyHealthMetricView/companyHealthMetricConfigReducer.js +4 -1
  37. package/lib/esm/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +6 -3
  38. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.js +34 -3
  39. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/newSchedule/createOneTimeAccrualEpic.js +81 -0
  40. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/newSchedule/initializeNewScheduleEpic.js +21 -0
  41. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/newSchedule/saveNewScheduleEpic.js +110 -0
  42. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/newSchedule/searchTransactionsForNewScheduleEpic.js +73 -0
  43. package/lib/esm/view/expenseAutomationView/epics/jeSchedule/switchJESchedulesTabEpic.js +22 -0
  44. package/lib/esm/view/expenseAutomationView/helpers/newScheduleLocalDataHelper.js +140 -0
  45. package/lib/esm/view/expenseAutomationView/payload/jeSchedulesPayload.js +55 -0
  46. package/lib/esm/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +187 -28
  47. package/lib/esm/view/expenseAutomationView/selectorTypes/jeNewScheduleViewSelectorTypes.js +1 -0
  48. package/lib/esm/view/expenseAutomationView/selectors/jeNewScheduleViewSelector.js +102 -0
  49. package/lib/esm/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +260 -22
  50. package/lib/esm/view/expenseAutomationView/types/jeSchedulesViewState.js +5 -6
  51. package/lib/esm/view/invoicing/createCreditNote/createCreditNoteEpic.js +24 -4
  52. package/lib/esm/view/invoicing/createInvoice/createInvoiceEpic.js +24 -4
  53. package/lib/esm/view/invoicing/createInvoice/createInvoiceSelector.js +37 -10
  54. package/lib/esm/view/invoicing/discountAction/discountActionEpic.js +33 -9
  55. package/lib/esm/view/invoicing/dunningAction/dunningActionEpic.js +35 -9
  56. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload.js +5 -1
  57. package/lib/esm/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +32 -5
  58. package/lib/esm/view/invoicing/editInvoicingCouponDetailView/saveInvoicingCouponEpic.js +23 -3
  59. package/lib/esm/view/invoicing/editInvoicingCustomerDetailView/saveInvoicingCustomerEpic.js +24 -4
  60. package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.js +24 -4
  61. package/lib/esm/view/invoicing/editInvoicingSubscriptionDetailView/syncInvoicingSubscriptionCouponsEpic.js +20 -3
  62. package/lib/esm/view/invoicing/invoiceAction/invoiceActionEpic.js +60 -17
  63. package/lib/esm/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.js +30 -0
  64. package/lib/esm/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.js +4 -29
  65. package/lib/esm/view/invoicing/invoicingDunningCaseDetailView/fetchInvoicingDunningEmailPreviewEpic.js +26 -0
  66. package/lib/esm/view/invoicing/invoicingDunningCaseDetailView/fetchInvoicingDunningEmailPreviewPageEpic.js +16 -0
  67. package/lib/esm/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewPayload.js +9 -1
  68. package/lib/esm/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewReducer.js +50 -1
  69. package/lib/esm/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewSelector.js +14 -1
  70. package/lib/esm/view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic.js +29 -10
  71. package/lib/esm/view/invoicing/invoicingQboView/epics/startInvoicingQboBackfillEpic.js +28 -5
  72. package/lib/esm/view/invoicing/issueCreditNote/issueCreditNoteEpic.js +24 -4
  73. package/lib/esm/view/invoicing/issueCreditNote/issueCreditNoteSelector.js +22 -14
  74. package/lib/esm/view/invoicing/recordPayment/recordPaymentEpic.js +46 -7
  75. package/lib/esm/view/invoicing/settingsView/settingsViewEpics.js +26 -8
  76. package/lib/esm/view/invoicing/settingsView/settingsViewReducer.js +1 -1
  77. package/lib/esm/view/invoicing/settingsView/settingsViewSelector.js +4 -1
  78. package/lib/esm/view/invoicing/subscriptionAction/subscriptionActionEpic.js +41 -9
  79. package/lib/esm/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsReducer.js +4 -1
  80. package/lib/esm/view/vendorTabView/vendorTabViewReducer.js +4 -1
  81. package/lib/index.d.ts +23 -17
  82. package/lib/index.js +84 -50
  83. package/lib/view/companyHealthMetricView/companyHealthMetricConfigReducer.d.ts +1 -1
  84. package/lib/view/companyHealthMetricView/companyHealthMetricConfigReducer.js +5 -2
  85. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +6 -3
  86. package/lib/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.d.ts +2 -2
  87. package/lib/view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic.js +32 -1
  88. package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/createOneTimeAccrualEpic.d.ts +8 -0
  89. package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/createOneTimeAccrualEpic.js +85 -0
  90. package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/initializeNewScheduleEpic.d.ts +8 -0
  91. package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/initializeNewScheduleEpic.js +25 -0
  92. package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/saveNewScheduleEpic.d.ts +45 -0
  93. package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/saveNewScheduleEpic.js +114 -0
  94. package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/searchTransactionsForNewScheduleEpic.d.ts +8 -0
  95. package/lib/view/expenseAutomationView/epics/jeSchedule/newSchedule/searchTransactionsForNewScheduleEpic.js +77 -0
  96. package/lib/view/expenseAutomationView/epics/jeSchedule/switchJESchedulesTabEpic.d.ts +6 -0
  97. package/lib/view/expenseAutomationView/epics/jeSchedule/switchJESchedulesTabEpic.js +26 -0
  98. package/lib/view/expenseAutomationView/helpers/newScheduleLocalDataHelper.d.ts +36 -0
  99. package/lib/view/expenseAutomationView/helpers/newScheduleLocalDataHelper.js +145 -0
  100. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  101. package/lib/view/expenseAutomationView/payload/jeSchedulesPayload.d.ts +44 -2
  102. package/lib/view/expenseAutomationView/payload/jeSchedulesPayload.js +58 -1
  103. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.d.ts +49 -10
  104. package/lib/view/expenseAutomationView/reducers/jeSchedulesViewReducer.js +189 -28
  105. package/lib/view/expenseAutomationView/reducers/missingReceiptsViewReducer.d.ts +1 -1
  106. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +2 -2
  107. package/lib/view/expenseAutomationView/selectorTypes/jeNewScheduleViewSelectorTypes.d.ts +40 -0
  108. package/lib/view/expenseAutomationView/selectorTypes/jeNewScheduleViewSelectorTypes.js +2 -0
  109. package/lib/view/expenseAutomationView/selectorTypes/jeSchedulesSelectorTypes.d.ts +34 -8
  110. package/lib/view/expenseAutomationView/selectors/jeNewScheduleViewSelector.d.ts +20 -0
  111. package/lib/view/expenseAutomationView/selectors/jeNewScheduleViewSelector.js +108 -0
  112. package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.d.ts +10 -1
  113. package/lib/view/expenseAutomationView/selectors/jeSchedulesViewSelector.js +266 -21
  114. package/lib/view/expenseAutomationView/types/completedSubTab.d.ts +1 -1
  115. package/lib/view/expenseAutomationView/types/jeSchedulesViewState.d.ts +79 -8
  116. package/lib/view/expenseAutomationView/types/jeSchedulesViewState.js +8 -8
  117. package/lib/view/invoicing/createCreditNote/createCreditNoteEpic.d.ts +2 -1
  118. package/lib/view/invoicing/createCreditNote/createCreditNoteEpic.js +23 -3
  119. package/lib/view/invoicing/createInvoice/createInvoiceEpic.d.ts +2 -1
  120. package/lib/view/invoicing/createInvoice/createInvoiceEpic.js +23 -3
  121. package/lib/view/invoicing/createInvoice/createInvoiceSelector.d.ts +22 -8
  122. package/lib/view/invoicing/createInvoice/createInvoiceSelector.js +37 -10
  123. package/lib/view/invoicing/discountAction/discountActionEpic.d.ts +2 -1
  124. package/lib/view/invoicing/discountAction/discountActionEpic.js +32 -8
  125. package/lib/view/invoicing/dunningAction/dunningActionEpic.d.ts +2 -1
  126. package/lib/view/invoicing/dunningAction/dunningActionEpic.js +34 -8
  127. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload.d.ts +3 -1
  128. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/catalogDetailEditPayload.js +5 -1
  129. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.d.ts +2 -1
  130. package/lib/view/invoicing/editInvoicingCatalogItemDetailView/saveInvoicingCatalogItemEpic.js +31 -4
  131. package/lib/view/invoicing/editInvoicingCouponDetailView/saveInvoicingCouponEpic.d.ts +2 -1
  132. package/lib/view/invoicing/editInvoicingCouponDetailView/saveInvoicingCouponEpic.js +22 -2
  133. package/lib/view/invoicing/editInvoicingCustomerDetailView/saveInvoicingCustomerEpic.d.ts +2 -1
  134. package/lib/view/invoicing/editInvoicingCustomerDetailView/saveInvoicingCustomerEpic.js +23 -3
  135. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.d.ts +2 -1
  136. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/saveInvoicingSubscriptionEpic.js +23 -3
  137. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/syncInvoicingSubscriptionCouponsEpic.d.ts +2 -1
  138. package/lib/view/invoicing/editInvoicingSubscriptionDetailView/syncInvoicingSubscriptionCouponsEpic.js +19 -2
  139. package/lib/view/invoicing/invoiceAction/invoiceActionEpic.d.ts +2 -1
  140. package/lib/view/invoicing/invoiceAction/invoiceActionEpic.js +59 -16
  141. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewPayload.d.ts +13 -0
  142. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.d.ts +1 -1
  143. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewReducer.js +30 -0
  144. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.d.ts +11 -31
  145. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewSelector.js +4 -29
  146. package/lib/view/invoicing/invoicingConfigView/invoicingConfigViewState.d.ts +15 -0
  147. package/lib/view/invoicing/invoicingDunningCaseDetailView/fetchInvoicingDunningEmailPreviewEpic.d.ts +7 -0
  148. package/lib/view/invoicing/invoicingDunningCaseDetailView/fetchInvoicingDunningEmailPreviewEpic.js +30 -0
  149. package/lib/view/invoicing/invoicingDunningCaseDetailView/fetchInvoicingDunningEmailPreviewPageEpic.d.ts +6 -0
  150. package/lib/view/invoicing/invoicingDunningCaseDetailView/fetchInvoicingDunningEmailPreviewPageEpic.js +20 -0
  151. package/lib/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewEpics.d.ts +2 -2
  152. package/lib/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewPayload.d.ts +12 -0
  153. package/lib/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewPayload.js +11 -0
  154. package/lib/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewReducer.d.ts +21 -4
  155. package/lib/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewReducer.js +51 -2
  156. package/lib/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewSelector.d.ts +3 -0
  157. package/lib/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewSelector.js +16 -2
  158. package/lib/view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewState.d.ts +13 -0
  159. package/lib/view/invoicing/invoicingQboView/epics/invoicingQboViewActionType.d.ts +2 -1
  160. package/lib/view/invoicing/invoicingQboView/epics/retryInvoicingQboSyncTaskEpic.js +28 -9
  161. package/lib/view/invoicing/invoicingQboView/epics/startInvoicingQboBackfillEpic.js +27 -4
  162. package/lib/view/invoicing/issueCreditNote/issueCreditNoteEpic.d.ts +2 -1
  163. package/lib/view/invoicing/issueCreditNote/issueCreditNoteEpic.js +23 -3
  164. package/lib/view/invoicing/issueCreditNote/issueCreditNoteSelector.d.ts +24 -7
  165. package/lib/view/invoicing/issueCreditNote/issueCreditNoteSelector.js +23 -16
  166. package/lib/view/invoicing/recordPayment/recordPaymentEpic.d.ts +2 -1
  167. package/lib/view/invoicing/recordPayment/recordPaymentEpic.js +45 -6
  168. package/lib/view/invoicing/settingsView/settingsViewEpics.d.ts +2 -1
  169. package/lib/view/invoicing/settingsView/settingsViewEpics.js +25 -7
  170. package/lib/view/invoicing/settingsView/settingsViewReducer.d.ts +10 -1
  171. package/lib/view/invoicing/settingsView/settingsViewReducer.js +1 -1
  172. package/lib/view/invoicing/settingsView/settingsViewSelector.d.ts +4 -2
  173. package/lib/view/invoicing/settingsView/settingsViewSelector.js +4 -1
  174. package/lib/view/invoicing/subscriptionAction/subscriptionActionEpic.d.ts +2 -1
  175. package/lib/view/invoicing/subscriptionAction/subscriptionActionEpic.js +40 -8
  176. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsReducer.d.ts +1 -1
  177. package/lib/view/vendorFiling1099/vendorFiling1099UploadDetails/vendorFiling1099UploadDetailsReducer.js +5 -2
  178. package/lib/view/vendorTabView/vendorTabViewReducer.d.ts +1 -1
  179. package/lib/view/vendorTabView/vendorTabViewReducer.js +5 -2
  180. package/package.json +1 -1
@@ -117,6 +117,7 @@ function chatHistoryToQA(history) {
117
117
  artifact: parsedAgentMessage.artifact ?? undefined,
118
118
  artifactTitle: parsedAgentMessage.artifact_title ?? undefined,
119
119
  artifactHostUrl: parsedAgentMessage.artifact_host_url ?? undefined,
120
+ exports: toAiCfoExports(parsedAgentMessage.exports),
120
121
  },
121
122
  createdAt: zeniDate(agentMessage.created_at),
122
123
  };
@@ -306,6 +307,26 @@ const toCardPolicyInitialData = (payload) => {
306
307
  wizardPlan: toCardPolicyWizardPlan(payload.wizard_plan),
307
308
  };
308
309
  };
310
+ // Drops entries missing id or name (broken download path); returns undefined, not [], so the field stays absent.
311
+ export const toAiCfoExports = (payload) => {
312
+ if (!Array.isArray(payload)) {
313
+ return undefined;
314
+ }
315
+ const mapped = payload.flatMap((entry) => {
316
+ // Falsy, not `== null`: an empty string would reach the UI as a blank, failing button.
317
+ if (!entry?.export_id || !entry?.name) {
318
+ return [];
319
+ }
320
+ return [
321
+ {
322
+ exportId: entry.export_id,
323
+ name: entry.name,
324
+ sizeBytes: entry.size_bytes ?? undefined,
325
+ },
326
+ ];
327
+ });
328
+ return mapped.length > 0 ? mapped : undefined;
329
+ };
309
330
  const toAiCfoVisualizationData = (data) => {
310
331
  if ('x' in data && 'y' in data) {
311
332
  // Normalize y to always be an array
@@ -348,7 +369,7 @@ const toAiCfoVisualizationData = (data) => {
348
369
  };
349
370
  };
350
371
  const toResponseBlockType = (answer, userId) => {
351
- const { metadata, state, type, text, visualization, table, follow_up_questions, suggested_reply, assumptions, insights, summarized_title, artifact, artifact_title, artifact_host_url, } = answer;
372
+ const { metadata, state, type, text, visualization, table, follow_up_questions, suggested_reply, assumptions, insights, summarized_title, artifact, artifact_title, artifact_host_url, exports, } = answer;
352
373
  const { chat_session_id, message_id, timestamp, chain_of_thought_action_steps: chainOfThoughtActionSteps = [], } = metadata;
353
374
  return {
354
375
  messageId: message_id,
@@ -370,6 +391,7 @@ const toResponseBlockType = (answer, userId) => {
370
391
  artifact: artifact ?? undefined,
371
392
  artifactTitle: artifact_title ?? undefined,
372
393
  artifactHostUrl: artifact_host_url ?? undefined,
394
+ exports: toAiCfoExports(exports),
373
395
  },
374
396
  createdAt: zeniDate(timestamp),
375
397
  };
@@ -15,10 +15,13 @@ const customerSatisfaction = createSlice({
15
15
  draft.customerSatisfactionByCompanyId[newRecord.companyId] = newRecord;
16
16
  });
17
17
  },
18
+ clearAllCustomerSatisfaction() {
19
+ return initialState;
20
+ },
18
21
  },
19
22
  extraReducers: (builder) => {
20
23
  builder.addCase(clearAll, () => initialState);
21
24
  },
22
25
  });
23
- export const { updateCustomerSatisfaction } = customerSatisfaction.actions;
26
+ export const { clearAllCustomerSatisfaction, updateCustomerSatisfaction } = customerSatisfaction.actions;
24
27
  export default customerSatisfaction.reducer;
@@ -1,3 +1,9 @@
1
1
  export function generateJEScheduleKey(payload) {
2
2
  return `${payload.je_schedule_id}_${payload.je_schedule_type}`;
3
3
  }
4
+ // Suffixed rather than using the bare Mongo _id so the key is a distinct type from
5
+ // JEScheduleKey / JEScheduleTransactionKey and the three cannot be passed interchangeably.
6
+ // The unsuffixed id stays on the entity as `accrualId` for callers that need it.
7
+ export function generateJEOneTimeAccrualKey(accrualId) {
8
+ return `${accrualId}_one_time_accrual`;
9
+ }
@@ -1,9 +1,11 @@
1
1
  import { toAmount } from '../../commonStateTypes/amount';
2
2
  import { LAST_SCHEDULE_DAY_OF_MONTH, MAX_SCHEDULE_DAY_OF_MONTH, MIN_SCHEDULE_DAY_OF_MONTH, toScheduleDaysOfMonth, } from '../../commonStateTypes/timePeriod';
3
3
  import { date } from '../../zeniDayJS';
4
+ import { toZeniUrl } from '../../zeniUrl';
4
5
  import { toTransactionID, } from '../transaction/payloadTypes/transactionIDPayload';
5
6
  import { generateJEScheduleKey } from './jeScheduleHelper';
6
- import { getJEScheduleTransactionKey, toJournalEntryErrorCodeType, toScheduleJournalEntryStatusCodeType, toScheduleStatusCodeType, toScheduleTypesTypeStrict, } from './jeSchedulesTypes';
7
+ import { getJEScheduleTransactionKey, toJournalEntryErrorCodeType, toOneTimeAccrualAutomationTierType, toOneTimeAccrualOriginType, toOneTimeAccrualReversalPolicyType, toOneTimeAccrualReversalTriggerType, toOneTimeAccrualStatusCodeType, toScheduleJournalEntryStatusCodeType, toScheduleStatusCodeType, toScheduleTypesTypeStrict, } from './jeSchedulesTypes';
8
+ const USD_CURRENCY_CODE = 'USD';
7
9
  export function toScheduledJournalEntryState(payload, currency_code, currency_symbol) {
8
10
  return {
9
11
  status: {
@@ -251,6 +253,7 @@ export function toJEScheduledTransaction(payload) {
251
253
  updatedByUserID: payload.updated_by.user_id,
252
254
  balanceAsOfToday: payload.balance ?? undefined,
253
255
  updatedAt: payload.updated_at != null ? date(payload.updated_at) : undefined,
256
+ createTime: payload.create_time != null ? date(payload.create_time) : undefined,
254
257
  jeCredit: {
255
258
  accountId: payload.je_credit_account_id ?? undefined,
256
259
  accountingClassId: payload.je_credit_accounting_class_id ?? undefined,
@@ -275,6 +278,7 @@ export function toJEScheduledTransaction(payload) {
275
278
  : {},
276
279
  scheduledJournalEntry: [],
277
280
  aiSummaries: toJEScheduleAISummaries(payload.ai_summaries),
281
+ confidenceScore: payload.confidence_score ?? undefined,
278
282
  createdByUserID: payload.created_by?.user_id ?? undefined,
279
283
  recommendations: toJEScheduleRecommendations(payload.recommendations),
280
284
  };
@@ -332,3 +336,66 @@ export function toJEAccruedScheduledTransaction(payload) {
332
336
  jeScheduleType: toScheduleTypesTypeStrict(payload.je_schedule_type),
333
337
  };
334
338
  }
339
+ export function toJEOneTimeAccrual(payload) {
340
+ return {
341
+ accrualId: payload._id,
342
+ vendorId: payload.vendor_id,
343
+ vendorName: payload.vendor_name,
344
+ serviceMonth: payload.service_month,
345
+ accrualStatus: toOneTimeAccrualStatusCodeType(payload.status),
346
+ origin: toOneTimeAccrualOriginType(payload.origin),
347
+ automationTier: payload.automation_tier != null
348
+ ? toOneTimeAccrualAutomationTierType(payload.automation_tier)
349
+ : undefined,
350
+ estimatedAmount: toOneTimeAccrualAmount(payload.estimated_amount, payload.currency),
351
+ memo: payload.memo ?? '',
352
+ // Exclusive by contract: a scheduled row reverses on expectedReversalDate and bills never
353
+ // drive it, so the two never need reconciling. Defaulting to on_bill_match matches the
354
+ // create path's default when the field is absent on an older document.
355
+ reversalPolicy: toOneTimeAccrualReversalPolicyType(payload.reversal_policy ?? 'on_bill_match'),
356
+ reversalTrigger: toOneTimeAccrualReversalTriggerType(payload.reversal_trigger ?? undefined),
357
+ expectedReversalDate: payload.expected_reversal_date != null
358
+ ? date(payload.expected_reversal_date)
359
+ : undefined,
360
+ postingDate: payload.posting_date != null ? date(payload.posting_date) : undefined,
361
+ actualPostDate: payload.actual_post_date != null
362
+ ? date(payload.actual_post_date)
363
+ : undefined,
364
+ actualReversalPostDate: payload.actual_reversal_post_date != null
365
+ ? date(payload.actual_reversal_post_date)
366
+ : undefined,
367
+ jeDebitAccountId: payload.je_debit_account_id ?? undefined,
368
+ jeDebitAccountName: payload.je_debit_account_name ?? undefined,
369
+ jeDebitAccountingClassId: payload.je_debit_accounting_class_id ?? undefined,
370
+ jeDebitAccountingClassName: payload.je_debit_accounting_class_name ?? undefined,
371
+ jeCreditAccountId: payload.je_credit_account_id ?? undefined,
372
+ jeCreditAccountName: payload.je_credit_account_name ?? undefined,
373
+ jeCreditAccountingClassId: payload.je_credit_accounting_class_id ?? undefined,
374
+ jeCreditAccountingClassName: payload.je_credit_accounting_class_name ?? undefined,
375
+ transactionId: payload.transaction_id ?? undefined,
376
+ transactionIntegrationId: payload.transaction_integration_id ?? undefined,
377
+ reversalTransactionId: payload.reversal_transaction_id ?? undefined,
378
+ createdBy: toJEOneTimeAccrualCreator(payload.created_by_user),
379
+ };
380
+ }
381
+ // The accrual wire format carries a currency CODE but no symbol, so the symbol has to be derived.
382
+ // Only USD has a known glyph today (the create path is USD-only); anything else falls back to the
383
+ // code, which reads correctly as "EUR 1,200" rather than silently rendering a wrong "$".
384
+ function toOneTimeAccrualAmount(amount, currencyCode) {
385
+ const code = currencyCode ?? USD_CURRENCY_CODE;
386
+ return toAmount(amount, code, code === USD_CURRENCY_CODE ? '$' : code);
387
+ }
388
+ function toJEOneTimeAccrualCreator(payload) {
389
+ if (payload == null) {
390
+ return undefined;
391
+ }
392
+ return {
393
+ userId: payload.user_id,
394
+ email: payload.email ?? undefined,
395
+ firstName: payload.first_name ?? undefined,
396
+ lastName: payload.last_name ?? undefined,
397
+ photo: payload.photo?.original != null
398
+ ? toZeniUrl(payload.photo.original)
399
+ : undefined,
400
+ };
401
+ }
@@ -1,10 +1,12 @@
1
1
  import { createSlice } from '@reduxjs/toolkit';
2
2
  import assignWith from 'lodash/assignWith';
3
3
  import { clearAll } from '../../rootActions';
4
- import { getJEScheduleKey, getJEScheduleTransactionDetailKeyPayload, toJEAccruedScheduledTransaction, toJEScheduledTransaction, toScheduledJournalEntryState, } from './jeSchedulesPayload';
4
+ import { generateJEOneTimeAccrualKey } from './jeScheduleHelper';
5
+ import { getJEScheduleKey, getJEScheduleTransactionDetailKeyPayload, toJEAccruedScheduledTransaction, toJEOneTimeAccrual, toJEScheduledTransaction, toScheduledJournalEntryState, } from './jeSchedulesPayload';
5
6
  export const initialState = {
6
7
  schedulesByTransactionKey: {},
7
8
  schedulesByAccruedJEScheduleKey: {},
9
+ oneTimeAccrualsByKey: {},
8
10
  };
9
11
  const jeSchedules = createSlice({
10
12
  name: 'jeSchedules',
@@ -109,6 +111,25 @@ const jeSchedules = createSlice({
109
111
  delete draft.schedulesByAccruedJEScheduleKey[JEScheduleKey];
110
112
  },
111
113
  },
114
+ // Writes directly, unlike updateAccruedJESchedules / updateJESchedules, which are no-op
115
+ // actions whose only job is to trigger the entity fan-out epic that fetches vendors,
116
+ // accounts, classes and users. An accrual denormalizes all of those as names on the document,
117
+ // so there is nothing to fan out to.
118
+ updateJEOneTimeAccruals: {
119
+ prepare(jeOneTimeAccrualsPayload) {
120
+ return {
121
+ payload: {
122
+ jeOneTimeAccrualsPayload,
123
+ },
124
+ };
125
+ },
126
+ reducer(draft, action) {
127
+ action.payload.jeOneTimeAccrualsPayload.forEach((accrualPayload) => {
128
+ const accrual = toJEOneTimeAccrual(accrualPayload);
129
+ draft.oneTimeAccrualsByKey[generateJEOneTimeAccrualKey(accrual.accrualId)] = accrual;
130
+ });
131
+ },
132
+ },
112
133
  clearAllJEScheduleTransactions(draft) {
113
134
  draft.schedulesByTransactionKey = {};
114
135
  },
@@ -120,10 +141,11 @@ const jeSchedules = createSlice({
120
141
  builder.addCase(clearAll, (draft) => {
121
142
  draft.schedulesByAccruedJEScheduleKey = {};
122
143
  draft.schedulesByTransactionKey = {};
144
+ draft.oneTimeAccrualsByKey = {};
123
145
  });
124
146
  },
125
147
  });
126
- export const { updateJESchedules, updateAccruedJESchedules, updateJEScheduledTransaction, updateAccruedJEScheduledTransaction, updateJESchedulesDetails, updateAccruedJESchedulesDetails, deleteJESchedulesDetails, deleteAccruedJESchedulesDetails, clearAllAccruedJESchedules, clearAllJEScheduleTransactions, } = jeSchedules.actions;
148
+ export const { updateJESchedules, updateAccruedJESchedules, updateJEScheduledTransaction, updateAccruedJEScheduledTransaction, updateJESchedulesDetails, updateAccruedJESchedulesDetails, deleteJESchedulesDetails, deleteAccruedJESchedulesDetails, clearAllAccruedJESchedules, clearAllJEScheduleTransactions, updateJEOneTimeAccruals, } = jeSchedules.actions;
127
149
  export default jeSchedules.reducer;
128
150
  /**
129
151
  * Helper functions
@@ -5,13 +5,26 @@ import { getClassById } from '../class/classSelector';
5
5
  import { getScheduleTransactionById } from '../transaction/transactionSelector';
6
6
  import { getUserByUserId } from '../user/userSelector';
7
7
  import { getVendorByVendorId } from '../vendor/vendorSelector';
8
+ // Takes the slice, not RootState: an accrual denormalizes its vendor, account and class names, so
9
+ // unlike getJEAccruedScheduleByJEScheduleKey this joins nothing.
10
+ //
11
+ // Spreads the stored entity rather than rebuilding it field by field. That is deliberate — the
12
+ // accrued joiner listed every field explicitly and silently dropped jeScheduleType, which made a
13
+ // whole tab render empty while its reducer test still passed. A spread cannot lose a field.
14
+ export const getJEOneTimeAccrualByKey = (jeOneTimeAccrualKey, jeSchedulesState) => {
15
+ const accrual = recordGet(jeSchedulesState.oneTimeAccrualsByKey, jeOneTimeAccrualKey);
16
+ if (accrual == null) {
17
+ return undefined;
18
+ }
19
+ return { ...accrual, jeOneTimeAccrualKey };
20
+ };
8
21
  export const getJEAccruedScheduleByJEScheduleKey = (JEScheduleKey, state) => {
9
22
  const { jeSchedulesState, vendorState, accountState, userState, classState } = state;
10
23
  const JEAccruedScheduleState = recordGet(jeSchedulesState.schedulesByAccruedJEScheduleKey, JEScheduleKey);
11
24
  if (JEAccruedScheduleState == null) {
12
25
  return undefined;
13
26
  }
14
- const { period, updatedByUserID: updatedBy, vendorId, jeCredit, jeDebit, currencyCode, currencySymbol, balanceAsOfToday, startDate, endDate, status, updatedAt, jeScheduleId, scheduledJournalEntry, dayOfPostingDate: postingDate, lastDayOfMonth, memo, recurringAmount, createTime, otherAttributes, } = JEAccruedScheduleState;
27
+ const { period, updatedByUserID: updatedBy, vendorId, jeCredit, jeDebit, currencyCode, currencySymbol, balanceAsOfToday, startDate, endDate, status, updatedAt, jeScheduleId, scheduledJournalEntry, dayOfPostingDate: postingDate, lastDayOfMonth, memo, recurringAmount, createTime, otherAttributes, jeScheduleType, } = JEAccruedScheduleState;
15
28
  const vendorDetails = getVendorByVendorId(vendorState, vendorId);
16
29
  if (vendorDetails == null) {
17
30
  throw new Error(`Vendor with ${vendorId} doesn't exist`);
@@ -35,6 +48,8 @@ export const getJEAccruedScheduleByJEScheduleKey = (JEScheduleKey, state) => {
35
48
  reportId: 'class_list',
36
49
  })
37
50
  : undefined;
51
+ const postedCount = scheduledJournalEntry.filter((sje) => sje.status.code === 'posted' || sje.status.code === 'recorded').length;
52
+ const lifecycleTotal = period ?? scheduledJournalEntry.length;
38
53
  return {
39
54
  jeScheduleId,
40
55
  otherAttributes,
@@ -43,6 +58,8 @@ export const getJEAccruedScheduleByJEScheduleKey = (JEScheduleKey, state) => {
43
58
  updatedAt,
44
59
  currencyCode,
45
60
  currencySymbol,
61
+ lifecycleTotal,
62
+ postedCount,
46
63
  jeCredit: {
47
64
  accountingClass: classCredit,
48
65
  account: accountCredit,
@@ -60,6 +77,7 @@ export const getJEAccruedScheduleByJEScheduleKey = (JEScheduleKey, state) => {
60
77
  memo,
61
78
  createTime,
62
79
  recurringAmount,
80
+ jeScheduleType,
63
81
  jeAccruedScheduleKey: JEScheduleKey,
64
82
  balanceAsOfToday: balanceAsOfToday != null
65
83
  ? toAmount(balanceAsOfToday, currencyCode, currencySymbol)
@@ -70,7 +88,7 @@ export const getJEAccruedScheduleByJEScheduleKey = (JEScheduleKey, state) => {
70
88
  export const getJEScheduledTransactionByJEScheduleTransactionKey = (jeScheduleTransactionKey, state) => {
71
89
  const { jeSchedulesState, vendorState, accountState, userState, classState, transactionState, } = state;
72
90
  const jeScheduleTransactionState = recordGet(jeSchedulesState.schedulesByTransactionKey, jeScheduleTransactionKey);
73
- const { period, updatedByUserID: updatedBy, createdByUserID: createdBy, vendorId, jeCredit, jeDebit, currencyCode, currencySymbol, balanceAsOfToday, baseTransaction, startDate, endDate, status, updatedAt, jeScheduleId, scheduledJournalEntry, dayOfPostingDate: postingDate, lastDayOfMonth, otherAttributes, jeScheduleType, aiSummaries, recommendations, } = jeScheduleTransactionState;
91
+ const { period, updatedByUserID: updatedBy, createdByUserID: createdBy, createTime, vendorId, jeCredit, jeDebit, currencyCode, currencySymbol, balanceAsOfToday, baseTransaction, startDate, endDate, status, updatedAt, jeScheduleId, scheduledJournalEntry, dayOfPostingDate: postingDate, lastDayOfMonth, otherAttributes, jeScheduleType, aiSummaries, confidenceScore, recommendations, } = jeScheduleTransactionState;
74
92
  const vendorDetails = getVendorByVendorId(vendorState, vendorId);
75
93
  if (vendorDetails == null) {
76
94
  throw new Error(`Vendor with ${vendorId} doesn't exist`);
@@ -99,6 +117,8 @@ export const getJEScheduledTransactionByJEScheduleTransactionKey = (jeScheduleTr
99
117
  reportId: 'class_list',
100
118
  })
101
119
  : undefined;
120
+ const postedCount = scheduledJournalEntry.filter((sje) => sje.status.code === 'posted' || sje.status.code === 'recorded').length;
121
+ const lifecycleTotal = period ?? scheduledJournalEntry.length;
102
122
  return {
103
123
  jeScheduleId,
104
124
  jeScheduleType,
@@ -107,6 +127,8 @@ export const getJEScheduledTransactionByJEScheduleTransactionKey = (jeScheduleTr
107
127
  updatedByUser: userDetails,
108
128
  updatedAt: updatedAt,
109
129
  period,
130
+ lifecycleTotal,
131
+ postedCount,
110
132
  balanceAsOfToday: balanceAsOfToday != null
111
133
  ? toAmount(balanceAsOfToday, currencyCode, currencySymbol)
112
134
  : undefined,
@@ -129,7 +151,9 @@ export const getJEScheduledTransactionByJEScheduleTransactionKey = (jeScheduleTr
129
151
  },
130
152
  scheduledJournalEntry,
131
153
  aiSummaries,
154
+ confidenceScore,
132
155
  createdByUser: createdByUserDetails,
156
+ createTime,
133
157
  recommendations,
134
158
  };
135
159
  };
@@ -24,6 +24,40 @@ const SCHEDULE_STATUS_CODE = [
24
24
  'draft',
25
25
  ];
26
26
  export const toScheduleStatusCodeType = (v) => stringToUnion(v, SCHEDULE_STATUS_CODE);
27
+ // One-time accruals come from agent-je's Mongo `accruals` collection, not the JE schedule
28
+ // datastore, so they carry their own status vocabulary rather than SCHEDULE_STATUS_CODE.
29
+ // `posting` and `reversing` are transient claims held while a JE posts.
30
+ const ONE_TIME_ACCRUAL_STATUS_CODE = [
31
+ 'draft',
32
+ 'posting',
33
+ 'posted',
34
+ 'posting_blocked',
35
+ 'reversing',
36
+ 'reversed',
37
+ ];
38
+ export const toOneTimeAccrualStatusCodeType = (v) => stringToUnion(v, ONE_TIME_ACCRUAL_STATUS_CODE);
39
+ // Who created the accrual. This — not the creator's email — is the authoritative
40
+ // AI-vs-manual signal for the Method column.
41
+ const ONE_TIME_ACCRUAL_ORIGIN = ['agent', 'human'];
42
+ export const toOneTimeAccrualOriginType = (v) => stringToUnion(v, ONE_TIME_ACCRUAL_ORIGIN);
43
+ const ONE_TIME_ACCRUAL_AUTOMATION_TIER = ['manual', 'draft', 'auto'];
44
+ export const toOneTimeAccrualAutomationTierType = (v) => stringToUnion(v, ONE_TIME_ACCRUAL_AUTOMATION_TIER);
45
+ // How the accrual is allowed to reverse. The two are exclusive: a scheduled row reverses on
46
+ // expectedReversalDate and bills never drive it; an on_bill_match row reverses only when a bill
47
+ // is matched, which is why its lifecycle reads "Reverses on match" rather than showing a date.
48
+ const ONE_TIME_ACCRUAL_REVERSAL_POLICY = [
49
+ 'on_bill_match',
50
+ 'scheduled_date',
51
+ ];
52
+ export const toOneTimeAccrualReversalPolicyType = (v) => stringToUnion(v, ONE_TIME_ACCRUAL_REVERSAL_POLICY);
53
+ // What actually caused a reverse. Distinct from a *revert*, which soft-deletes the row and
54
+ // never sets this.
55
+ const ONE_TIME_ACCRUAL_REVERSAL_TRIGGER = [
56
+ 'bill_match',
57
+ 'scheduled_date',
58
+ 'manual_reverse',
59
+ ];
60
+ export const toOneTimeAccrualReversalTriggerType = (v) => stringToUnionStrict(v ?? '', ONE_TIME_ACCRUAL_REVERSAL_TRIGGER);
27
61
  const JOURNAL_ENTRY_ERROR_CODE = [
28
62
  'vendor_deleted',
29
63
  'debit_category_deleted',
@@ -227,6 +227,35 @@ const ALL_SNACKBAR_MESSAGE_SECTIONS = [
227
227
  'qbo_connection_already_linked',
228
228
  'qbo_connection_failed',
229
229
  'accounting_projects_qbo_reconnect_failed',
230
+ 'invoicing_dunning_case_resolved',
231
+ 'invoicing_dunning_retry',
232
+ 'invoicing_dunning_cancel',
233
+ 'invoicing_dunning_settings_save',
234
+ 'invoicing_qbo_backfill',
235
+ 'invoicing_qbo_sync_health_retry',
236
+ 'invoicing_qbo_settings_save',
237
+ 'invoicing_branding_save',
238
+ 'invoicing_discount_archive',
239
+ 'invoicing_discount_unarchive',
240
+ 'invoicing_discount_delete',
241
+ 'invoicing_invoice_reminder_sent',
242
+ 'invoicing_invoice_regenerated',
243
+ 'invoicing_invoice_voided',
244
+ 'invoicing_catalog_item_saved',
245
+ 'invoicing_customer_saved',
246
+ 'invoicing_subscription_saved',
247
+ 'invoicing_coupon_saved',
248
+ 'invoicing_invoice_saved',
249
+ 'invoicing_credit_note_saved',
250
+ 'invoicing_payment_recorded',
251
+ 'invoicing_subscription_activated',
252
+ 'invoicing_subscription_cancellation_removed',
253
+ 'invoicing_subscription_cancelled',
254
+ 'invoicing_subscription_non_renewing',
255
+ 'invoicing_subscription_paused',
256
+ 'invoicing_subscription_reactivated',
257
+ 'invoicing_subscription_resumed',
258
+ 'invoicing_subscription_term_end_changed',
230
259
  ];
231
260
  export const toSnackbarMessageSection = (v) => stringToUnion(v, ALL_SNACKBAR_MESSAGE_SECTIONS);
232
261
  // Keeping this different from the message type, since we may not have messages in all instances
@@ -30,5 +30,7 @@ export const toScheduleTransaction = (payload, currency_code, currency_symbol) =
30
30
  currencySymbol: currency_symbol,
31
31
  },
32
32
  description: payload.transaction_description ?? undefined,
33
+ vendorId: payload.vendor_id ?? undefined,
34
+ vendorName: payload.vendor_name ?? undefined,
33
35
  };
34
36
  };
package/lib/esm/epic.js CHANGED
@@ -181,7 +181,12 @@ import { fetchJeSchedulesPageEpic as fetchExpenseAutomationJESchedulesPageEpic,
181
181
  import { fetchJeSchedulesEpic as fetchExpenseAutomationJeSchedulesEpic, } from './view/expenseAutomationView/epics/jeSchedule/fetchJeSchedulesEpic';
182
182
  import { ignoreRecommendedJeScheduleEpic as ignoreExpenseAutomationJEScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/ignoreRecommendedJeScheduleEpic';
183
183
  import { initializeJeScheduleLocalDataEpic as initializeExpenseAutomationJeScheduleLocalDataEpic, } from './view/expenseAutomationView/epics/jeSchedule/initializeJeScheduleLocalDataEpic';
184
+ import { createOneTimeAccrualEpic, } from './view/expenseAutomationView/epics/jeSchedule/newSchedule/createOneTimeAccrualEpic';
185
+ import { initializeNewScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/newSchedule/initializeNewScheduleEpic';
186
+ import { saveNewScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/newSchedule/saveNewScheduleEpic';
187
+ import { searchTransactionsForNewScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/newSchedule/searchTransactionsForNewScheduleEpic';
184
188
  import { retryJeScheduleEpic as retryExpenseAutomationJEScheduleEpic, } from './view/expenseAutomationView/epics/jeSchedule/retryJeSchedulesEpic';
189
+ import { switchJESchedulesTabEpic as switchExpenseAutomationJESchedulesTabEpic, } from './view/expenseAutomationView/epics/jeSchedule/switchJESchedulesTabEpic';
185
190
  import { bulkUploadMatchResultToastEpic, } from './view/expenseAutomationView/epics/missingReceipts/bulkUploadMatchResultToastEpic';
186
191
  import { bulkUploadReceiptsEpic, } from './view/expenseAutomationView/epics/missingReceipts/bulkUploadReceiptsEpic';
187
192
  import { confirmBulkUploadMatchEpic, } from './view/expenseAutomationView/epics/missingReceipts/confirmBulkUploadMatchEpic';
@@ -265,6 +270,8 @@ import { fetchInvoicingCustomerDetailPageEpic, } from './view/invoicing/invoicin
265
270
  import { fetchInvoicingCustomerCountsEpic } from './view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerCountsEpic';
266
271
  import { fetchInvoicingCustomerListEpic } from './view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerListEpic';
267
272
  import { fetchInvoicingCustomerListPageEpic, } from './view/invoicing/invoicingCustomerListView/epics/fetchInvoicingCustomerListPageEpic';
273
+ import { fetchInvoicingDunningEmailPreviewEpic } from './view/invoicing/invoicingDunningCaseDetailView/fetchInvoicingDunningEmailPreviewEpic';
274
+ import { fetchInvoicingDunningEmailPreviewPageEpic } from './view/invoicing/invoicingDunningCaseDetailView/fetchInvoicingDunningEmailPreviewPageEpic';
268
275
  import { fetchInvoicingDunningCaseDetailEpic, } from './view/invoicing/invoicingDunningCaseDetailView/invoicingDunningCaseDetailViewEpics';
269
276
  import { fetchInvoicingDunningCaseCountsEpic } from './view/invoicing/invoicingDunningCaseListView/epics/fetchInvoicingDunningCaseCountsEpic';
270
277
  import { fetchInvoicingDunningCaseListEpic } from './view/invoicing/invoicingDunningCaseListView/epics/fetchInvoicingDunningCaseListEpic';
@@ -702,7 +709,7 @@ import { fetchZeniAccStatementPageEpic, } from './view/zeniAccStatementList/fetc
702
709
  import { fetchZeniAccountsPromoCardEpic, } from './view/zeniAccountsPromoCard/zeniAccountsPromoCardEpic';
703
710
  import { approveOAuthConsentEpic, } from './view/zeniOAuthView/epics/approveOAuthConsentEpic';
704
711
  // Note: Please maintain strict alphabetical order
705
- const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptInvoicingTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, acknowledgeOnboardingAiActivationViewedEpic, acknowledgeOnboardingAiFinanceTeamEpic, addCardPaymentSourceEpic, addPromotionalCreditsEpic, applyExtractedPolicyToDraftEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveCardPolicyEpic, archiveInvoicingCatalogSubFamilyEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, bulkUploadReceiptsEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmBulkUploadMatchEpic, confirmCardSetupIntentEpic, connectInvoicingStripeEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardPolicyTemplatesEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createCreditNoteEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createInvoiceEpic, createInvoicingCatalogSubFamilyEpic, createInvoicingSetupIntentEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createSubTaskEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createTransferEntryEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, deleteBankAccountEpic, deleteBillEpic, deleteBillPayApprovalRuleEpic, deleteCannedResponseEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, disableAccountingProjectsEpic, disconnectInvoicingStripeEpic, dismissCapitalizationOnboardingEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableAccountingProjectsEpic, enableChargeCardAutoPayEpic, enableInvoicingEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, excludeAccountFromReconciliationEpic, expressInterestChargeCardEpic, extractPolicyDocumentEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAggregatedReportEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAiAgentsActivationStatusEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchBulkUploadBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCannedResponsesEpic, fetchCardBalanceEpic, fetchCardPolicyDetailEpic, fetchCardPolicyListEpic, fetchCardPolicyMccCategoriesEpic, fetchCardPolicyVendorOptionsEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardSetupViewEpic, fetchChargeCardsRecurringExpensesEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCockpitContextEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchCompletedTransactionsEpic, fetchCreateInvoiceFormPageEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCreditAgentMacroEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchEntityRecommendationsForLineUpdateEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchInvoiceCountsEpic, fetchInvoiceDetailEpic, fetchInvoiceKPIsEpic, fetchInvoiceListEpic, fetchInvoiceListPageEpic, fetchInvoicingAuditLogEpic, fetchInvoicingCatalogCountsEpic, fetchInvoicingCatalogItemDetailEpic, fetchInvoicingCatalogListPageEpic, fetchInvoicingCatalogPlanListEpic, fetchInvoicingCatalogProductListEpic, fetchInvoicingConfigEpic, fetchInvoicingCouponCountsEpic, fetchInvoicingCouponDetailEpic, fetchInvoicingCouponListEpic, fetchInvoicingCouponListPageEpic, fetchInvoicingCreditNoteCountsEpic, fetchInvoicingCreditNoteDetailEpic, fetchInvoicingCreditNoteListEpic, fetchInvoicingCreditNoteListPageEpic, fetchInvoicingCustomerCountsEpic, fetchInvoicingCustomerDetailEpic, fetchInvoicingCustomerDetailPageEpic, fetchInvoicingCustomerListEpic, fetchInvoicingCustomerListPageEpic, fetchInvoicingDataImportStatusEpic, fetchInvoicingDunningCaseCountsEpic, fetchInvoicingDunningCaseDetailEpic, fetchInvoicingDunningCaseListEpic, fetchInvoicingDunningCaseListPageEpic, fetchInvoicingMigrationDiagnosticsEpic, fetchInvoicingMigrationSessionEpic, fetchInvoicingMigrationSessionsEpic, fetchInvoicingOverviewChurnEpic, fetchInvoicingOverviewDashboardSummaryEpic, fetchInvoicingOverviewEpic, fetchInvoicingOverviewKPIsEpic, fetchInvoicingOverviewMRREpic, fetchInvoicingOverviewPlanRevenueEpic, fetchInvoicingOverviewRevenueEpic, fetchInvoicingPlaidLinkTokenEpic, fetchInvoicingQboAccountsEpic, fetchInvoicingQboClassesEpic, fetchInvoicingQboConnectionEpic, fetchInvoicingQboSyncHealthEpic, fetchInvoicingSettingsEpic, fetchInvoicingSubscriptionCountsEpic, fetchInvoicingSubscriptionDetailEpic, fetchInvoicingSubscriptionFormPageEpic, fetchInvoicingSubscriptionListEpic, fetchInvoicingSubscriptionListPageEpic, fetchInvoicingTransactionDetailEpic, fetchInvoicingTransactionListEpic, fetchInvoicingTransactionListPageEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMoreBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeForTimeframeProjectViewEpic, fetchNetBurnOrIncomeProjectViewEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExForTimeframeProjectViewEpic, fetchOpExProjectViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioAllocationEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchRegisteredInterestsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueForTimeframeProjectViewEpic, fetchRevenueProjectViewEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSkillsEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSubTasksEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTaskManagerMetricsEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByEntityEpic, fetchTransactionListByProjectEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTransferAccountsEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, includeAccountInReconciliationEpic, initEmailConnectOAuthEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeInvoicingBrandingAddressEpic, initializeInvoicingCustomerAddressEpic, initializeInvoicingSubscriptionAddressEpic, initializeMyProfileLocalDataEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, initiateReportsClassViewRefetchingEpic, initiateReportsProjectViewRefetchingEpic, invitePeopleEpic, inviteZeniPeopleEpic, invoicingDataImportActionEpic, issueChargeCardEpic, issueCreditNoteEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchProjectTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, parseStatementEpic, parseUploadedKybDocumentEpic, parseUploadedKycDocumentEpic, peopleSaveUpdatesEpic, policyDocumentExtractionToRecommendationBridgeEpic, policyRecommendationFromUploadEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, pushToastNotificationEpic, recordPaymentEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, refreshBatchDetailsForBatchIdEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, refreshOpExByVendorReportEpic, rejectVendorGlobalReviewEpic, reorderBillPayApprovalRulesEpic, reorderRemiApprovalRulesEpic, reparseStatementEpic, reportsResyncEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendReferralInviteEpic, resendVerifyDeviceOTPEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, restoreBulkUploadAutomatchingOnMountEpic, resumeEnableAccountingProjectsEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryInvoicingQboSyncTaskEpic, retryOrRefundBillEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, runInvoicingCatalogPlanActionEpic, runInvoicingCatalogProductActionEpic, runInvoicingDiscountActionEpic, runInvoicingDunningActionEpic, runInvoicingInvoiceActionEpic, runInvoicingPaymentActionEpic, runInvoicingSubscriptionActionEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCannedResponseEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveConnectorCredentialsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveInvoicingCatalogItemEpic, saveInvoicingCouponEpic, saveInvoicingCustomerEpic, saveInvoicingPaymentMethodEpic, saveInvoicingSettingsEpic, saveInvoicingSubscriptionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNotificationPreferencesEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, searchTransactionsForManualMatchEpic, seedAiCardCreationFormDraftEpic, seedAiCardPolicyFormDraftEpic, sendCompanyMonthEndReportEpic, sendEmailMagicLinkToUserEpic, sendInvoicingPaymentLinkEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, sessionHeartbeatEpic, snoozeTaskEpic, startInvoicingQboBackfillEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitFeedbackEpic, submitIntlVerificationEpic, submitInvoicingBrandingFormEpic, submitQuestionEpic, syncInvoicingSubscriptionCouponsEpic, syncTabsAfterAutomatchEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, unsnoozeTaskEpic, updateAccountingClassesEnabledEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCapitalizationAccountThresholdEpic, updateCardPolicyEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateCompanyTaskManagerViewFiltersEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateInvoicingInvoiceEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePortfolioAllocationEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateStatementInfoEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, updateTransactionDetailEpic, updateTreasuryPromoIntroClosedByOutsideClickEpic, updateTreasuryPromoRemindMeLaterClickedEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, validateBillsBulkActionEpic, vendorFiling1099UploadDetailsSaveEpic, verifyDeviceWithTwoFAEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
712
+ const combinedEpics = combineEpics(acceptBillPayTermsEpic, acceptBillPayUpdatedTermsEpic, acceptChargeCardTermsEpic, acceptEmployeeRemiTermsEpic, acceptInvoicingTermsEpic, acceptMasterTOSEpic, acceptRemiTermsEpic, acceptTreasuryTermsEpic, acceptZeniAccountTermsEpic, acknowledgeOnboardingAiActivationViewedEpic, acknowledgeOnboardingAiFinanceTeamEpic, addCardPaymentSourceEpic, addPromotionalCreditsEpic, applyExtractedPolicyToDraftEpic, approveOAuthConsentEpic, approveOrRejectBillEpic, approveOrRejectBillsBulkActionEpic, approveOrRejectRemiEpic, approveOrRejectRemisBulkActionEpic, approveVendorGlobalReviewEpic, archiveCardPolicyEpic, archiveInvoicingCatalogSubFamilyEpic, archiveTaskEpic, backgroundRefetchReviewTabEpic, bulkUpdateTaskListEpic, bulkUploadAutomatchingTimeoutEpic, bulkUploadMatchResultToastEpic, bulkUploadReceiptsEpic, cancelAiAccountantOnboardingEpic, cancelAndDeleteBillEpic, cancelAndDeleteRemiEpic, cancelOrDeleteBillsBulkActionEpic, cancelOrDeleteRemisBulkActionEpic, cancelScheduleAccruedJournalEntryEpic, changeZeniPersonRolesEpic, checkDepositEpic, closeChargeCardEpic, closeChargeCardsEpic, companyManagementSavePendingUpdatesEpic, companyManagementSaveUpdatesEpic, confirmBulkUploadMatchEpic, confirmCardSetupIntentEpic, connectInvoicingStripeEpic, convertAmountToHomeCurrencyEpic, createAddressEpic, createAutoTransferRuleEpic, createBankAccountEpic, createCardPolicyTemplatesEpic, createCardSetupIntentEpic, createCheckingAccountEpic, createCompanyAddressEpic, createCompanyOfficersEpic, createCompanyUserAddressEpic, createCreditNoteEpic, createGlobalMerchantEpic, createInternationalBankAccountEpic, createInvoiceEpic, createInvoicingCatalogSubFamilyEpic, createInvoicingSetupIntentEpic, createNewSchedulesAccruedEpic, createNewSchedulesEpic, createNewTaskGroupEpic, createOneTimeAccrualEpic, createPaymentInstrumentEpic, createSessionAndSubmitEpic, createSessionEpic, createSubTaskEpic, createTagEpic, createTaskFromTaskGroupTemplateEpic, createTransferEntryEpic, createUserBankAccountEpic, deleteAccountStatementEpic, deleteAutoTransferRuleEpic, deleteBankAccountEpic, deleteBillEpic, deleteBillPayApprovalRuleEpic, deleteCannedResponseEpic, deleteChatSessionEpic, deleteConnectionEpic, deleteFileEpic, deleteFileListEpic, deleteInternationalBankAccountEpic, deletePaymentInstrumentEpic, deletePersonEpic, deleteRemiApprovalRuleEpic, deleteRemiEpic, deleteScheduleAccruedDetailEpic, deleteScheduleDetailEpic, deleteTagEpic, deleteTaskEpic, deleteTaskGroupEpic, deleteTransactionAttachmentEpic, deleteUserBankAccountEpic, disableAccountingProjectsEpic, disconnectInvoicingStripeEpic, dismissCapitalizationOnboardingEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, downloadAccountingProviderAttachmentEpic, dragNDropTasksEpic, enableAccountingProjectsEpic, enableChargeCardAutoPayEpic, enableInvoicingEpic, enableSetupEpic, establishOnboardingPlaidConnectionEpic, establishPlaidConnectionEpic, excludeAccountFromReconciliationEpic, expressInterestChargeCardEpic, extractPolicyDocumentEpic, fetchAccountListEpic, fetchAccountListForAccountTypesEpic, fetchAccountSettingsListForAccountTypesEpic, fetchAccruedScheduleListEpic, fetchActiveTenantEpic, fetchAddressEpic, fetchAggregatedReportEpic, fetchAiAccountantCustomersEpic, fetchAiAccountantJobsEpic, fetchAiAgentsActivationStatusEpic, fetchAllCockpitViewsEpic, fetchAllExpenseAutomationTabsEpic, fetchAllPeopleRequiredViewsEpic, fetchAllTagsEpic, fetchAllTaskGroupsEpic, fetchAllTenantsEpic, fetchAndUpdateVendorRecommendationsEpic, fetchApAgingDetailEpic, fetchApAgingEpic, fetchArAgingDetailEpic, fetchArAgingEpic, fetchAuditReportGroupViewEpic, fetchAuditRuleGroupViewEpic, fetchAutoTransferReviewDetailEpic, fetchAutoTransferRuleHistoryEpic, fetchAutoTransferRulesEpic, fetchBalanceSheetEpic, fetchBalanceSheetForTimeframeEpic, fetchBankAccountsListEpic, fetchBankConnectionsViewEpic, fetchBankCountryNameByIbanEpic, fetchBankNameByRoutingEpic, fetchBankNameBySwiftEpic, fetchBillAndInitializeLocalStoreEpic, fetchBillDetailEpic, fetchBillingAccountsListEpic, fetchBillListEpic, fetchBillListPerTabEpic, fetchBillPayApproversDetailsEpic, fetchBillPayApproversListEpic, fetchBillPayCardEpic, fetchBillPayConfigEpic, fetchBillPaySetupApproverViewEpic, fetchBillPaySetupViewEpic, fetchBulkUploadBatchDetailsEpic, fetchBulkUploadBatchesEpic, fetchCannedResponsesEpic, fetchCardBalanceEpic, fetchCardPolicyDetailEpic, fetchCardPolicyListEpic, fetchCardPolicyMccCategoriesEpic, fetchCardPolicyVendorOptionsEpic, fetchCardProfilesEpic, fetchCashbackDetailEpic, fetchCashBalanceEpic, fetchCashFlowEpic, fetchCashFlowForTimeframeEpic, fetchCashInCashOutEpic, fetchCashPositionEpic, fetchChargeCardConfigEpic, fetchChargeCardDetailEpic, fetchChargeCardDetailPageEpic, fetchChargeCardListEpic, fetchChargeCardListPageEpic, fetchChargeCardPaymentHistoryEpic, fetchChargeCardPaymentPageEpic, fetchChargeCardRepaymentDetailEpic, fetchChargeCardSetupViewEpic, fetchChargeCardsRecurringExpensesEpic, fetchChargeCardStatementListEpic, fetchChargeCardTransactionAttachmentsEpic, fetchChargeCardTransactionListEpic, fetchChargeCardTransactionStatisticsEpic, fetchChatHistoryEpic, fetchChatSessionsForUserEpic, fetchClassListEpic, fetchCockpitContextEpic, fetchCollaborationAuthTokenEpic, fetchCompanyBillingAddressEpic, fetchCompanyConfigEpic, fetchCompanyHealthMetricConfigEpic, fetchCompanyHealthMetricViewEpic, fetchCompanyManagementViewEpic, fetchCompanyMetaDataEpic, fetchCompanyMonthEndReportHistoricDataEpic, fetchCompanyMonthEndReportHistoricDatesEpic, fetchCompanyMonthEndReportTemplatesEpic, fetchCompanyMonthEndReportViewEpic, fetchCompanyOnboardingViewEpic, fetchCompanyPassportViewEpic, fetchCompanyPortfolioViewEpic, fetchCompanyTaskManagerViewEpic, fetchCompletedTransactionsEpic, fetchCreateInvoiceFormPageEpic, fetchCreditAccountEpic, fetchCreditAccountRepaymentEpic, fetchCreditAgentMacroEpic, fetchCurrencyConversionValueEpic, fetchDashboardEpic, fetchDashboardLayoutEpic, fetchDebitCardSummaryEpic, fetchDepositAccountDetailEpic, fetchDepositAccountEpic, fetchDepositAccountHistoryEpic, fetchDepositAccountLimitEpic, fetchDepositAccountListEpic, fetchDepositAccountListForCardsEpic, fetchDepositAccountTransactionListEpic, fetchDownloadSchedulesEpic, fetchDuplicateBillPayReviewEpic, fetchDuplicateReimbursementEpic, fetchEditBillDetailPageEpic, fetchEditRemiDetailPageEpic, fetchEligibleActionsForBillEpic, fetchEntityAutoCompleteEpic, fetchEntityHistoryEpic, fetchEntityRecommendationsByTransactionIdEpic, fetchEntityRecommendationsForLineUpdateEpic, fetchExcludedResourcesEpic, fetchExpenseAutomationFluxAnalysisViewEpic, fetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataEpic, fetchExpenseAutomationJeSchedulesEpic, fetchExpenseAutomationJESchedulesPageEpic, fetchExpenseAutomationMarkTransactionAsNotMiscategorizedEpic, fetchExpenseAutomationMissingReceiptsEpic, fetchExpenseAutomationReconciliationsViewEpic, fetchExpenseAutomationSaveTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationEpic, fetchExpenseAutomationTransactionCategorizationViewEpic, fetchExpenseAutomationUpdateTransactionCategorizationEpic, fetchExpenseTrendEpic, fetchExpressPayInitialDetailsEpic, fetchExternalConnectionsEpic, fetchFileEpic, fetchFileListEpic, fetchFinanceStatementEpic, fetchForecastListEpic, fetchGlobalMerchantAutoCompleteViewEpic, fetchGlobalMerchantRecommendationEpic, fetchIncomeTrendEpic, fetchInsightsCardEpic, fetchInternationalWireDynamicFormEpic, fetchIntlVerificationFormEpic, fetchInvoiceCountsEpic, fetchInvoiceDetailEpic, fetchInvoiceKPIsEpic, fetchInvoiceListEpic, fetchInvoiceListPageEpic, fetchInvoicingAuditLogEpic, fetchInvoicingCatalogCountsEpic, fetchInvoicingCatalogItemDetailEpic, fetchInvoicingCatalogListPageEpic, fetchInvoicingCatalogPlanListEpic, fetchInvoicingCatalogProductListEpic, fetchInvoicingConfigEpic, fetchInvoicingCouponCountsEpic, fetchInvoicingCouponDetailEpic, fetchInvoicingCouponListEpic, fetchInvoicingCouponListPageEpic, fetchInvoicingCreditNoteCountsEpic, fetchInvoicingCreditNoteDetailEpic, fetchInvoicingCreditNoteListEpic, fetchInvoicingCreditNoteListPageEpic, fetchInvoicingCustomerCountsEpic, fetchInvoicingCustomerDetailEpic, fetchInvoicingCustomerDetailPageEpic, fetchInvoicingCustomerListEpic, fetchInvoicingCustomerListPageEpic, fetchInvoicingDataImportStatusEpic, fetchInvoicingDunningCaseCountsEpic, fetchInvoicingDunningCaseDetailEpic, fetchInvoicingDunningCaseListEpic, fetchInvoicingDunningCaseListPageEpic, fetchInvoicingDunningEmailPreviewEpic, fetchInvoicingDunningEmailPreviewPageEpic, fetchInvoicingMigrationDiagnosticsEpic, fetchInvoicingMigrationSessionEpic, fetchInvoicingMigrationSessionsEpic, fetchInvoicingOverviewChurnEpic, fetchInvoicingOverviewDashboardSummaryEpic, fetchInvoicingOverviewEpic, fetchInvoicingOverviewKPIsEpic, fetchInvoicingOverviewMRREpic, fetchInvoicingOverviewPlanRevenueEpic, fetchInvoicingOverviewRevenueEpic, fetchInvoicingPlaidLinkTokenEpic, fetchInvoicingQboAccountsEpic, fetchInvoicingQboClassesEpic, fetchInvoicingQboConnectionEpic, fetchInvoicingQboSyncHealthEpic, fetchInvoicingSettingsEpic, fetchInvoicingSubscriptionCountsEpic, fetchInvoicingSubscriptionDetailEpic, fetchInvoicingSubscriptionFormPageEpic, fetchInvoicingSubscriptionListEpic, fetchInvoicingSubscriptionListPageEpic, fetchInvoicingTransactionDetailEpic, fetchInvoicingTransactionListEpic, fetchInvoicingTransactionListPageEpic, fetchIssueCardPageEpic, fetchMagicLinkBankNameByRoutingEpic, fetchMagicLinkBankNameBySwiftEpic, fetchMagicLinkBillEpic, fetchMagicLinkTenantEpic, fetchManagementViewEpic, fetchMerchantListEpic, fetchMonthClosePerformanceTrendEpic, fetchMonthEndCloseChecksEpic, fetchMoreBatchDetailsEpic, fetchMultipleBatchDetailsEpic, fetchMyProfileEpic, fetchMyProfileViewEpic, fetchNetBurnOrIncomeClassesViewEpic, fetchNetBurnOrIncomeEpic, fetchNetBurnOrIncomeForTimeframeClassesViewEpic, fetchNetBurnOrIncomeForTimeframeEpic, fetchNetBurnOrIncomeForTimeframeProjectViewEpic, fetchNetBurnOrIncomeProjectViewEpic, fetchNetBurnOrIncomeStoryCardEpic, fetchNetBurnOrIncomeWithForecastEpic, fetchNotificationSettingsEpic, fetchNotificationSettingsViewEpic, fetchNotificationUnreadCountEpic, fetchNotificationViewEpic, fetchOnboardingCompletedCompaniesEpic, fetchOnboardingCustomerSetupViewEpic, fetchOnboardingCustomerViewEpic, fetchOnboardingViewEpic, fetchOpExByVendorEpic, fetchOpExByVendorReportForTimeframeEpic, fetchOpExByVendorReportSummaryEpic, fetchOpExClassesViewEpic, fetchOpExEpic, fetchOpExForTimeframeClassesViewEpic, fetchOpExForTimeframeProjectViewEpic, fetchOpExProjectViewEpic, fetchOpExReportForTimeframeEpic, fetchOpExWithForecastEpic, fetchOwnerListEpic, fetchParentSubsidiaryManagementViewEpic, fetchPaymentAccountBalanceEpic, fetchPaymentAccountListEpic, fetchPaymentSourcesEpic, fetchPeopleEpic, fetchPeoplePageEpic, fetchPortfolioAllocationEpic, fetchPortfolioViewEpic, fetchPreviousBillsEpic, fetchProfitAndLossClassesViewEpic, fetchProfitAndLossEpic, fetchProfitAndLossForTimeframeClassesViewEpic, fetchProfitAndLossForTimeframeEpic, fetchProfitAndLossForTimeframeProjectViewEpic, fetchProfitAndLossProjectViewEpic, fetchProjectListEpic, fetchQBOConnectionPoolEpic, fetchRecommendationByEntityIdEpic, fetchRecommendationByEntityNameEpic, fetchRecommendationForAccountSettingsEpic, fetchRecommendationForAccountTypeEpic, fetchRecommendationsAndUpdateMerchantRecommendationsEpic, fetchRecommendedTransactionRowIndexEpic, fetchReferralsEpic, fetchRegisteredInterestsEpic, fetchReimbursementCardEpic, fetchReimbursementConfigEpic, fetchRemiAndInitializeLocalStoreEpic, fetchRemiApproversDetailsEpic, fetchRemiApproversListEpic, fetchRemiDetailEpic, fetchRemiListEpic, fetchRemiListPerTabEpic, fetchRemiSetupApproverViewEpic, fetchRemiSetupViewEpic, fetchRevenueClassesViewEpic, fetchRevenueEpic, fetchRevenueForTimeframeClassesViewEpic, fetchRevenueForTimeframeEpic, fetchRevenueForTimeframeProjectViewEpic, fetchRevenueProjectViewEpic, fetchRevenueWithForecastEpic, fetchReviewCompanyViewEpic, fetchReviewTransferDetailEpic, fetchRewardsPlanEpic, fetchScheduleAccruedDetailsEpic, fetchScheduleAccruedDetailsPageEpic, fetchScheduleDetailsEpic, fetchScheduleDetailsPageEpic, fetchScheduleListEpic, fetchSchedulesAccountEpic, fetchSkillsEpic, fetchSubscriptionAddOnsEpic, fetchSubscriptionCouponsEpic, fetchSubscriptionCreateEstimateEpic, fetchSubscriptionDetailsEpic, fetchSubscriptionListEpic, fetchSubscriptionPlansEpic, fetchSubscriptionSummaryForTenantEpic, fetchSubscriptionUpdateEstimateEpic, fetchSubscriptionViewEpic, fetchSubTasksEpic, fetchSuggestedQuestionsEpic, fetchTaskDetailEpic, fetchTaskDetailPageEpic, fetchTaskGroupTemplatesEpic, fetchTaskHistoryEpic, fetchTaskListEpic, fetchTaskListPageEpic, fetchTaskManagerMetricsEpic, fetchTasksCardEpic, fetchTopExEpic, fetchTransactionActivityLogEpic, fetchTransactionDetailEpic, fetchTransactionListByAccountEpic, fetchTransactionListByClassEpic, fetchTransactionListByEntityEpic, fetchTransactionListByProjectEpic, fetchTransactionsForEntityEpic, fetchTransactionsListByCategoryTypeEpic, fetchTransferAccountsEpic, fetchTreasuryDetailEpic, fetchTreasuryFundsEpic, fetchTreasuryHistoryEpic, fetchTreasurySetupViewEpic, fetchTreasuryStatementListEpic, fetchTreasuryTaxLetterListEpic, fetchTreasuryTransactionListEpic, fetchTrendForEntityEpic, fetchUserDetailEpic, fetchUserFinancialAccountEpic, fetchUserListByTypeEpic, fetchUserRoleConfigEpic, fetchVendor1099TypeListEpic, fetchVendorAndUpdateBillLocalDataEpic, fetchVendorByNameAndParseInvoiceEpic, fetchVendorDetailsEpic, fetchVendorEpic, fetchVendorFirstReviewAttachmentsEpic, fetchVendorFirstReviewViewEpic, fetchVendorGlobalReviewViewEpic, fetchVendorsFiling1099AllEpic, fetchVendorsFiling1099DownloadEpic, fetchVendorsFiling1099ListEpic, fetchVendorsListEpic, fetchVendorsTabVendorDetailPageViewEpic, fetchVendorsTabVendorDetailsEpic, fetchVendorsTabVendorEpic, fetchVendorTabViewEpic, fetchVendorTypeListEpic, fetchZeniAccountListEpic, fetchZeniAccountsConfigEpic, fetchZeniAccountSetupViewEpic, fetchZeniAccountsPromoCardEpic, fetchZeniAccStatementListEpic, fetchZeniAccStatementPageEpic, fetchZeniUsersEpic, getOnboardingEmailGroupEpic, getOnboardingPlaidLinkTokenEpic, getPaymentAccountsEpic, getPlaidLinkTokenEpic, ignoreExpenseAutomationJEScheduleEpic, improveUsingZeniGPTEpic, includeAccountInReconciliationEpic, initEmailConnectOAuthEpic, initialiseExpenseAutomationReconciliationLocalDataForSelectedAccountIdEpic, initializeAccountMappingViewEpic, initializeAccountSettingsViewEpic, initializeBillPaySetupApproverViewUpdateDataEpic, initializeBillToLocalStoreEpic, initializeCardUserOnboardingLocalDataEpic, initializeCompanyHealthMetricViewLocalDataEpic, initializeDynamicFormEpic, initializeEditPersonEpic, initializeExpenseAutomationJeScheduleLocalDataEpic, initializeInternationalWireLocalDataEpic, initializeIntlVerificationFormEpic, initializeInvoicingBrandingAddressEpic, initializeInvoicingCustomerAddressEpic, initializeInvoicingSubscriptionAddressEpic, initializeMyProfileLocalDataEpic, initializeNewScheduleEpic, initializeOnboardingCustomerViewUpdateDataEpic, initializeRemiSetupApproverViewUpdateDataEpic, initializeRemiToLocalStoreEpic, initializeScheduleAccruedDetailLocalDataEpic, initializeScheduleDetailLocalDataEpic, initializeSubscriptionLocalDataEpic, initializeTaskToLocalStoreEpic, initializeTransactionDetailLocalDataEpic, initializeVendorAddressEpic, initiateChargeCardRepaymentEpic, initiateReportsClassViewRefetchingEpic, initiateReportsProjectViewRefetchingEpic, invitePeopleEpic, inviteZeniPeopleEpic, invoicingDataImportActionEpic, issueChargeCardEpic, issueCreditNoteEpic, lockChargeCardEpic, lockChargeCardsEpic, markAsCompleteScheduleDetailEpic, markTransactionAsNotMiscategorizedEpic, notifyMeForFeatureEpic, parallelFetchAccountTransactionListEpic, parallelFetchClassTransactionListEpic, parallelFetchEntityTransactionListEpic, parallelFetchProjectTransactionListEpic, parallelFetchTransactionListByCategoryTypeEpic, parseInvoiceToBillEpic, parseReceiptsToRemiEpic, parseStatementEpic, parseUploadedKybDocumentEpic, parseUploadedKycDocumentEpic, peopleSaveUpdatesEpic, policyDocumentExtractionToRecommendationBridgeEpic, policyRecommendationFromUploadEpic, pollBulkUploadBatchStatusEpic, pusherBatchStatusCompletionEpic, pushToastNotificationEpic, recordPaymentEpic, refetchCompletedTransactionsOnBulkUploadSortEpic, refreshBatchDetailsForBatchIdEpic, refreshExpenseAutomationCurrentTabEpic, refreshIntegrationsDataEpic, refreshOpExByVendorReportEpic, rejectVendorGlobalReviewEpic, reorderBillPayApprovalRulesEpic, reorderRemiApprovalRulesEpic, reparseStatementEpic, reportsResyncEpic, resendCardInviteEpic, resendInviteEpic, resendOtpEpic, resendReferralInviteEpic, resendVerifyDeviceOTPEpic, resetTransactionVendorLocalDataEpic, resetVendorDetailLocalDataEpic, resetVendorsTabVendorDetailLocalDataEpic, restoreBulkUploadAutomatchingOnMountEpic, resumeEnableAccountingProjectsEpic, retryBankAccountConnectionEpic, retryBankAccountConnectionForOnboardingEpic, retryExpenseAutomationJEScheduleEpic, retryInvoicingQboSyncTaskEpic, retryOrRefundBillEpic, reviewDraftRemisBulkActionEpic, reviewExpenseAutomationFluxAnalysisViewEpic, revokeCardInviteEpic, revokeChargeCardsInviteEpic, runInvoicingCatalogPlanActionEpic, runInvoicingCatalogProductActionEpic, runInvoicingDiscountActionEpic, runInvoicingDunningActionEpic, runInvoicingInvoiceActionEpic, runInvoicingPaymentActionEpic, runInvoicingSubscriptionActionEpic, saveAccountMappingViewEpic, saveAccountSettingsViewEpic, saveAPIKeyConnectionEpic, saveBillDetailEpic, saveBillPaySetupApproverViewUpdatesEpic, saveCannedResponseEpic, saveCardOnboardingUserDetailsEpic, saveCompanyBillingAddressEpic, saveCompanyHealthMetricByIdEpic, saveCompanyMonthEndReportEpic, saveCompanyPassportDetailsEpic, saveConnectorCredentialsEpic, saveCreditAgentMacroEpic, saveExpenseAutomationReconciliationDetailsEpic, saveExpenseAutomationReconciliationReviewEpic, saveExternalConnectionEpic, saveInvoicingCatalogItemEpic, saveInvoicingCouponEpic, saveInvoicingCustomerEpic, saveInvoicingPaymentMethodEpic, saveInvoicingSettingsEpic, saveInvoicingSubscriptionEpic, saveMagicLinkBankAccountEpic, saveNewAddressEpic, saveNewScheduleEpic, saveNotificationPreferencesEpic, saveNotificationSettingsEpic, saveOAuthConnectionEpic, saveOnboardingCustomerCompletedStatusEpic, saveOnboardingCustomerNotesEpic, saveOnboardingCustomerViewUpdatesEpic, saveRealTimeApprovalEpic, saveReasonForAuditRuleEpic, saveRemiDetailEpic, saveRemiSetupApproverViewUpdatesEpic, saveScheduleAccruedDetailsEpic, saveScheduleDetailsEpic, saveSubscriptionNotesUpdatesEpic, saveSubscriptionUpdatesEpic, saveTaskDetailEpic, saveTransactionDetailEpic, saveTransactionVendorEpic, saveVendorDetailsViewEpic, saveVendorEpic, saveVendorFirstReviewViewEpic, saveVendorsTabVendorEpic, scheduleTenantCreditScoreCronEpic, searchTransactionsForManualMatchEpic, searchTransactionsForNewScheduleEpic, seedAiCardCreationFormDraftEpic, seedAiCardPolicyFormDraftEpic, sendCompanyMonthEndReportEpic, sendEmailMagicLinkToUserEpic, sendInvoicingPaymentLinkEpic, sendOnboardingCustomerViewInviteEpic, sendOtpEpic, sendReferralInviteEpic, sessionHeartbeatEpic, snoozeTaskEpic, startInvoicingQboBackfillEpic, statementCloseDayEpic, stopSubmitEpic, stopSubmitQuestionEpic, submitDraftBillsBulkActionEpic, submitDraftRemisBulkActionEpic, submitExpressPayEpic, submitFeedbackEpic, submitIntlVerificationEpic, submitInvoicingBrandingFormEpic, submitQuestionEpic, switchExpenseAutomationJESchedulesTabEpic, syncInvoicingSubscriptionCouponsEpic, syncTabsAfterAutomatchEpic, toggleReportUIOptionForecastModeEpic, transferMoneyEpic, treasuryTransferMoneyEpic, triggerAiAccountantJobEpic, triggerReviewTabRefetchEpic, unlinkPaymentAccountEpic, unlockChargeCardEpic, unlockChargeCardsEpic, unsnoozeTaskEpic, updateAccountingClassesEnabledEpic, updateAccruedJESchedulesEpic, updateAddressEpic, updateAmountsInScheduleAccruedDetailEpic, updateAmountsInScheduleDetailEpic, updateAutoTransferRuleEpic, updateBusinessVerificationDetailsEpic, updateCapitalizationAccountThresholdEpic, updateCardPolicyEpic, updateCardProfileEpic, updateChargeCardDetailEpic, updateChargeCardLimitEpic, updateChargeCardNameEpic, updateChargeCardsLimitEpic, updateCompanyDetailsEpic, updateCompanyOfficerEpic, updateCompanyPassportLocalStoreDataEpic, updateCompanyTaskManagerViewFiltersEpic, updateDashboardLayoutEpic, updateDebitCardPinAttemptEpic, updateDepositAccountEpic, updateExpenseAutomationReconciliationBalanceLocalDataEpic, updateFileNameEpic, updateFilesMetadataEpic, updateInvoicingInvoiceEpic, updateJESchedulesEpic, updateMappedCashAccountEpic, updateMileageDetailsEpic, updateMyProfileEpic, updateNetBurnOrIncomeStoryCardSettingsEpic, updateNotificationViewAllNotificationsStatusEpic, updateNotificationViewNotificationStatusEpic, updateOnboardingCustomerViewCompleteStatusEpic, updateOnboardingCustomerViewDashboardLoadedEpic, updateOnboardingCustomerViewEpic, updateOnboardingCustomerViewLocalStoreDataEpic, updateOnboardingPaymentAccountLoginStatusEpic, updateOnboardingPaymentAccountStatusEpic, updatePaymentAccountEpic, updatePaymentAccountLoginStatusEpic, updatePaymentAccountStatusEpic, updatePhysicalChargeCardAttemptEpic, updatePortfolioAllocationEpic, updatePrimaryContactEpic, updatePrimaryFundingAccountEpic, updateQBOConnectionPoolExternalConnectionEpic, updateReferViewedEpic, updateRemiSetupViewLocalStoreDataEpic, updateReportUIOptionCOABalancesRangeEpic, updateReportUIOptionIsCompareModeEpic, updateReportUIOptionIsCompareModeOnEpic, updateReportUIOptionThisPeriodEpic, updateReportUIOptionTimeFrameEpic, updateSectionAccountsViewEpic, updateSectionClassesViewEpicV2, updateSectionProjectViewEpic, updateSelectedVendorForCreateFlowEpic, updateSetupViewLocalStoreDataEpic, updateStatementInfoEpic, updateTaskFromListViewEpic, updateTaskGroupNameEpic, updateTransactionDetailEpic, updateTreasuryPromoIntroClosedByOutsideClickEpic, updateTreasuryPromoRemindMeLaterClickedEpic, updateTreasuryVideoViewedEpic, updateVendorContactEpic, uploadAccountStatementEpic, uploadMissingAttachmentSuccessEpic, uploadMissingReceiptSuccessEpic, uploadTransactionReceiptSuccessEpic, validateBillsBulkActionEpic, vendorFiling1099UploadDetailsSaveEpic, verifyDeviceWithTwoFAEpic, verifyOtpEpic, verifyUserEpic, waitForBillDetailThenInitializeLocalStoreEpic, waitForForecastListThenFetchNetBurnOrIncomeWithForecastEpic, waitForForecastListThenFetchOpExWithForecastEpic, waitForForecastListThenFetchRevenueWithForecastEpic, waitForMerchantRecommendationFetchThenUpdateRecommendationInMerchantEpic, waitForVendorByIdThenSaveBillUpdatetoLocalStoreEpic, waitForVendorByNameThenParsetoLocalStoreEpic, waitForVendorByNameThenUpdateBillDetailEpic, waitForVendorRecommendationFetchThenUpdateRecommendationInBillEpic, wiseRedirectEpic);
706
713
  const rootEpic = (action$, store$, dependencies) => combinedEpics(action$, store$, dependencies).pipe(map(identity), catchError((error, source) => {
707
714
  console.error(error);
708
715
  return source;