@zeniai/client-epic-state 5.1.0-betaSS3 → 5.1.1-beta0ND

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 (514) hide show
  1. package/lib/common/aiCfo/aiCfoSuggestedQuestionsPageContext.d.ts +1 -1
  2. package/lib/commonStateTypes/amount.d.ts +1 -0
  3. package/lib/commonStateTypes/amount.js +9 -1
  4. package/lib/commonStateTypes/animations.d.ts +1 -1
  5. package/lib/commonStateTypes/animations.js +1 -0
  6. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  7. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  8. package/lib/commonStateTypes/workingDayHelper.d.ts +9 -0
  9. package/lib/commonStateTypes/workingDayHelper.js +28 -1
  10. package/lib/entity/account/accountSelector.d.ts +9 -0
  11. package/lib/entity/account/accountSelector.js +14 -1
  12. package/lib/entity/account/accountState.d.ts +1 -1
  13. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  14. package/lib/entity/aiCfo/aiCfoPayload.d.ts +64 -5
  15. package/lib/entity/aiCfo/aiCfoReducer.d.ts +23 -2
  16. package/lib/entity/aiCfo/aiCfoReducer.js +252 -10
  17. package/lib/entity/aiCfo/aiCfoSelector.d.ts +4 -1
  18. package/lib/entity/aiCfo/aiCfoSelector.js +19 -1
  19. package/lib/entity/aiCfo/aiCfoState.d.ts +98 -4
  20. package/lib/entity/aiCfo/aiCfoState.js +20 -1
  21. package/lib/entity/approvalRule/approvalRuleConflict.d.ts +56 -0
  22. package/lib/entity/approvalRule/approvalRuleConflict.js +77 -0
  23. package/lib/entity/approvalRule/approvalRulePayload.d.ts +34 -5
  24. package/lib/entity/approvalRule/approvalRulePayload.js +145 -10
  25. package/lib/entity/approvalRule/approvalRuleSelector.d.ts +25 -1
  26. package/lib/entity/approvalRule/approvalRuleSelector.js +40 -0
  27. package/lib/entity/approvalRule/approvalRuleState.d.ts +59 -7
  28. package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +277 -0
  29. package/lib/entity/cardPolicy/cardPolicyPayload.js +143 -0
  30. package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +19 -0
  31. package/lib/entity/cardPolicy/cardPolicyReducer.js +175 -0
  32. package/lib/entity/cardPolicy/cardPolicySelector.d.ts +32 -0
  33. package/lib/entity/cardPolicy/cardPolicySelector.js +99 -0
  34. package/lib/entity/cardPolicy/cardPolicyState.d.ts +205 -0
  35. package/lib/entity/cardPolicy/cardPolicyState.js +14 -0
  36. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.d.ts +18 -0
  37. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.js +68 -0
  38. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.d.ts +26 -0
  39. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +47 -0
  40. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +25 -0
  41. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +39 -0
  42. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +24 -0
  43. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +105 -0
  44. package/lib/entity/class/classReducer.d.ts +4 -4
  45. package/lib/entity/class/classState.d.ts +1 -1
  46. package/lib/entity/company/companyPayload.d.ts +4 -0
  47. package/lib/entity/company/companyPayload.js +4 -0
  48. package/lib/entity/company/companyStateTypes.d.ts +4 -0
  49. package/lib/entity/forecast/forecastState.d.ts +1 -1
  50. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +1 -0
  51. package/lib/entity/jeSchedules/jeSchedulesPayload.js +19 -0
  52. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +2 -0
  53. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
  54. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +1 -1
  55. package/lib/entity/paymentAccount/paymentAccountSelector.d.ts +1 -0
  56. package/lib/entity/paymentAccount/paymentAccountSelector.js +9 -0
  57. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  58. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  59. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  60. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +1 -1
  61. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
  62. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  63. package/lib/entity/snackbar/snackbarTypes.js +7 -0
  64. package/lib/entity/task/taskPayload.d.ts +3 -1
  65. package/lib/entity/task/taskPayload.js +2 -0
  66. package/lib/entity/task/taskState.d.ts +2 -0
  67. package/lib/entity/tenant/clearAllEpic.d.ts +9 -2
  68. package/lib/entity/tenant/clearAllEpic.js +14 -0
  69. package/lib/entity/tenant/epic/deleteConnectionEpic.d.ts +1 -1
  70. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.d.ts +21 -0
  71. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.js +54 -0
  72. package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.d.ts +1 -1
  73. package/lib/entity/tenant/epic/saveConnectorCredentialsEpic.d.ts +3 -3
  74. package/lib/entity/tenant/epic/saveOAuthConnectionEpic.d.ts +1 -1
  75. package/lib/entity/tenant/tenantPayload.d.ts +22 -0
  76. package/lib/entity/tenant/tenantReducer.d.ts +52 -30
  77. package/lib/entity/tenant/tenantReducer.js +195 -11
  78. package/lib/entity/tenant/tenantState.d.ts +25 -1
  79. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +4 -0
  80. package/lib/entity/transaction/payloadTypes/transactionPayload.js +17 -7
  81. package/lib/entity/transaction/stateTypes/transaction.d.ts +3 -0
  82. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +2 -1
  83. package/lib/entity/transaction/stateTypes/transactionLine.js +2 -1
  84. package/lib/epic.d.ts +36 -2
  85. package/lib/epic.js +37 -2
  86. package/lib/esm/commonStateTypes/amount.js +7 -0
  87. package/lib/esm/commonStateTypes/animations.js +1 -0
  88. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  89. package/lib/esm/commonStateTypes/workingDayHelper.js +26 -0
  90. package/lib/esm/entity/account/accountSelector.js +11 -0
  91. package/lib/esm/entity/aiCfo/aiCfoReducer.js +252 -10
  92. package/lib/esm/entity/aiCfo/aiCfoSelector.js +17 -1
  93. package/lib/esm/entity/aiCfo/aiCfoState.js +17 -0
  94. package/lib/esm/entity/approvalRule/approvalRuleConflict.js +74 -0
  95. package/lib/esm/entity/approvalRule/approvalRulePayload.js +145 -10
  96. package/lib/esm/entity/approvalRule/approvalRuleSelector.js +35 -0
  97. package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +130 -0
  98. package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +171 -0
  99. package/lib/esm/entity/cardPolicy/cardPolicySelector.js +75 -0
  100. package/lib/esm/entity/cardPolicy/cardPolicyState.js +9 -0
  101. package/lib/esm/entity/cardPolicy/extractPolicyDocumentEpic.js +64 -0
  102. package/lib/esm/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +43 -0
  103. package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +35 -0
  104. package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +101 -0
  105. package/lib/esm/entity/company/companyPayload.js +4 -0
  106. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +19 -0
  107. package/lib/esm/entity/paymentAccount/paymentAccountSelector.js +8 -0
  108. package/lib/esm/entity/snackbar/snackbarTypes.js +7 -0
  109. package/lib/esm/entity/task/taskPayload.js +2 -0
  110. package/lib/esm/entity/tenant/clearAllEpic.js +14 -0
  111. package/lib/esm/entity/tenant/epic/initEmailConnectOAuthEpic.js +50 -0
  112. package/lib/esm/entity/tenant/tenantReducer.js +192 -9
  113. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +17 -7
  114. package/lib/esm/entity/transaction/stateTypes/transactionLine.js +1 -0
  115. package/lib/esm/epic.js +37 -2
  116. package/lib/esm/index.js +77 -34
  117. package/lib/esm/reducer.js +21 -0
  118. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +6 -3
  119. package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  120. package/lib/esm/view/aiCfoView/epics/createSessionEpic.js +2 -1
  121. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  122. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +39 -11
  123. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +14 -4
  124. package/lib/esm/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +38 -0
  125. package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  126. package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +16 -0
  127. package/lib/esm/view/companyView/companyViewReducer.js +46 -1
  128. package/lib/esm/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.js +25 -0
  129. package/lib/esm/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.js +98 -0
  130. package/lib/esm/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  131. package/lib/esm/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
  132. package/lib/esm/view/createTransferEntry/createTransferEntryReducer.js +82 -0
  133. package/lib/esm/view/createTransferEntry/createTransferEntrySelector.js +64 -0
  134. package/lib/esm/view/createTransferEntry/createTransferEntryState.js +17 -0
  135. package/lib/esm/view/createTransferEntry/epics/createTransferEntryEpic.js +136 -0
  136. package/lib/esm/view/createTransferEntry/epics/fetchTransferAccountsEpic.js +36 -0
  137. package/lib/esm/view/dashboard/dashboardReducer.js +11 -1
  138. package/lib/esm/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -3
  139. package/lib/esm/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +3 -4
  140. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +13 -9
  141. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +3 -16
  142. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +9 -16
  143. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +2 -2
  144. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +2 -13
  145. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +2 -6
  146. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -2
  147. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +2 -6
  148. package/lib/esm/view/expenseAutomationView/expenseAutomationViewReducer.js +3 -20
  149. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +21 -49
  150. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +14 -7
  151. package/lib/esm/view/expenseAutomationView/transactionFilterHelpers.js +106 -18
  152. package/lib/esm/view/fileView/epic/deleteFileEpic.js +2 -2
  153. package/lib/esm/view/fileView/epic/deleteFileListEpic.js +2 -2
  154. package/lib/esm/view/fileView/epic/updateFileNameEpic.js +2 -2
  155. package/lib/esm/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +40 -0
  156. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +29 -0
  157. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +40 -0
  158. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewReducer.js +218 -50
  159. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewSelector.js +12 -2
  160. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewState.js +12 -0
  161. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +22 -2
  162. package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +14 -0
  163. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +109 -12
  164. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +10 -2
  165. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +8 -4
  166. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +11 -7
  167. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +54 -0
  168. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +13 -4
  169. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +140 -16
  170. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +60 -4
  171. package/lib/esm/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +8 -2
  172. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +29 -0
  173. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +78 -0
  174. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +47 -0
  175. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +47 -0
  176. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +32 -0
  177. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +32 -0
  178. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +54 -0
  179. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +92 -0
  180. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +224 -0
  181. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +10 -0
  182. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +23 -0
  183. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +36 -0
  184. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +27 -0
  185. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +28 -0
  186. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +52 -0
  187. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +22 -0
  188. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +1 -0
  189. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +36 -0
  190. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +39 -0
  191. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +34 -0
  192. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +71 -0
  193. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +21 -0
  194. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +1 -0
  195. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +38 -0
  196. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +289 -0
  197. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +109 -0
  198. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +44 -0
  199. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +111 -0
  200. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +25 -0
  201. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +363 -0
  202. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +36 -0
  203. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +19 -0
  204. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +6 -0
  205. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +119 -0
  206. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +154 -0
  207. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +22 -0
  208. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +1 -0
  209. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +49 -0
  210. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +140 -0
  211. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +20 -0
  212. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +100 -0
  213. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +96 -0
  214. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +59 -0
  215. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +24 -0
  216. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +25 -0
  217. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +1 -0
  218. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +34 -0
  219. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +57 -0
  220. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +35 -0
  221. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +2 -2
  222. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +42 -4
  223. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +35 -0
  224. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +62 -0
  225. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +44 -0
  226. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +58 -0
  227. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +77 -0
  228. package/lib/esm/view/spendManagement/commonSetup/kycKybAutofillActions.js +14 -0
  229. package/lib/esm/view/spendManagement/commonSetup/kycKybParseMapper.js +207 -0
  230. package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +106 -52
  231. package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +6 -1
  232. package/lib/esm/view/spendManagement/commonSetup/types/kycKybAutofill.js +41 -0
  233. package/lib/esm/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +5 -1
  234. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +10 -2
  235. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +8 -2
  236. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +11 -7
  237. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +61 -0
  238. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +13 -4
  239. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +80 -11
  240. package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.js +18 -0
  241. package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.js +18 -0
  242. package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryVideoViewedEpic.js +1 -1
  243. package/lib/esm/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.js +45 -1
  244. package/lib/esm/view/transactionDetail/journalEntryLinesViewModel.js +149 -0
  245. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +6 -1
  246. package/lib/index.d.ts +94 -40
  247. package/lib/index.js +281 -37
  248. package/lib/reducer.d.ts +21 -0
  249. package/lib/reducer.js +21 -0
  250. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +11 -2
  251. package/lib/view/aiCfoView/aiCfoViewReducer.js +6 -3
  252. package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  253. package/lib/view/aiCfoView/epics/createSessionEpic.js +2 -1
  254. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +8 -1
  255. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  256. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  257. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  258. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  259. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  260. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  261. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  262. package/lib/view/companyTaskManagerView/companyTaskManagerViewPayload.d.ts +19 -11
  263. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +11 -5
  264. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +40 -12
  265. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +2 -0
  266. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +13 -3
  267. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +11 -3
  268. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.d.ts +10 -0
  269. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +42 -0
  270. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.d.ts +1 -3
  271. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  272. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.d.ts +6 -0
  273. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +20 -0
  274. package/lib/view/companyView/companyViewReducer.d.ts +12 -1
  275. package/lib/view/companyView/companyViewReducer.js +48 -3
  276. package/lib/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.d.ts +9 -0
  277. package/lib/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.js +29 -0
  278. package/lib/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.d.ts +10 -0
  279. package/lib/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.js +102 -0
  280. package/lib/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  281. package/lib/view/companyView/types/cockpitTypes.d.ts +3 -2
  282. package/lib/view/companyView/types/companyPassport/companyPassportViewState.d.ts +1 -0
  283. package/lib/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
  284. package/lib/view/createTransferEntry/createTransferEntryReducer.d.ts +32 -0
  285. package/lib/view/createTransferEntry/createTransferEntryReducer.js +86 -0
  286. package/lib/view/createTransferEntry/createTransferEntrySelector.d.ts +39 -0
  287. package/lib/view/createTransferEntry/createTransferEntrySelector.js +69 -0
  288. package/lib/view/createTransferEntry/createTransferEntryState.d.ts +30 -0
  289. package/lib/view/createTransferEntry/createTransferEntryState.js +20 -0
  290. package/lib/view/createTransferEntry/epics/createTransferEntryEpic.d.ts +11 -0
  291. package/lib/view/createTransferEntry/epics/createTransferEntryEpic.js +140 -0
  292. package/lib/view/createTransferEntry/epics/fetchTransferAccountsEpic.d.ts +14 -0
  293. package/lib/view/createTransferEntry/epics/fetchTransferAccountsEpic.js +40 -0
  294. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  295. package/lib/view/dashboard/dashboardReducer.js +11 -1
  296. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -3
  297. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +3 -4
  298. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.d.ts +6 -0
  299. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +14 -10
  300. package/lib/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +3 -16
  301. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +9 -16
  302. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +2 -2
  303. package/lib/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +2 -13
  304. package/lib/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +2 -6
  305. package/lib/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -2
  306. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +2 -6
  307. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +2 -6
  308. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.js +3 -20
  309. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  310. package/lib/view/expenseAutomationView/payload/transactionCategorizationPayload.d.ts +20 -9
  311. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +11 -18
  312. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +22 -50
  313. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +8 -6
  314. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +2 -1
  315. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +16 -8
  316. package/lib/view/expenseAutomationView/transactionFilterHelpers.js +106 -18
  317. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
  318. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +2 -3
  319. package/lib/view/fileView/epic/deleteFileEpic.js +1 -1
  320. package/lib/view/fileView/epic/deleteFileListEpic.js +1 -1
  321. package/lib/view/fileView/epic/updateFileNameEpic.js +1 -1
  322. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  323. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  324. package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.d.ts +7 -0
  325. package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +44 -0
  326. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.d.ts +8 -0
  327. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +33 -0
  328. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.d.ts +9 -0
  329. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +44 -0
  330. package/lib/view/onboardingView/customerView/onboardingCustomerViewPayload.d.ts +3 -0
  331. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +41 -4
  332. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.js +220 -51
  333. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.d.ts +5 -1
  334. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +15 -2
  335. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.d.ts +40 -0
  336. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.js +13 -1
  337. package/lib/view/people/peopleTypes.d.ts +1 -1
  338. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  339. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  340. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  341. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.d.ts +8 -1
  342. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +21 -1
  343. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.d.ts +22 -0
  344. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.d.ts +7 -0
  345. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +14 -0
  346. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.d.ts +14 -3
  347. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +110 -13
  348. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewState.d.ts +16 -0
  349. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +10 -2
  350. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +8 -4
  351. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +10 -6
  352. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.d.ts +23 -0
  353. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +58 -0
  354. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +12 -3
  355. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.d.ts +59 -1
  356. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +142 -17
  357. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonState.d.ts +31 -5
  358. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +8 -1
  359. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +60 -4
  360. package/lib/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +8 -2
  361. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.d.ts +47 -0
  362. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +34 -0
  363. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.d.ts +23 -0
  364. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +82 -0
  365. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.d.ts +40 -0
  366. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +51 -0
  367. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.d.ts +37 -0
  368. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +53 -0
  369. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.d.ts +14 -0
  370. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +36 -0
  371. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.d.ts +7 -0
  372. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +36 -0
  373. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.d.ts +56 -0
  374. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +60 -0
  375. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.d.ts +22 -0
  376. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +96 -0
  377. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.d.ts +59 -0
  378. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +229 -0
  379. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.d.ts +122 -0
  380. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +13 -0
  381. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.d.ts +7 -0
  382. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +27 -0
  383. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.d.ts +9 -0
  384. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +40 -0
  385. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.d.ts +7 -0
  386. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +31 -0
  387. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.d.ts +15 -0
  388. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +32 -0
  389. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.d.ts +14 -0
  390. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +56 -0
  391. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.d.ts +15 -0
  392. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +28 -0
  393. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.d.ts +8 -0
  394. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +2 -0
  395. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.d.ts +8 -0
  396. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +40 -0
  397. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.d.ts +8 -0
  398. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +43 -0
  399. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.d.ts +8 -0
  400. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +38 -0
  401. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.d.ts +15 -0
  402. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +75 -0
  403. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.d.ts +15 -0
  404. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +27 -0
  405. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.d.ts +7 -0
  406. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +2 -0
  407. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.d.ts +8 -0
  408. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +42 -0
  409. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.d.ts +8 -0
  410. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +294 -0
  411. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.d.ts +8 -0
  412. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +113 -0
  413. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.d.ts +9 -0
  414. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +48 -0
  415. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.d.ts +8 -0
  416. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +115 -0
  417. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.d.ts +13 -0
  418. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +29 -0
  419. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.d.ts +14 -0
  420. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +369 -0
  421. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.d.ts +6 -0
  422. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +40 -0
  423. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.d.ts +7 -0
  424. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +26 -0
  425. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.d.ts +116 -0
  426. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +10 -0
  427. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.d.ts +33 -0
  428. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +126 -0
  429. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +52 -0
  430. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +158 -0
  431. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +11 -0
  432. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +31 -0
  433. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +12 -0
  434. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +2 -0
  435. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +9 -0
  436. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +53 -0
  437. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.d.ts +10 -0
  438. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +144 -0
  439. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.d.ts +7 -0
  440. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +24 -0
  441. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.d.ts +11 -0
  442. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +104 -0
  443. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.d.ts +22 -0
  444. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +100 -0
  445. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.d.ts +8 -0
  446. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +63 -0
  447. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.d.ts +3 -0
  448. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +28 -0
  449. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  450. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +14 -0
  451. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +27 -1
  452. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.d.ts +34 -0
  453. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +2 -0
  454. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.d.ts +7 -0
  455. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +38 -0
  456. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.d.ts +12 -0
  457. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +61 -0
  458. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.d.ts +9 -0
  459. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +39 -0
  460. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.d.ts +2 -2
  461. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +1 -1
  462. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.d.ts +12 -2
  463. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +43 -5
  464. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.d.ts +7 -0
  465. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +42 -1
  466. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardState.d.ts +5 -0
  467. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts +11 -0
  468. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +66 -0
  469. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.d.ts +3 -0
  470. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +48 -0
  471. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.d.ts +28 -0
  472. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +62 -0
  473. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.d.ts +9 -0
  474. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +81 -0
  475. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.d.ts +24 -0
  476. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.js +17 -0
  477. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.d.ts +29 -0
  478. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.js +215 -0
  479. package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +28 -2
  480. package/lib/view/spendManagement/commonSetup/setupViewReducer.js +107 -53
  481. package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +7 -2
  482. package/lib/view/spendManagement/commonSetup/setupViewSelector.js +6 -1
  483. package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +19 -0
  484. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.d.ts +154 -0
  485. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.js +46 -0
  486. package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +5 -1
  487. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +10 -2
  488. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +8 -2
  489. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +10 -6
  490. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.d.ts +14 -0
  491. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +65 -0
  492. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +12 -3
  493. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.d.ts +14 -3
  494. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +81 -12
  495. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewState.d.ts +12 -0
  496. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.d.ts +8 -0
  497. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.js +22 -0
  498. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.d.ts +8 -0
  499. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.js +22 -0
  500. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryVideoViewedEpic.js +1 -1
  501. package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.d.ts +1 -1
  502. package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.js +46 -2
  503. package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewState.d.ts +2 -0
  504. package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
  505. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +1 -1
  506. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  507. package/lib/view/topEx/topExSelector.d.ts +1 -1
  508. package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +102 -0
  509. package/lib/view/transactionDetail/journalEntryLinesViewModel.js +160 -0
  510. package/lib/view/transactionDetail/transactionDetailPayload.d.ts +1 -1
  511. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +6 -1
  512. package/lib/view/transactionDetail/transactionDetailSelector.js +6 -1
  513. package/lib/zeniAPI.d.ts +1 -0
  514. package/package.json +1 -1
@@ -0,0 +1,64 @@
1
+ import { createSelector } from '@reduxjs/toolkit';
2
+ import { getAccountBase, getAccountBaseForCreditCardTransferAccounts, getAccountBaseForTransferAccounts, } from '../../entity/account/accountSelector';
3
+ import { getAccountList } from '../accountList/accountListSelector';
4
+ export function getCreateTransferEntryStatus(state) {
5
+ return state.createTransferEntryState.createTransferEntryStatus;
6
+ }
7
+ export function getLastTransferEntryReplacement(state) {
8
+ return state.createTransferEntryState.lastTransferEntryReplacement;
9
+ }
10
+ /**
11
+ * Shared resolver for the credit/debit dropdowns in the transfer drawer.
12
+ *
13
+ * Resolution policy (intentional):
14
+ * 1. Prefer the dedicated API fetch results (`transferEntryEligible` for the
15
+ * debit pool, `creditCardOnlyEligible` for the credit-card-payment credit
16
+ * pool).
17
+ * 2. If the dedicated fetch returns an empty list while the COA is loaded,
18
+ * fall back to the COA: the full account list for `transferEntryEligible`,
19
+ * and COA accounts filtered to `credit_card` for `creditCardOnlyEligible`.
20
+ * This keeps the dropdown populated for older tenants where the dedicated
21
+ * endpoints haven't been backfilled yet.
22
+ *
23
+ * Intent — what this selector deliberately does NOT do:
24
+ * - Does NOT distinguish "fetch in-flight" / "fetch errored" / "fetch returned
25
+ * empty" — all three collapse to the COA fallback. The product preference
26
+ * is "always show something selectable" over "show a spinner that may never
27
+ * resolve". Loading/error UI belongs in the view layer; if you need a
28
+ * spinner, observe the `fetchState` on `transferAccountsByType[kind]`
29
+ * separately rather than changing the resolution policy here.
30
+ * - Does NOT enforce "API result is authoritative even if empty" — a tenant
31
+ * whose dedicated endpoint is correctly returning `[]` (e.g. no eligible
32
+ * transfer destinations) will still see the COA. That trade-off is
33
+ * accepted because the alternative blocks the user from picking anything;
34
+ * the backend distinguishes "no result" from "endpoint not implemented" by
35
+ * surfacing an error response, which the view layer handles separately.
36
+ *
37
+ * Memoized with reselect so consuming view-models don't recompute on every
38
+ * unrelated state change.
39
+ */
40
+ export const getResolvedTransferAccounts = createSelector([
41
+ (state) => state.accountState,
42
+ (state) => state.accountListState,
43
+ (state) => state.createTransferEntryState.transferAccountsByType
44
+ .transferEntryEligible.accountIds,
45
+ (state) => state.createTransferEntryState.transferAccountsByType
46
+ .creditCardOnlyEligible.accountIds,
47
+ ], (accountState, accountListState, transferEligibleIds, creditCardOnlyIds) => {
48
+ const accountList = getAccountList(accountState, accountListState, 'accountList');
49
+ const transferEligibleFromApi = transferEligibleIds
50
+ .map((id) => getAccountBaseForTransferAccounts(accountState, id))
51
+ .filter((account) => account != null);
52
+ const coaFallbackAllAccounts = accountList.accounts
53
+ .map((a) => getAccountBase(accountState, a.accountId, 'account_list'))
54
+ .filter((account) => account != null);
55
+ const transferAccountsList = transferEligibleFromApi.length > 0
56
+ ? transferEligibleFromApi
57
+ : coaFallbackAllAccounts;
58
+ const creditCardFromApi = creditCardOnlyIds
59
+ .map((id) => getAccountBaseForCreditCardTransferAccounts(accountState, id))
60
+ .filter((account) => account != null);
61
+ const coaFallbackCreditCards = coaFallbackAllAccounts.filter((a) => a.accountType === 'credit_card');
62
+ const creditCardTransferAccountsList = creditCardFromApi.length > 0 ? creditCardFromApi : coaFallbackCreditCards;
63
+ return { creditCardTransferAccountsList, transferAccountsList };
64
+ });
@@ -0,0 +1,17 @@
1
+ /** Which pool `fetchAccountsForTransferFlow` / transfer-flow epic should load. */
2
+ export const TRANSFER_ACCOUNTS_FETCH_TYPE = [
3
+ 'transferEntryEligible',
4
+ 'creditCardOnlyEligible',
5
+ ];
6
+ const initialTransferAccountsState = {
7
+ accountIds: [],
8
+ fetchState: 'Not-Started',
9
+ };
10
+ export const initialCreateTransferEntryState = {
11
+ createTransferEntryStatus: 'Not-Started',
12
+ lastTransferEntryReplacement: undefined,
13
+ transferAccountsByType: {
14
+ transferEntryEligible: initialTransferAccountsState,
15
+ creditCardOnlyEligible: initialTransferAccountsState,
16
+ },
17
+ };
@@ -0,0 +1,136 @@
1
+ import { concat, from, timer } from 'rxjs';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
+ import { openSnackbar } from '../../../entity/snackbar/snackbarReducer';
4
+ import { toTransactionID } from '../../../entity/transaction/payloadTypes/transactionIDPayload';
5
+ import { removeTransaction, updateTransaction, } from '../../../entity/transaction/transactionReducer';
6
+ import { isSuccessResponse } from '../../../responsePayload';
7
+ import { removeTransactionFromAllTabs } from '../../expenseAutomationView/reducers/transactionsViewReducer';
8
+ import { initializeTransactionDetailLocalData, removeTransactionDetail, } from '../../transactionDetail/transactionDetailReducer';
9
+ import { getTransactionDetailKey } from '../../transactionDetail/transactionDetailState';
10
+ import { clearTransferEntryRouteReplacement, createTransferEntry, createTransferEntryFailure, createTransferEntryReplacedTransaction, createTransferEntrySuccess, resetCreateTransferEntryStatus, } from '../createTransferEntryReducer';
11
+ // ─── Pure helpers ────────────────────────────────────────────────────────────
12
+ function transactionIdsAreEqual(a, b) {
13
+ return a.id === b.id && a.type === b.type;
14
+ }
15
+ const successSnackbar = () => openSnackbar({
16
+ messageSection: 'create_transfer_entry',
17
+ messageText: 'success',
18
+ type: 'success',
19
+ });
20
+ const failureSnackbar = () => openSnackbar({
21
+ messageSection: 'create_transfer_entry',
22
+ messageText: 'failed',
23
+ type: 'error',
24
+ });
25
+ function buildFailureActions() {
26
+ return [createTransferEntryFailure(), failureSnackbar()];
27
+ }
28
+ /**
29
+ * Defensive guard: a BE response that returns 200 with `transaction != null`
30
+ * but where the body lacks a usable id/type is unsafe to seed into the store —
31
+ * downstream code would store under a garbage key and the host hook would try
32
+ * to navigate to a broken url. Treat that case as failure so the source row
33
+ * stays visible and the user can retry.
34
+ */
35
+ function isWellFormedTransactionPayload(t) {
36
+ return (t != null &&
37
+ typeof t.transaction_id === 'string' &&
38
+ t.transaction_id !== '' &&
39
+ typeof t.transaction_type === 'string' &&
40
+ t.transaction_type !== '');
41
+ }
42
+ function buildSuccessSideEffects(sourceTransactionId) {
43
+ return [
44
+ createTransferEntrySuccess(),
45
+ removeTransactionFromAllTabs(sourceTransactionId),
46
+ successSnackbar(),
47
+ ];
48
+ }
49
+ function buildPreviousTransactionCleanupActions(previousTransactionId) {
50
+ return [
51
+ removeTransaction(getTransactionDetailKey(previousTransactionId)),
52
+ removeTransactionDetail(previousTransactionId),
53
+ clearTransferEntryRouteReplacement(),
54
+ ];
55
+ }
56
+ /**
57
+ * Emits `resetCreateTransferEntryStatus()` (and, on the replacement path, the
58
+ * follow-up cleanup actions) one scheduler tick after the success actions.
59
+ *
60
+ * Why the `timer(0)` (and not synchronous emission):
61
+ * On the replacement path the host (web-app-ui) watches
62
+ * `lastTransferEntryReplacement`, navigates to the new transaction url, and
63
+ * then sees `clearTransferEntryRouteReplacement` clear the signal. If we
64
+ * dispatched the cleanup actions in the same tick as
65
+ * `createTransferEntryReplacedTransaction`, redux subscribers would observe
66
+ * `lastTransferEntryReplacement` flicker on then off in a single render, and
67
+ * the old transaction's state (which the still-mounted detail view may be
68
+ * reading) would be torn down before the host has had a chance to start
69
+ * navigating. Deferring by one microtask gives the host exactly one render
70
+ * pass to react before we tear down the previous transaction.
71
+ */
72
+ function delayedResetAndPreviousCleanup(previousTransactionId) {
73
+ return timer(0).pipe(mergeMap(() => {
74
+ const actions = [resetCreateTransferEntryStatus()];
75
+ if (previousTransactionId != null) {
76
+ actions.push(...buildPreviousTransactionCleanupActions(previousTransactionId));
77
+ }
78
+ return from(actions);
79
+ }));
80
+ }
81
+ // ─── Success-path branches ───────────────────────────────────────────────────
82
+ function handleSuccessWithoutTransactionBody(transactionId) {
83
+ return concat(from(buildSuccessSideEffects(transactionId)), delayedResetAndPreviousCleanup(undefined));
84
+ }
85
+ function handleSuccessWithTransactionBody(transactionPayload, vendorPayload, previousTransactionId, sourceTransactionId) {
86
+ const newTransactionId = toTransactionID(transactionPayload);
87
+ const replaced = !transactionIdsAreEqual(previousTransactionId, newTransactionId);
88
+ const immediate = [
89
+ updateTransaction(getTransactionDetailKey(newTransactionId), transactionPayload),
90
+ initializeTransactionDetailLocalData({
91
+ transactionId: newTransactionId,
92
+ vendorId: vendorPayload?.[0]?.vendor_id,
93
+ }),
94
+ ...buildSuccessSideEffects(sourceTransactionId),
95
+ ];
96
+ if (replaced) {
97
+ immediate.push(createTransferEntryReplacedTransaction(previousTransactionId, newTransactionId));
98
+ }
99
+ return concat(from(immediate), delayedResetAndPreviousCleanup(replaced ? previousTransactionId : undefined));
100
+ }
101
+ // ─── Top-level epic ──────────────────────────────────────────────────────────
102
+ export const createTransferEntryEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(createTransferEntry.match), mergeMap((action) => {
103
+ const { transactionId, creditAccountIntegrationId, debitAccountIntegrationId, memo, transactionType, sourceTransactionType, } = action.payload;
104
+ const previousTransactionId = {
105
+ id: transactionId,
106
+ type: sourceTransactionType,
107
+ };
108
+ // The server contract for `transaction-type-update` expects
109
+ // `transaction_memo`, but the client-side action payload field is named
110
+ // `memo` (callers in web-components dispatch with `memo`). The names are
111
+ // intentionally kept separate: `memo` is the internal client model and
112
+ // `transaction_memo` is the wire format. Don't unify them without
113
+ // updating the action contract and all dispatchers in lockstep.
114
+ const payload = {
115
+ transaction_type: transactionType,
116
+ transaction_id: transactionId,
117
+ to_account_integration_id: creditAccountIntegrationId,
118
+ from_account_integration_id: debitAccountIntegrationId,
119
+ transaction_memo: memo ?? '',
120
+ };
121
+ return zeniAPI
122
+ .postAndGetJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/transactions/transaction-type-update`, payload)
123
+ .pipe(mergeMap((response) => {
124
+ if (isSuccessResponse(response) && response.data != null) {
125
+ const transaction = response.data?.transaction;
126
+ if (transaction != null) {
127
+ if (!isWellFormedTransactionPayload(transaction)) {
128
+ return from(buildFailureActions());
129
+ }
130
+ return handleSuccessWithTransactionBody(transaction, response.data?.vendors, previousTransactionId, transactionId);
131
+ }
132
+ return handleSuccessWithoutTransactionBody(transactionId);
133
+ }
134
+ return from(buildFailureActions());
135
+ }), catchError(() => from(buildFailureActions())));
136
+ }));
@@ -0,0 +1,36 @@
1
+ import { of } from 'rxjs';
2
+ import { catchError, filter, groupBy, mergeMap, switchMap } from 'rxjs/operators';
3
+ import { updateAccounts } from '../../../entity/account/accountReducer';
4
+ import { isSuccessResponse } from '../../../responsePayload';
5
+ import { fetchAccountsForTransferFlow, updateAccountsForTransferFlow, updateAccountsForTransferFlowFailure, } from '../createTransferEntryReducer';
6
+ const REPORT_ID_BY_TYPE = {
7
+ transferEntryEligible: 'transfer_accounts',
8
+ creditCardOnlyEligible: 'credit_card_transfer_accounts',
9
+ };
10
+ const QUERY_BY_TYPE = {
11
+ transferEntryEligible: { is_only_include_transfer_accounts: true },
12
+ creditCardOnlyEligible: { is_include_only_credit_card_accounts: true },
13
+ };
14
+ /**
15
+ * Pools fetched concurrently: `groupBy(kind)` keeps `transferEntryEligible`
16
+ * and `creditCardOnlyEligible` in their own streams so a back-to-back dispatch
17
+ * of both does not cancel the first. Within a single type, a fresh dispatch
18
+ * supersedes any in-flight request (per-group `switchMap`).
19
+ */
20
+ export const fetchTransferAccountsEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchAccountsForTransferFlow.match), groupBy((action) => action.payload.kind), mergeMap((group$) => group$.pipe(switchMap((action) => {
21
+ const { kind } = action.payload;
22
+ const queryValue = QUERY_BY_TYPE[kind];
23
+ const reportId = REPORT_ID_BY_TYPE[kind];
24
+ const url = `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/accounts?query=${encodeURIComponent(JSON.stringify(queryValue))}`;
25
+ return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
26
+ if (isSuccessResponse(response) && response.data != null) {
27
+ const accountIds = response.data.accounts.map((account) => account.account_id);
28
+ const actions = [
29
+ updateAccounts(response.data.accounts, reportId),
30
+ updateAccountsForTransferFlow({ accountIds, kind }),
31
+ ];
32
+ return of(...actions);
33
+ }
34
+ return of(updateAccountsForTransferFlowFailure({ kind }));
35
+ }), catchError(() => of(updateAccountsForTransferFlowFailure({ kind }))));
36
+ }))));
@@ -1,8 +1,9 @@
1
1
  import { createSlice } from '@reduxjs/toolkit';
2
2
  import { dateNow } from '../../zeniDayJS';
3
+ import { updateTreasuryPromoIntroClosedByOutsideClick, updateTreasuryPromoRemindMeLaterClicked, } from '../spendManagement/treasury/treasurySetUp/treasurySetupViewReducer';
3
4
  export const initialState = {
4
- lastFetchRequestTime: undefined,
5
5
  isTreasuryVideoClosed: false,
6
+ lastFetchRequestTime: undefined,
6
7
  };
7
8
  const dashboard = createSlice({
8
9
  name: 'dashboard',
@@ -32,6 +33,15 @@ const dashboard = createSlice({
32
33
  Object.assign(draft, initialState);
33
34
  },
34
35
  },
36
+ extraReducers: (builder) => {
37
+ builder
38
+ .addCase(updateTreasuryPromoRemindMeLaterClicked, (draft) => {
39
+ draft.isTreasuryVideoClosed = true;
40
+ })
41
+ .addCase(updateTreasuryPromoIntroClosedByOutsideClick, (draft) => {
42
+ draft.isTreasuryVideoClosed = true;
43
+ });
44
+ },
35
45
  });
36
46
  export const { fetchDashboard, updateTreasuryVideoClosed, clearDashboard } = dashboard.actions;
37
47
  export default dashboard.reducer;
@@ -9,7 +9,7 @@ import { fetchMissingReceipts } from '../../reducers/missingReceiptsViewReducer'
9
9
  import { fetchReconciliation } from '../../reducers/reconciliationViewReducer';
10
10
  import { fetchTransactionCategorizationView } from '../../reducers/transactionsViewReducer';
11
11
  export const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.pipe(filter(fetchAllExpenseAutomationTabs.match), switchMap((action) => {
12
- const { cacheOverride, refreshViewInBackground, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses, } = action.payload;
12
+ const { cacheOverride, refreshViewInBackground, isUncategorizedExpenseCategoryEnabled, } = action.payload;
13
13
  const state = state$.value;
14
14
  const { monthEndCloseChecksState } = state;
15
15
  const { monthEndCloseChecksByTenantId } = monthEndCloseChecksState;
@@ -30,7 +30,7 @@ export const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.
30
30
  }
31
31
  if (cacheOverride === true) {
32
32
  const actions = [];
33
- actions.push(fetchTransactionCategorizationView(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, cacheOverride, false, undefined, undefined, refreshViewInBackground, false, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses), fetchMissingReceipts({ start: timePeriodStart, end: timePeriodEnd }, {
33
+ actions.push(fetchTransactionCategorizationView(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, cacheOverride, false, undefined, undefined, refreshViewInBackground, false, isUncategorizedExpenseCategoryEnabled), fetchMissingReceipts({ start: timePeriodStart, end: timePeriodEnd }, {
34
34
  amount: 75.0,
35
35
  currencyCode: 'USD',
36
36
  currencySymbol: '$',
@@ -83,7 +83,7 @@ export const fetchAllExpenseAutomationTabsEpic = (actions$, state$) => actions$.
83
83
  (state.expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTransactionCategorizationTab].hasValidState() === false ||
84
84
  state.expenseAutomationTransactionsViewState
85
85
  .transactionCategorizationView[selectedTransactionCategorizationTab].transactionIdsBySelectedPeriod[monthYearPeriodId] == null)) {
86
- fetchActions.push(fetchTransactionCategorizationView(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, cacheOverride, false, undefined, undefined, refreshViewInBackground, false, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses));
86
+ fetchActions.push(fetchTransactionCategorizationView(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, cacheOverride, false, undefined, undefined, refreshViewInBackground, false, isUncategorizedExpenseCategoryEnabled));
87
87
  }
88
88
  return from(fetchActions);
89
89
  }
@@ -10,7 +10,7 @@ import { fetchMissingReceipts } from '../../reducers/missingReceiptsViewReducer'
10
10
  import { fetchReconciliation } from '../../reducers/reconciliationViewReducer';
11
11
  import { fetchTransactionCategorizationView } from '../../reducers/transactionsViewReducer';
12
12
  export const refreshExpenseAutomationCurrentTabEpic = (actions$, state$) => actions$.pipe(filter(refreshExpenseAutomationCurrentTab.match), switchMap((action) => {
13
- const { countOnlyStatuses, isUncategorizedExpenseCategoryEnabled, statuses, } = action.payload;
13
+ const { isUncategorizedExpenseCategoryEnabled } = action.payload;
14
14
  const state = state$.value;
15
15
  const currentTenant = getCurrentTenant(state);
16
16
  const companyId = currentTenant.companyId;
@@ -61,10 +61,9 @@ export const refreshExpenseAutomationCurrentTabEpic = (actions$, state$) => acti
61
61
  }
62
62
  }
63
63
  case 'transaction_categorization':
64
- default: {
64
+ default:
65
65
  return from([
66
- fetchTransactionCategorizationView(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, true, false, undefined, undefined, true, undefined, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses),
66
+ fetchTransactionCategorizationView(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, true, false, undefined, undefined, true, undefined, isUncategorizedExpenseCategoryEnabled),
67
67
  ]);
68
- }
69
68
  }
70
69
  }));
@@ -5,9 +5,14 @@ import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePay
5
5
  import { rollingCalendarDateRangeInclusive } from '../../helpers/rollingCalendarDateRangeInclusive';
6
6
  import { supportedTransactionPayloadToManualSearchResult } from '../../payload/missingReceiptsPayload';
7
7
  import { searchTransactionsForManualMatch, searchTransactionsForManualMatchFailure, searchTransactionsForManualMatchSuccess, } from '../../reducers/missingReceiptsViewReducer';
8
+ import { DEFAULT_COMPLETED_SUB_TAB } from '../../types/completedSubTab';
8
9
  import { toTransactionsSortKey } from '../../types/transactionsViewState';
9
10
  /**
10
-
11
+ * `auto_categorized` for manual transaction search (Unmatched).
12
+ * Backend contract TBD — align with `fetchTransactionCategorizationEpic` (`selectedTab === 'autoCategorized'`)
13
+ * when the expense-automation API documents the intended filter for this flow.
14
+ */
15
+ export const MANUAL_TRANSACTION_SEARCH_AUTO_CATEGORIZED = false;
11
16
  /** Inclusive rolling window for manual match search (ignores accounting period picker). */
12
17
  const MANUAL_SEARCH_TRANSACTION_DATE_RANGE_DAYS = 90;
13
18
  export const searchTransactionsForManualMatchEpic = (actions$, state$, zeniAPI) => {
@@ -36,21 +41,20 @@ export const searchTransactionsForManualMatchEpic = (actions$, state$, zeniAPI)
36
41
  const queryParam = {
37
42
  start_date: start,
38
43
  end_date: end,
44
+ auto_categorized: MANUAL_TRANSACTION_SEARCH_AUTO_CATEGORIZED,
39
45
  sort_by: toTransactionsSortKey(manualSearchSortKey),
40
46
  sort_order: manualSearchSortOrder === 'ascending' ? 'asc' : 'desc',
41
47
  page_token: pageToken ?? null,
42
48
  page_size: manualSearch.pageSize,
43
49
  search_text: query,
50
+ // Manual search ignores the Completed sub-tab axis — always span the
51
+ // default sentinel so the receipt-matching UX returns results
52
+ // regardless of where the transaction would otherwise be bucketed on
53
+ // the Completed tab.
54
+ sub_tab: DEFAULT_COMPLETED_SUB_TAB,
44
55
  };
45
- // BETA TEST — Shubham dev namespace for transaction-categorization
46
- // `statuses` / `count_only_statuses` rollout. Revert before merge by
47
- // restoring `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}` in
48
- // place of the hardcoded base. Mirrored in
49
- // `fetchTransactionCategorizationEpic.ts` and
50
- // `backgroundRefetchReviewTabEpic.ts` — grep `BETA TEST` to find
51
- // every override site.
52
56
  return zeniAPI
53
- .getJSON(`https://dev.api.zeni.ai/version/accounting/shubham/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
57
+ .getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
54
58
  .pipe(mergeMap((response) => {
55
59
  if (isSuccessResponse(response) && response.data != null) {
56
60
  const { transactions, next_page_token, total_count } = response.data;
@@ -10,14 +10,8 @@ import { toTransactionsSortKey } from '../../types/transactionsViewState';
10
10
  const SELECTED_TAB = 'review';
11
11
  const PAGE_SIZE = 25;
12
12
  export const backgroundRefetchReviewTabEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(backgroundRefetchReviewTab.match), switchMap((action) => {
13
- const { period, isUncategorizedExpenseCategoryEnabled, reviewStatuses } = action.payload;
13
+ const { period, isUncategorizedExpenseCategoryEnabled } = action.payload;
14
14
  const state = state$.value;
15
- // Background refetch must never widen the listing to "all statuses".
16
- // Dispatchers that have access to the Statsig-resolved Review-tab
17
- // status set (e.g. the EA-screen save chain) pass it through on the
18
- // action; everyone else falls back to the hardcoded sentinel so the
19
- // refetch matches what the user sees on the Review tab.
20
- const effectiveReviewStatuses = reviewStatuses ?? ['pending_review'];
21
15
  const currentTenant = getCurrentTenant(state);
22
16
  const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
23
17
  const reviewUiState = state.expenseAutomationTransactionsViewState
@@ -27,21 +21,14 @@ export const backgroundRefetchReviewTabEpic = (actions$, state$, zeniAPI) => act
27
21
  const queryParam = {
28
22
  start_date: toString(period.start),
29
23
  end_date: toString(period.end),
24
+ auto_categorized: false,
30
25
  sort_by: toTransactionsSortKey(reviewUiState.sortKey),
31
26
  sort_order: reviewUiState.sortOrder === 'ascending' ? 'asc' : 'desc',
32
27
  page_token: pageToken,
33
28
  page_size: PAGE_SIZE,
34
29
  search_text: reviewUiState.searchString,
35
- statuses: effectiveReviewStatuses,
36
30
  };
37
- // BETA TEST — Shubham dev namespace for transaction-categorization
38
- // `statuses` / `count_only_statuses` rollout. Revert before merge by
39
- // restoring `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}` in
40
- // place of the hardcoded base. Mirrored in
41
- // `fetchTransactionCategorizationEpic.ts` and
42
- // `searchTransactionsForManualMatchEpic.ts` — grep `BETA TEST` to
43
- // find every override site.
44
- return zeniAPI.getJSON(`https://dev.api.zeni.ai/version/accounting/shubham/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`);
31
+ return zeniAPI.getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`);
45
32
  };
46
33
  return fetchPage(null).pipe(expand((response) => {
47
34
  if (!isSuccessResponse(response) || response.data == null) {
@@ -6,10 +6,11 @@ import { updateTransactions } from '../../../../entity/transaction/transactionRe
6
6
  import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
7
7
  import { getLineItemsByTransactionsIdsFromResponse } from '../../helpers/transactionCategorizationLocalDataHelper';
8
8
  import { fetchTransactionCategorization, fetchTransactionCategorizationFailure, fetchTransactionCategorizationSuccess, initializeTransactionCategorizationViewLocalData, resetOtherTabsFetchState, updateParentTotalCountForTab, updateTotalCountForTransactionCategorization, updateTransactionCategorizationUIState, } from '../../reducers/transactionsViewReducer';
9
+ import { DEFAULT_COMPLETED_SUB_TAB } from '../../types/completedSubTab';
9
10
  import { TRANSACTIONS_TABS, toTransactionsSortKey, } from '../../types/transactionsViewState';
10
11
  export const fetchTransactionCategorizationEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchTransactionCategorization.match), switchMap((action) => {
11
12
  const { expenseAutomationViewState: { selectedPeriodByTenantId }, expenseAutomationTransactionsViewState, } = state$.value;
12
- const { period, keepExistingListItems, selectedTab, refreshViewInBackground, statuses, countOnlyStatuses, } = action.payload;
13
+ const { period, keepExistingListItems, selectedTab, refreshViewInBackground, } = action.payload;
13
14
  const uiState = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTab].uiState;
14
15
  const { pageToken, sortOrder, sortKey } = uiState;
15
16
  const currentTenant = getCurrentTenant(state$.value);
@@ -17,23 +18,18 @@ export const fetchTransactionCategorizationEpic = (actions$, state$, zeniAPI) =>
17
18
  const queryParam = {
18
19
  start_date: toString(period.start),
19
20
  end_date: toString(period.end),
21
+ auto_categorized: selectedTab === 'autoCategorized',
20
22
  sort_by: toTransactionsSortKey(sortKey),
21
23
  sort_order: sortOrder === 'ascending' ? 'asc' : 'desc',
22
24
  page_token: pageToken,
23
25
  page_size: 25,
24
26
  search_text: uiState.searchString,
25
- statuses,
26
- count_only_statuses: countOnlyStatuses,
27
+ sub_tab: selectedTab === 'autoCategorized'
28
+ ? expenseAutomationTransactionsViewState.selectedTransactionCategorizationCompletedSubTab
29
+ : DEFAULT_COMPLETED_SUB_TAB,
27
30
  };
28
- // BETA TEST — Shubham dev namespace for transaction-categorization
29
- // `statuses` / `count_only_statuses` rollout. Revert before merge by
30
- // restoring `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}` in
31
- // place of the hardcoded base. Mirrored in
32
- // `backgroundRefetchReviewTabEpic.ts` and
33
- // `searchTransactionsForManualMatchEpic.ts` — grep `BETA TEST` to
34
- // find every override site.
35
31
  return zeniAPI
36
- .getJSON(`https://dev.api.zeni.ai/version/accounting/shubham/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
32
+ .getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
37
33
  .pipe(mergeMap((response) => {
38
34
  if (isSuccessResponse(response) && response.data != null) {
39
35
  const updateActions = [];
@@ -56,11 +52,8 @@ export const fetchTransactionCategorizationEpic = (actions$, state$, zeniAPI) =>
56
52
  updateActions.push(updateParentTotalCountForTab({
57
53
  selectedPeriod,
58
54
  selectedTab,
59
- // Optional — present only when the request supplied
60
- // `count_only_statuses`. The reducer no-ops on undefined so
61
- // any cached parent badge stays intact across scoped
62
- // fetches (sort changes, pagination, etc.).
63
- parentTotalCount: response.data.count_only_total,
55
+ parentTotalCount: response.data.parent_tab_total_count ??
56
+ response.data.total_count,
64
57
  }));
65
58
  updateActions.push(resetOtherTabsFetchState({
66
59
  refreshViewInBackground,
@@ -8,7 +8,7 @@ import { fetchOwnerList } from '../../../ownerList/ownerListReducer';
8
8
  import { fetchProjectList } from '../../../projectList/projectListReducer';
9
9
  import { fetchTransactionCategorization, fetchTransactionCategorizationView, } from '../../reducers/transactionsViewReducer';
10
10
  export const fetchTransactionCategorizationViewEpic = (actions$, state$) => actions$.pipe(filter(fetchTransactionCategorizationView.match), mergeMap((action) => {
11
- const { selectedTab, cacheOverride, keepExistingListItems, pageToken, period, refreshViewInBackground, searchString, resetListItems, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses, } = action.payload;
11
+ const { selectedTab, cacheOverride, keepExistingListItems, pageToken, period, refreshViewInBackground, searchString, resetListItems, isUncategorizedExpenseCategoryEnabled, } = action.payload;
12
12
  const updateActions = [];
13
13
  const { expenseAutomationTransactionsViewState } = state$.value;
14
14
  const { fetchState, transactionIdsBySelectedPeriod } = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTab];
@@ -42,7 +42,7 @@ export const fetchTransactionCategorizationViewEpic = (actions$, state$) => acti
42
42
  if (cacheOverride === true ||
43
43
  fetchState === 'Not-Started' ||
44
44
  transactionIds.length === 0) {
45
- updateActions.push(fetchTransactionCategorization(selectedTab, period, cacheOverride, keepExistingListItems, searchString, pageToken, refreshViewInBackground, resetListItems, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses));
45
+ updateActions.push(fetchTransactionCategorization(selectedTab, period, cacheOverride, keepExistingListItems, searchString, pageToken, refreshViewInBackground, resetListItems, isUncategorizedExpenseCategoryEnabled));
46
46
  }
47
47
  return from(updateActions);
48
48
  }));
@@ -10,7 +10,7 @@ import { getSnackbarMessageForTransactionReview } from '../../helpers/transactio
10
10
  import { fetchTransactionCategorizationView, markTransactionAsNotMiscategorized, updateStatusForTransactionNotMiscategorizedUpdateForCategorization, updateTotalCountForTransactionCategorization, } from '../../reducers/transactionsViewReducer';
11
11
  export const markTransactionAsNotMiscategorizedEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(markTransactionAsNotMiscategorized.match), mergeMap((action) => {
12
12
  const { expenseAutomationViewState, expenseAutomationTransactionsViewState, } = state$.value;
13
- const { transactionsInReview, selectedTab, isUncategorizedExpenseCategoryEnabled, reviewStatuses: reviewStatusesFromAction, } = action.payload;
13
+ const { transactionsInReview, selectedTab, isUncategorizedExpenseCategoryEnabled, } = action.payload;
14
14
  const transactionsSuccess = transactionsInReview.transactions_update_success;
15
15
  const transactionsFailed = transactionsInReview.transactions_update_failed;
16
16
  const currentTenant = getCurrentTenant(state$.value);
@@ -105,20 +105,9 @@ export const markTransactionAsNotMiscategorizedEpic = (actions$, state$, zeniAPI
105
105
  const timePeriodStart = toAbsoluteDay(period.start);
106
106
  const timePeriodEnd = toAbsoluteDay(period.end);
107
107
  if (timePeriodStart != null && timePeriodEnd != null) {
108
- // Statsig-resolved Review-tab statuses are threaded
109
- // through the EA save chain by `ExpenseAutomationScreen`
110
- // (resolves via `useDynamicConfig` +
111
- // `resolveTransactionCategorizationStatuses`). The
112
- // hardcoded `['pending_review']` last-resort prevents
113
- // accidental "all statuses" widening if the chain ever
114
- // delivers `undefined` (defensive — every live caller
115
- // should be passing this through).
116
- const reviewStatuses = reviewStatusesFromAction ?? [
117
- 'pending_review',
118
- ];
119
108
  actions.push(fetchTransactionCategorizationView('review', { start: timePeriodStart, end: timePeriodEnd }, true, // cacheOverride = true to force refresh
120
109
  false, undefined, undefined, true, // refreshViewInBackground
121
- false, isUncategorizedExpenseCategoryEnabled, reviewStatuses));
110
+ false, isUncategorizedExpenseCategoryEnabled));
122
111
  }
123
112
  }
124
113
  actions.push(updateTotalCountForTransactionCategorization({
@@ -6,7 +6,7 @@ import { getUncategorizedAccounts } from '../../../accountList/accountListSelect
6
6
  import { toTransactionUpdatesFromTransactionCategorizationLocalData } from '../../helpers/saveTransactionHelper';
7
7
  import { saveTransactionCategorization, updateTransactionCategorization, } from '../../reducers/transactionsViewReducer';
8
8
  export const saveTransactionCategorizationEpic = (actions$, state$) => actions$.pipe(filter(saveTransactionCategorization.match), mergeMap((action) => {
9
- const { transactionIds, cotTrackingByTransactionId, selectedTab, isUncategorizedExpenseCategoryEnabled, reviewStatuses, } = action.payload;
9
+ const { transactionIds, cotTrackingByTransactionId, selectedTab, isUncategorizedExpenseCategoryEnabled, } = action.payload;
10
10
  const fetchActions = [];
11
11
  const { transactionState, expenseAutomationTransactionsViewState } = state$.value;
12
12
  const transactionSaveUpdates = [];
@@ -19,10 +19,6 @@ export const saveTransactionCategorizationEpic = (actions$, state$) => actions$.
19
19
  transactionSaveUpdates.push(toTransactionUpdatesFromTransactionCategorizationLocalData(localData, transaction, uncategorizedIncomeExpense));
20
20
  }
21
21
  });
22
- // Forward `reviewStatuses` so the downstream
23
- // `updateTransactionCategorizationEpic` -> `markTransactionAsNotMiscategorized`
24
- // chain receives the Statsig-resolved Review-tab statuses end-to-end
25
- // without reading Statsig from epic-land.
26
- fetchActions.push(updateTransactionCategorization(selectedTab, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled, reviewStatuses));
22
+ fetchActions.push(updateTransactionCategorization(selectedTab, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled));
27
23
  return from(fetchActions);
28
24
  }));
@@ -4,7 +4,7 @@ import { convertToPeriod, toAbsoluteDay, } from '../../../../commonStateTypes/ti
4
4
  import { getCurrentTenant } from '../../../../entity/tenant/tenantSelector';
5
5
  import { backgroundRefetchReviewTab, syncTransactionCategorizationFromDetailSave, } from '../../reducers/transactionsViewReducer';
6
6
  export const triggerReviewTabRefetchEpic = (actions$, state$) => actions$.pipe(filter(syncTransactionCategorizationFromDetailSave.match), mergeMap((action) => {
7
- const { pendingReviewLineIds, transactionId, isUncategorizedExpenseCategoryEnabled, reviewStatuses, } = action.payload;
7
+ const { pendingReviewLineIds, transactionId, isUncategorizedExpenseCategoryEnabled, } = action.payload;
8
8
  if (pendingReviewLineIds.length === 0) {
9
9
  return EMPTY;
10
10
  }
@@ -23,5 +23,5 @@ export const triggerReviewTabRefetchEpic = (actions$, state$) => actions$.pipe(f
23
23
  if (timePeriodStart == null || timePeriodEnd == null) {
24
24
  return EMPTY;
25
25
  }
26
- return of(backgroundRefetchReviewTab({ start: timePeriodStart, end: timePeriodEnd }, isUncategorizedExpenseCategoryEnabled, reviewStatuses));
26
+ return of(backgroundRefetchReviewTab({ start: timePeriodStart, end: timePeriodEnd }, isUncategorizedExpenseCategoryEnabled));
27
27
  }));
@@ -15,7 +15,7 @@ import { getVendorByVendorId } from '../../../../entity/vendor/vendorSelector';
15
15
  import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
16
16
  import { markTransactionAsNotMiscategorized, updateTransactionCategorization, updateTransactionCategorizationSaveStatus, } from '../../reducers/transactionsViewReducer';
17
17
  export const updateTransactionCategorizationEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(updateTransactionCategorization.match), mergeMap((action) => {
18
- const { selectedTab, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled, reviewStatuses, } = action.payload;
18
+ const { selectedTab, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled, } = action.payload;
19
19
  const { transactionState, vendorState, expenseAutomationTransactionsViewState, } = state$.value;
20
20
  const payloadArray = preparePayload(selectedTab, transactionState, vendorState, expenseAutomationTransactionsViewState, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId).filter((payload) => payload != null);
21
21
  return zeniAPI
@@ -24,11 +24,7 @@ export const updateTransactionCategorizationEpic = (actions$, state$, zeniAPI) =
24
24
  if (isSuccessResponse(response) && response.data != null) {
25
25
  const transactionsInReview = response.data;
26
26
  const actions = [];
27
- // Forward `reviewStatuses` so the downstream
28
- // `markTransactionAsNotMiscategorizedEpic` can request the
29
- // Statsig-resolved Review-tab statuses for its conditional
30
- // background refetch via `fetchTransactionCategorizationView`.
31
- actions.push(markTransactionAsNotMiscategorized(selectedTab, transactionsInReview, isUncategorizedExpenseCategoryEnabled, reviewStatuses), updateTransactionCategorizationSaveStatus(selectedTab, 'Completed', createZeniAPIStatus('Completed', 'Transaction categorization updated successfully')));
27
+ actions.push(markTransactionAsNotMiscategorized(selectedTab, transactionsInReview, isUncategorizedExpenseCategoryEnabled), updateTransactionCategorizationSaveStatus(selectedTab, 'Completed', createZeniAPIStatus('Completed', 'Transaction categorization updated successfully')));
32
28
  return from(actions);
33
29
  }
34
30
  else {