@zeniai/client-epic-state 5.1.7 → 5.1.8-betaSS1

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 (443) 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/workingDayHelper.d.ts +9 -0
  7. package/lib/commonStateTypes/workingDayHelper.js +28 -1
  8. package/lib/entity/aiCfo/aiCfoPayload.d.ts +63 -5
  9. package/lib/entity/aiCfo/aiCfoReducer.d.ts +23 -2
  10. package/lib/entity/aiCfo/aiCfoReducer.js +249 -9
  11. package/lib/entity/aiCfo/aiCfoSelector.d.ts +4 -1
  12. package/lib/entity/aiCfo/aiCfoSelector.js +19 -1
  13. package/lib/entity/aiCfo/aiCfoState.d.ts +97 -4
  14. package/lib/entity/aiCfo/aiCfoState.js +20 -1
  15. package/lib/entity/approvalRule/approvalRuleConflict.d.ts +56 -0
  16. package/lib/entity/approvalRule/approvalRuleConflict.js +77 -0
  17. package/lib/entity/approvalRule/approvalRulePayload.d.ts +34 -5
  18. package/lib/entity/approvalRule/approvalRulePayload.js +149 -10
  19. package/lib/entity/approvalRule/approvalRuleSelector.d.ts +25 -1
  20. package/lib/entity/approvalRule/approvalRuleSelector.js +40 -0
  21. package/lib/entity/approvalRule/approvalRuleState.d.ts +59 -7
  22. package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +277 -0
  23. package/lib/entity/cardPolicy/cardPolicyPayload.js +143 -0
  24. package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +19 -0
  25. package/lib/entity/cardPolicy/cardPolicyReducer.js +175 -0
  26. package/lib/entity/cardPolicy/cardPolicySelector.d.ts +32 -0
  27. package/lib/entity/cardPolicy/cardPolicySelector.js +99 -0
  28. package/lib/entity/cardPolicy/cardPolicyState.d.ts +205 -0
  29. package/lib/entity/cardPolicy/cardPolicyState.js +14 -0
  30. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.d.ts +18 -0
  31. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.js +68 -0
  32. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.d.ts +26 -0
  33. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +47 -0
  34. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +25 -0
  35. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +39 -0
  36. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +24 -0
  37. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +105 -0
  38. package/lib/entity/company/companyPayload.d.ts +4 -0
  39. package/lib/entity/company/companyPayload.js +6 -0
  40. package/lib/entity/company/companyStateTypes.d.ts +7 -0
  41. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +1 -0
  42. package/lib/entity/jeSchedules/jeSchedulesPayload.js +19 -0
  43. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +2 -0
  44. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
  45. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +1 -1
  46. package/lib/entity/paymentAccount/paymentAccountSelector.d.ts +1 -0
  47. package/lib/entity/paymentAccount/paymentAccountSelector.js +9 -0
  48. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  49. package/lib/entity/snackbar/snackbarTypes.js +5 -0
  50. package/lib/entity/task/taskPayload.d.ts +3 -1
  51. package/lib/entity/task/taskPayload.js +2 -0
  52. package/lib/entity/task/taskState.d.ts +2 -0
  53. package/lib/entity/tenant/clearAllEpic.d.ts +8 -2
  54. package/lib/entity/tenant/clearAllEpic.js +12 -0
  55. package/lib/entity/tenant/epic/deleteConnectionEpic.d.ts +1 -1
  56. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.d.ts +21 -0
  57. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.js +59 -0
  58. package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.d.ts +1 -1
  59. package/lib/entity/tenant/epic/saveConnectorCredentialsEpic.d.ts +3 -3
  60. package/lib/entity/tenant/epic/saveOAuthConnectionEpic.d.ts +1 -1
  61. package/lib/entity/tenant/tenantPayload.d.ts +3 -2
  62. package/lib/entity/tenant/tenantReducer.d.ts +44 -30
  63. package/lib/entity/tenant/tenantReducer.js +130 -29
  64. package/lib/entity/tenant/tenantState.d.ts +3 -2
  65. package/lib/entity/transaction/payloadTypes/transactionPayload.js +4 -2
  66. package/lib/epic.d.ts +32 -4
  67. package/lib/epic.js +33 -4
  68. package/lib/esm/commonStateTypes/amount.js +7 -0
  69. package/lib/esm/commonStateTypes/animations.js +1 -0
  70. package/lib/esm/commonStateTypes/workingDayHelper.js +26 -0
  71. package/lib/esm/entity/aiCfo/aiCfoReducer.js +249 -9
  72. package/lib/esm/entity/aiCfo/aiCfoSelector.js +17 -1
  73. package/lib/esm/entity/aiCfo/aiCfoState.js +17 -0
  74. package/lib/esm/entity/approvalRule/approvalRuleConflict.js +74 -0
  75. package/lib/esm/entity/approvalRule/approvalRulePayload.js +149 -10
  76. package/lib/esm/entity/approvalRule/approvalRuleSelector.js +35 -0
  77. package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +130 -0
  78. package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +171 -0
  79. package/lib/esm/entity/cardPolicy/cardPolicySelector.js +75 -0
  80. package/lib/esm/entity/cardPolicy/cardPolicyState.js +9 -0
  81. package/lib/esm/entity/cardPolicy/extractPolicyDocumentEpic.js +64 -0
  82. package/lib/esm/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +43 -0
  83. package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +35 -0
  84. package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +101 -0
  85. package/lib/esm/entity/company/companyPayload.js +6 -0
  86. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +19 -0
  87. package/lib/esm/entity/paymentAccount/paymentAccountSelector.js +8 -0
  88. package/lib/esm/entity/snackbar/snackbarTypes.js +5 -0
  89. package/lib/esm/entity/task/taskPayload.js +2 -0
  90. package/lib/esm/entity/tenant/clearAllEpic.js +12 -0
  91. package/lib/esm/entity/tenant/epic/initEmailConnectOAuthEpic.js +55 -0
  92. package/lib/esm/entity/tenant/tenantReducer.js +128 -27
  93. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +4 -2
  94. package/lib/esm/epic.js +33 -4
  95. package/lib/esm/index.js +70 -29
  96. package/lib/esm/reducer.js +18 -0
  97. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +6 -3
  98. package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  99. package/lib/esm/view/aiCfoView/epics/createSessionEpic.js +2 -1
  100. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  101. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +39 -11
  102. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +14 -4
  103. package/lib/esm/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +38 -0
  104. package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  105. package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +16 -0
  106. package/lib/esm/view/companyView/companyViewReducer.js +11 -10
  107. package/lib/esm/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.js +5 -5
  108. package/lib/esm/view/companyView/epic/companyPassport/{updateCapitalizationThresholdEpic.js → updateCapitalizationAccountThresholdEpic.js} +38 -19
  109. package/lib/esm/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  110. package/lib/esm/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -3
  111. package/lib/esm/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +4 -3
  112. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +12 -13
  113. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +19 -3
  114. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +19 -9
  115. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +2 -2
  116. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +13 -2
  117. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +6 -2
  118. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -2
  119. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +6 -2
  120. package/lib/esm/view/expenseAutomationView/expenseAutomationViewReducer.js +20 -3
  121. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +48 -8
  122. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +6 -5
  123. package/lib/esm/view/fileView/epic/deleteFileEpic.js +2 -2
  124. package/lib/esm/view/fileView/epic/deleteFileListEpic.js +2 -2
  125. package/lib/esm/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +40 -0
  126. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +29 -0
  127. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +40 -0
  128. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic.js +24 -18
  129. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.js +29 -17
  130. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewReducer.js +223 -51
  131. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewSelector.js +36 -18
  132. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewState.js +45 -6
  133. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +22 -2
  134. package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +14 -0
  135. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +109 -12
  136. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +10 -2
  137. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +8 -4
  138. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +11 -7
  139. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +54 -0
  140. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +13 -4
  141. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +144 -16
  142. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +60 -4
  143. package/lib/esm/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +8 -2
  144. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +29 -0
  145. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +78 -0
  146. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +49 -0
  147. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +47 -0
  148. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +32 -0
  149. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +32 -0
  150. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +54 -0
  151. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +92 -0
  152. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +212 -0
  153. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +10 -0
  154. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +23 -0
  155. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +36 -0
  156. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +27 -0
  157. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +28 -0
  158. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +52 -0
  159. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +22 -0
  160. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +1 -0
  161. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +36 -0
  162. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +39 -0
  163. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +34 -0
  164. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +71 -0
  165. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +21 -0
  166. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +1 -0
  167. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +38 -0
  168. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +289 -0
  169. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +109 -0
  170. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +44 -0
  171. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +111 -0
  172. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +25 -0
  173. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +363 -0
  174. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +36 -0
  175. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +19 -0
  176. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +6 -0
  177. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +119 -0
  178. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +154 -0
  179. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +22 -0
  180. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +1 -0
  181. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +49 -0
  182. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +140 -0
  183. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +20 -0
  184. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +100 -0
  185. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +96 -0
  186. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +59 -0
  187. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +24 -0
  188. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +25 -0
  189. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +1 -0
  190. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +34 -0
  191. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +57 -0
  192. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +35 -0
  193. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +2 -2
  194. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +42 -4
  195. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +35 -0
  196. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +62 -0
  197. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +44 -0
  198. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +58 -0
  199. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +77 -0
  200. package/lib/esm/view/spendManagement/commonSetup/kycKybAutofillActions.js +14 -0
  201. package/lib/esm/view/spendManagement/commonSetup/kycKybParseMapper.js +221 -0
  202. package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +106 -52
  203. package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +6 -1
  204. package/lib/esm/view/spendManagement/commonSetup/types/kycKybAutofill.js +41 -0
  205. package/lib/esm/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +5 -1
  206. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +10 -2
  207. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +8 -2
  208. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +11 -7
  209. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +61 -0
  210. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +13 -4
  211. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +80 -11
  212. package/lib/index.d.ts +86 -36
  213. package/lib/index.js +268 -35
  214. package/lib/reducer.d.ts +18 -0
  215. package/lib/reducer.js +18 -0
  216. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +11 -2
  217. package/lib/view/aiCfoView/aiCfoViewReducer.js +6 -3
  218. package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  219. package/lib/view/aiCfoView/epics/createSessionEpic.js +2 -1
  220. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +8 -1
  221. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  222. package/lib/view/companyTaskManagerView/companyTaskManagerViewPayload.d.ts +19 -11
  223. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +11 -5
  224. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +40 -12
  225. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +2 -0
  226. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +13 -3
  227. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +11 -3
  228. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.d.ts +10 -0
  229. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +42 -0
  230. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.d.ts +1 -3
  231. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  232. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.d.ts +6 -0
  233. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +20 -0
  234. package/lib/view/companyView/companyViewReducer.d.ts +8 -7
  235. package/lib/view/companyView/companyViewReducer.js +12 -11
  236. package/lib/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.js +5 -5
  237. package/lib/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.d.ts +10 -0
  238. package/lib/view/companyView/epic/companyPassport/{updateCapitalizationThresholdEpic.js → updateCapitalizationAccountThresholdEpic.js} +38 -19
  239. package/lib/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  240. package/lib/view/companyView/types/cockpitTypes.d.ts +3 -2
  241. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -3
  242. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +4 -3
  243. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.d.ts +0 -6
  244. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +13 -14
  245. package/lib/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +19 -3
  246. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +19 -9
  247. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +2 -2
  248. package/lib/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +13 -2
  249. package/lib/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +6 -2
  250. package/lib/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -2
  251. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +6 -2
  252. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +6 -2
  253. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.js +20 -3
  254. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  255. package/lib/view/expenseAutomationView/payload/transactionCategorizationPayload.d.ts +9 -20
  256. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +18 -9
  257. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +48 -8
  258. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +5 -4
  259. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +1 -1
  260. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +6 -5
  261. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
  262. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +3 -2
  263. package/lib/view/fileView/epic/deleteFileEpic.js +1 -1
  264. package/lib/view/fileView/epic/deleteFileListEpic.js +1 -1
  265. package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.d.ts +7 -0
  266. package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +44 -0
  267. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.d.ts +8 -0
  268. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +33 -0
  269. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.d.ts +9 -0
  270. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +44 -0
  271. package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic.js +24 -18
  272. package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.d.ts +2 -2
  273. package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.js +27 -15
  274. package/lib/view/onboardingView/customerView/onboardingCustomerViewPayload.d.ts +3 -0
  275. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +44 -5
  276. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.js +225 -52
  277. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.d.ts +6 -1
  278. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +39 -18
  279. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.d.ts +53 -8
  280. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.js +47 -7
  281. package/lib/view/people/peopleTypes.d.ts +1 -1
  282. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  283. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.d.ts +8 -1
  284. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +21 -1
  285. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.d.ts +22 -0
  286. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.d.ts +7 -0
  287. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +14 -0
  288. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.d.ts +14 -3
  289. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +110 -13
  290. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewState.d.ts +16 -0
  291. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +10 -2
  292. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +8 -4
  293. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +10 -6
  294. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.d.ts +23 -0
  295. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +58 -0
  296. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +12 -3
  297. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.d.ts +59 -1
  298. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +146 -17
  299. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonState.d.ts +31 -5
  300. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +8 -1
  301. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +60 -4
  302. package/lib/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +8 -2
  303. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.d.ts +47 -0
  304. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +34 -0
  305. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.d.ts +23 -0
  306. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +82 -0
  307. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.d.ts +40 -0
  308. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +53 -0
  309. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.d.ts +37 -0
  310. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +53 -0
  311. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.d.ts +14 -0
  312. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +36 -0
  313. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.d.ts +7 -0
  314. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +36 -0
  315. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.d.ts +56 -0
  316. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +60 -0
  317. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.d.ts +22 -0
  318. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +96 -0
  319. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.d.ts +59 -0
  320. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +217 -0
  321. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.d.ts +122 -0
  322. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +13 -0
  323. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.d.ts +7 -0
  324. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +27 -0
  325. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.d.ts +9 -0
  326. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +40 -0
  327. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.d.ts +7 -0
  328. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +31 -0
  329. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.d.ts +15 -0
  330. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +32 -0
  331. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.d.ts +14 -0
  332. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +56 -0
  333. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.d.ts +15 -0
  334. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +28 -0
  335. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.d.ts +8 -0
  336. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +2 -0
  337. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.d.ts +8 -0
  338. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +40 -0
  339. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.d.ts +8 -0
  340. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +43 -0
  341. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.d.ts +8 -0
  342. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +38 -0
  343. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.d.ts +15 -0
  344. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +75 -0
  345. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.d.ts +15 -0
  346. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +27 -0
  347. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.d.ts +7 -0
  348. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +2 -0
  349. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.d.ts +8 -0
  350. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +42 -0
  351. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.d.ts +8 -0
  352. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +294 -0
  353. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.d.ts +8 -0
  354. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +113 -0
  355. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.d.ts +9 -0
  356. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +48 -0
  357. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.d.ts +8 -0
  358. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +115 -0
  359. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.d.ts +13 -0
  360. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +29 -0
  361. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.d.ts +14 -0
  362. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +369 -0
  363. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.d.ts +6 -0
  364. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +40 -0
  365. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.d.ts +7 -0
  366. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +26 -0
  367. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.d.ts +116 -0
  368. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +10 -0
  369. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.d.ts +33 -0
  370. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +126 -0
  371. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +52 -0
  372. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +158 -0
  373. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +11 -0
  374. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +31 -0
  375. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +12 -0
  376. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +2 -0
  377. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +9 -0
  378. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +53 -0
  379. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.d.ts +10 -0
  380. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +144 -0
  381. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.d.ts +7 -0
  382. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +24 -0
  383. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.d.ts +11 -0
  384. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +104 -0
  385. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.d.ts +22 -0
  386. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +100 -0
  387. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.d.ts +8 -0
  388. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +63 -0
  389. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.d.ts +3 -0
  390. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +28 -0
  391. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  392. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +14 -0
  393. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +27 -1
  394. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.d.ts +34 -0
  395. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +2 -0
  396. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.d.ts +7 -0
  397. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +38 -0
  398. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.d.ts +12 -0
  399. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +61 -0
  400. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.d.ts +9 -0
  401. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +39 -0
  402. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.d.ts +2 -2
  403. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +1 -1
  404. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.d.ts +12 -2
  405. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +43 -5
  406. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.d.ts +7 -0
  407. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +42 -1
  408. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardState.d.ts +5 -0
  409. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts +11 -0
  410. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +66 -0
  411. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.d.ts +3 -0
  412. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +48 -0
  413. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.d.ts +28 -0
  414. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +62 -0
  415. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.d.ts +9 -0
  416. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +81 -0
  417. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.d.ts +24 -0
  418. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.js +17 -0
  419. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.d.ts +29 -0
  420. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.js +229 -0
  421. package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +28 -2
  422. package/lib/view/spendManagement/commonSetup/setupViewReducer.js +107 -53
  423. package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +7 -2
  424. package/lib/view/spendManagement/commonSetup/setupViewSelector.js +6 -1
  425. package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +19 -0
  426. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.d.ts +154 -0
  427. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.js +46 -0
  428. package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +5 -1
  429. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +10 -2
  430. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +8 -2
  431. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +10 -6
  432. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.d.ts +14 -0
  433. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +65 -0
  434. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +12 -3
  435. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.d.ts +14 -3
  436. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +81 -12
  437. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewState.d.ts +12 -0
  438. package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
  439. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +1 -1
  440. package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +1 -1
  441. package/lib/zeniAPI.d.ts +1 -0
  442. package/package.json +6 -4
  443. package/lib/view/companyView/epic/companyPassport/updateCapitalizationThresholdEpic.d.ts +0 -10
@@ -2,21 +2,35 @@ import { from } from 'rxjs';
2
2
  import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
3
3
  import { updateCompanies } from '../../../../entity/company/companyReducer';
4
4
  import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
5
- import { updateTenantCapitalizationOnboardingDismissed, updateTenantCapitalizationThreshold, } from '../../../../entity/tenant/tenantReducer';
5
+ import { updateTenantCapitalizationAccountOverride, updateTenantCapitalizationOnboardingDismissed, } from '../../../../entity/tenant/tenantReducer';
6
6
  import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
7
- import { updateCapitalizationThreshold, updateCapitalizationThresholdFailure, updateCapitalizationThresholdSuccess, } from '../../companyViewReducer';
8
- export const updateCapitalizationThresholdEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(updateCapitalizationThreshold.match), switchMap((action) => {
9
- const { companyId, capitalizationThreshold, capitalizationThresholdMaxCeiling, dismissOnboardingForPopupType, } = action.payload;
7
+ import { updateCapitalizationAccountThreshold, updateCapitalizationAccountThresholdFailure, updateCapitalizationAccountThresholdSuccess, } from '../../companyViewReducer';
8
+ export const updateCapitalizationAccountThresholdEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(updateCapitalizationAccountThreshold.match), switchMap((action) => {
9
+ const { companyId, accountId, threshold, dismissOnboardingForAccount, allOverrides, } = action.payload;
10
10
  const tenantId = Object.values(state$.value.tenantState.tenantsById).find((t) => t.companyId === companyId)?.tenantId;
11
+ let finalOverrides;
12
+ if (allOverrides !== undefined) {
13
+ finalOverrides = allOverrides ?? {};
14
+ }
15
+ else {
16
+ finalOverrides = {
17
+ ...(tenantId != null
18
+ ? state$.value.tenantState.tenantsById[tenantId]
19
+ ?.capitalizableAccountOverrides
20
+ : {}),
21
+ };
22
+ if (threshold === null) {
23
+ delete finalOverrides[accountId];
24
+ }
25
+ else {
26
+ finalOverrides[accountId] = threshold;
27
+ }
28
+ }
11
29
  const body = {
12
- capitalization_threshold: capitalizationThreshold,
13
- capitalization_threshold_max_ceiling: capitalizationThresholdMaxCeiling,
30
+ capitalizable_account_overrides: Object.keys(finalOverrides).length > 0 ? finalOverrides : null,
14
31
  };
15
- if (dismissOnboardingForPopupType === 'prepaid') {
16
- body.capitalization_onboarding_shown_for_prepaid = true;
17
- }
18
- else if (dismissOnboardingForPopupType === 'fixed_asset') {
19
- body.capitalization_onboarding_shown_for_fixed_asset = true;
32
+ if (dismissOnboardingForAccount === true) {
33
+ body.capitalization_onboarding_dismissed_accounts = { [accountId]: true };
20
34
  }
21
35
  return zeniAPI
22
36
  .putAndGetJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}`, body)
@@ -31,19 +45,24 @@ export const updateCapitalizationThresholdEpic = (actions$, state$, zeniAPI) =>
31
45
  }));
32
46
  }
33
47
  if (tenantId != null) {
34
- actions.push(updateTenantCapitalizationThreshold({
48
+ actions.push(updateTenantCapitalizationAccountOverride({
35
49
  tenantId,
36
- capitalizationThreshold,
37
- capitalizationThresholdMaxCeiling,
50
+ accountId,
51
+ threshold,
52
+ allOverrides: allOverrides !== undefined
53
+ ? Object.keys(finalOverrides).length > 0
54
+ ? finalOverrides
55
+ : null
56
+ : undefined,
38
57
  }));
39
- if (dismissOnboardingForPopupType != null) {
58
+ if (dismissOnboardingForAccount === true) {
40
59
  actions.push(updateTenantCapitalizationOnboardingDismissed({
41
60
  tenantId,
42
- popupType: dismissOnboardingForPopupType,
61
+ accountId,
43
62
  }));
44
63
  }
45
64
  }
46
- actions.push(updateCapitalizationThresholdSuccess());
65
+ actions.push(updateCapitalizationAccountThresholdSuccess());
47
66
  actions.push(openSnackbar({
48
67
  messageSection: 'capitalization_threshold_update',
49
68
  messageText: 'success',
@@ -53,7 +72,7 @@ export const updateCapitalizationThresholdEpic = (actions$, state$, zeniAPI) =>
53
72
  }
54
73
  else {
55
74
  return from([
56
- updateCapitalizationThresholdFailure({
75
+ updateCapitalizationAccountThresholdFailure({
57
76
  status: response.status,
58
77
  }),
59
78
  openSnackbar({
@@ -64,7 +83,7 @@ export const updateCapitalizationThresholdEpic = (actions$, state$, zeniAPI) =>
64
83
  ]);
65
84
  }
66
85
  }), catchError((error) => from([
67
- updateCapitalizationThresholdFailure({
86
+ updateCapitalizationAccountThresholdFailure({
68
87
  status: createZeniAPIStatus('Unexpected error', 'Update Capitalization Threshold errored out' +
69
88
  (error instanceof Error
70
89
  ? error.message
@@ -21,7 +21,7 @@ export const fetchAllCockpitViewsEpic = (actions$, state$) => actions$.pipe(filt
21
21
  fetchReviewCompanyView(),
22
22
  fetchCompanyHealthMetricView(),
23
23
  fetchCompanyMetaData(),
24
- fetchCompanyTaskManagerView(null, 'dueDate', 'descending', false),
24
+ fetchCompanyTaskManagerView(0, 'dueDate', 'descending', false),
25
25
  fetchCompanyHealthMetricConfig(),
26
26
  ]);
27
27
  }
@@ -74,7 +74,7 @@ export const fetchAllCockpitViewsEpic = (actions$, state$) => actions$.pipe(filt
74
74
  }
75
75
  if (state.companyTaskManagerViewState.fetchState !== 'In-Progress' &&
76
76
  state.companyTaskManagerViewState.hasValidState() === false) {
77
- fetchActions.push(fetchCompanyTaskManagerView(null, 'dueDate', 'descending', false));
77
+ fetchActions.push(fetchCompanyTaskManagerView(0, 'dueDate', 'descending', false));
78
78
  }
79
79
  return from(fetchActions);
80
80
  }
@@ -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, } = action.payload;
12
+ const { cacheOverride, refreshViewInBackground, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses, } = 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), fetchMissingReceipts({ start: timePeriodStart, end: timePeriodEnd }, {
33
+ actions.push(fetchTransactionCategorizationView(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, cacheOverride, false, undefined, undefined, refreshViewInBackground, false, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses), 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));
86
+ fetchActions.push(fetchTransactionCategorizationView(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, cacheOverride, false, undefined, undefined, refreshViewInBackground, false, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses));
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 { isUncategorizedExpenseCategoryEnabled } = action.payload;
13
+ const { countOnlyStatuses, isUncategorizedExpenseCategoryEnabled, statuses, } = action.payload;
14
14
  const state = state$.value;
15
15
  const currentTenant = getCurrentTenant(state);
16
16
  const companyId = currentTenant.companyId;
@@ -61,9 +61,10 @@ 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),
66
+ fetchTransactionCategorizationView(selectedTransactionCategorizationTab, { start: timePeriodStart, end: timePeriodEnd }, true, false, undefined, undefined, true, undefined, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses),
67
67
  ]);
68
+ }
68
69
  }
69
70
  }));
@@ -5,14 +5,9 @@ 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';
9
8
  import { toTransactionsSortKey } from '../../types/transactionsViewState';
10
9
  /**
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;
10
+
16
11
  /** Inclusive rolling window for manual match search (ignores accounting period picker). */
17
12
  const MANUAL_SEARCH_TRANSACTION_DATE_RANGE_DAYS = 90;
18
13
  export const searchTransactionsForManualMatchEpic = (actions$, state$, zeniAPI) => {
@@ -41,20 +36,24 @@ export const searchTransactionsForManualMatchEpic = (actions$, state$, zeniAPI)
41
36
  const queryParam = {
42
37
  start_date: start,
43
38
  end_date: end,
44
- auto_categorized: MANUAL_TRANSACTION_SEARCH_AUTO_CATEGORIZED,
45
39
  sort_by: toTransactionsSortKey(manualSearchSortKey),
46
40
  sort_order: manualSearchSortOrder === 'ascending' ? 'asc' : 'desc',
47
41
  page_token: pageToken ?? null,
48
42
  page_size: manualSearch.pageSize,
49
43
  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,
55
44
  };
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
+ // #region agent log
53
+ fetch('http://127.0.0.1:7755/ingest/4e987812-899d-4b9b-8ed6-a799cd019b33', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': 'f3bde0' }, body: JSON.stringify({ sessionId: 'f3bde0', hypothesisId: 'D', location: 'searchTransactionsForManualMatchEpic.ts:117', message: 'searchTransactionsForManualMatchEpic firing API', data: { query, pageToken, start: queryParam.start_date, end: queryParam.end_date, stack: (new Error().stack || '').split('\n').slice(1, 10).join(' | ') }, timestamp: Date.now() }) }).catch(() => { });
54
+ // #endregion
56
55
  return zeniAPI
57
- .getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
56
+ .getJSON(`https://dev.api.zeni.ai/version/accounting/shubham/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
58
57
  .pipe(mergeMap((response) => {
59
58
  if (isSuccessResponse(response) && response.data != null) {
60
59
  const { transactions, next_page_token, total_count } = response.data;
@@ -10,8 +10,14 @@ 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 } = action.payload;
13
+ const { period, isUncategorizedExpenseCategoryEnabled, reviewStatuses } = 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'];
15
21
  const currentTenant = getCurrentTenant(state);
16
22
  const selectedPeriod = state.expenseAutomationViewState.selectedPeriodByTenantId[currentTenant.tenantId];
17
23
  const reviewUiState = state.expenseAutomationTransactionsViewState
@@ -21,14 +27,24 @@ export const backgroundRefetchReviewTabEpic = (actions$, state$, zeniAPI) => act
21
27
  const queryParam = {
22
28
  start_date: toString(period.start),
23
29
  end_date: toString(period.end),
24
- auto_categorized: false,
25
30
  sort_by: toTransactionsSortKey(reviewUiState.sortKey),
26
31
  sort_order: reviewUiState.sortOrder === 'ascending' ? 'asc' : 'desc',
27
32
  page_token: pageToken,
28
33
  page_size: PAGE_SIZE,
29
34
  search_text: reviewUiState.searchString,
35
+ statuses: effectiveReviewStatuses,
30
36
  };
31
- return zeniAPI.getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`);
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
+ // #region agent log
45
+ fetch('http://127.0.0.1:7755/ingest/4e987812-899d-4b9b-8ed6-a799cd019b33', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': 'f3bde0' }, body: JSON.stringify({ sessionId: 'f3bde0', hypothesisId: 'E', location: 'backgroundRefetchReviewTabEpic.ts:112', message: 'backgroundRefetchReviewTabEpic firing API', data: { pageToken, effectiveReviewStatuses, start: queryParam.start_date, end: queryParam.end_date, stack: (new Error().stack || '').split('\n').slice(1, 10).join(' | ') }, timestamp: Date.now() }) }).catch(() => { });
46
+ // #endregion
47
+ return zeniAPI.getJSON(`https://dev.api.zeni.ai/version/accounting/shubham/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`);
32
48
  };
33
49
  return fetchPage(null).pipe(expand((response) => {
34
50
  if (!isSuccessResponse(response) || response.data == null) {
@@ -6,11 +6,10 @@ 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';
10
9
  import { TRANSACTIONS_TABS, toTransactionsSortKey, } from '../../types/transactionsViewState';
11
10
  export const fetchTransactionCategorizationEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchTransactionCategorization.match), switchMap((action) => {
12
11
  const { expenseAutomationViewState: { selectedPeriodByTenantId }, expenseAutomationTransactionsViewState, } = state$.value;
13
- const { period, keepExistingListItems, selectedTab, refreshViewInBackground, } = action.payload;
12
+ const { period, keepExistingListItems, selectedTab, refreshViewInBackground, statuses, countOnlyStatuses, } = action.payload;
14
13
  const uiState = expenseAutomationTransactionsViewState.transactionCategorizationView[selectedTab].uiState;
15
14
  const { pageToken, sortOrder, sortKey } = uiState;
16
15
  const currentTenant = getCurrentTenant(state$.value);
@@ -18,18 +17,26 @@ export const fetchTransactionCategorizationEpic = (actions$, state$, zeniAPI) =>
18
17
  const queryParam = {
19
18
  start_date: toString(period.start),
20
19
  end_date: toString(period.end),
21
- auto_categorized: selectedTab === 'autoCategorized',
22
20
  sort_by: toTransactionsSortKey(sortKey),
23
21
  sort_order: sortOrder === 'ascending' ? 'asc' : 'desc',
24
22
  page_token: pageToken,
25
23
  page_size: 25,
26
24
  search_text: uiState.searchString,
27
- sub_tab: selectedTab === 'autoCategorized'
28
- ? expenseAutomationTransactionsViewState.selectedTransactionCategorizationCompletedSubTab
29
- : DEFAULT_COMPLETED_SUB_TAB,
25
+ statuses,
26
+ count_only_statuses: countOnlyStatuses,
30
27
  };
28
+ // #region agent log
29
+ fetch('http://127.0.0.1:7755/ingest/4e987812-899d-4b9b-8ed6-a799cd019b33', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': 'f3bde0' }, body: JSON.stringify({ sessionId: 'f3bde0', hypothesisId: 'A/B/C', location: 'fetchTransactionCategorizationEpic.ts:84', message: 'fetchTransactionCategorizationEpic firing API', data: { selectedTab, incomingStatuses: statuses, incomingCountOnlyStatuses: countOnlyStatuses, refreshViewInBackground, keepExistingListItems, searchString: uiState.searchString, pageToken, start: toString(period.start), end: toString(period.end), statusesIsUndefined: statuses === undefined, stack: (new Error().stack || '').split('\n').slice(1, 10).join(' | ') }, timestamp: Date.now() }) }).catch(() => { });
30
+ // #endregion
31
+ // BETA TEST — Shubham dev namespace for transaction-categorization
32
+ // `statuses` / `count_only_statuses` rollout. Revert before merge by
33
+ // restoring `${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}` in
34
+ // place of the hardcoded base. Mirrored in
35
+ // `backgroundRefetchReviewTabEpic.ts` and
36
+ // `searchTransactionsForManualMatchEpic.ts` — grep `BETA TEST` to
37
+ // find every override site.
31
38
  return zeniAPI
32
- .getJSON(`${zeniAPI.apiEndPoints.accountMicroServiceBaseUrl}/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
39
+ .getJSON(`https://dev.api.zeni.ai/version/accounting/shubham/1.0/expense-automation/transactions?query=${encodeURIComponent(JSON.stringify(queryParam))}`)
33
40
  .pipe(mergeMap((response) => {
34
41
  if (isSuccessResponse(response) && response.data != null) {
35
42
  const updateActions = [];
@@ -52,8 +59,11 @@ export const fetchTransactionCategorizationEpic = (actions$, state$, zeniAPI) =>
52
59
  updateActions.push(updateParentTotalCountForTab({
53
60
  selectedPeriod,
54
61
  selectedTab,
55
- parentTotalCount: response.data.parent_tab_total_count ??
56
- response.data.total_count,
62
+ // Optional — present only when the request supplied
63
+ // `count_only_statuses`. The reducer no-ops on undefined so
64
+ // any cached parent badge stays intact across scoped
65
+ // fetches (sort changes, pagination, etc.).
66
+ parentTotalCount: response.data.count_only_total,
57
67
  }));
58
68
  updateActions.push(resetOtherTabsFetchState({
59
69
  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, } = action.payload;
11
+ const { selectedTab, cacheOverride, keepExistingListItems, pageToken, period, refreshViewInBackground, searchString, resetListItems, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses, } = 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));
45
+ updateActions.push(fetchTransactionCategorization(selectedTab, period, cacheOverride, keepExistingListItems, searchString, pageToken, refreshViewInBackground, resetListItems, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses));
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, } = action.payload;
13
+ const { transactionsInReview, selectedTab, isUncategorizedExpenseCategoryEnabled, reviewStatuses: reviewStatusesFromAction, } = 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,9 +105,20 @@ 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
+ ];
108
119
  actions.push(fetchTransactionCategorizationView('review', { start: timePeriodStart, end: timePeriodEnd }, true, // cacheOverride = true to force refresh
109
120
  false, undefined, undefined, true, // refreshViewInBackground
110
- false, isUncategorizedExpenseCategoryEnabled));
121
+ false, isUncategorizedExpenseCategoryEnabled, reviewStatuses));
111
122
  }
112
123
  }
113
124
  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, } = action.payload;
9
+ const { transactionIds, cotTrackingByTransactionId, selectedTab, isUncategorizedExpenseCategoryEnabled, reviewStatuses, } = action.payload;
10
10
  const fetchActions = [];
11
11
  const { transactionState, expenseAutomationTransactionsViewState } = state$.value;
12
12
  const transactionSaveUpdates = [];
@@ -19,6 +19,10 @@ export const saveTransactionCategorizationEpic = (actions$, state$) => actions$.
19
19
  transactionSaveUpdates.push(toTransactionUpdatesFromTransactionCategorizationLocalData(localData, transaction, uncategorizedIncomeExpense));
20
20
  }
21
21
  });
22
- fetchActions.push(updateTransactionCategorization(selectedTab, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled));
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));
23
27
  return from(fetchActions);
24
28
  }));
@@ -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, } = action.payload;
7
+ const { pendingReviewLineIds, transactionId, isUncategorizedExpenseCategoryEnabled, reviewStatuses, } = 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));
26
+ return of(backgroundRefetchReviewTab({ start: timePeriodStart, end: timePeriodEnd }, isUncategorizedExpenseCategoryEnabled, reviewStatuses));
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, } = action.payload;
18
+ const { selectedTab, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled, reviewStatuses, } = 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,7 +24,11 @@ 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
- actions.push(markTransactionAsNotMiscategorized(selectedTab, transactionsInReview, isUncategorizedExpenseCategoryEnabled), updateTransactionCategorizationSaveStatus(selectedTab, 'Completed', createZeniAPIStatus('Completed', 'Transaction categorization updated successfully')));
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')));
28
32
  return from(actions);
29
33
  }
30
34
  else {
@@ -18,20 +18,37 @@ const expenseAutomationView = createSlice({
18
18
  reducer() {
19
19
  //do nothing
20
20
  },
21
- prepare(cacheOverride = false, refreshViewInBackground = false, isUncategorizedExpenseCategoryEnabled = false) {
21
+ /**
22
+ * `statuses` / `countOnlyStatuses` carry the Statsig-resolved values
23
+ * for the currently selected transaction-categorization tab. The
24
+ * host (`ExpenseAutomationScreen`) resolves them via
25
+ * `useDynamicConfig` + `resolveTransactionCategorizationStatuses`
26
+ * and passes them in so the downstream bootstrap fetch hits the
27
+ * listing API with the correct status filter. Optional only as a
28
+ * defensive type concession for non-categorization callers (the
29
+ * action is also used to bootstrap the missing-receipts / reconciliation
30
+ * / month-end views, which don't consume these args).
31
+ */
32
+ prepare(cacheOverride = false, refreshViewInBackground = false, isUncategorizedExpenseCategoryEnabled = false, statuses, countOnlyStatuses) {
22
33
  return {
23
34
  payload: {
24
35
  cacheOverride,
25
36
  refreshViewInBackground,
26
37
  isUncategorizedExpenseCategoryEnabled,
38
+ statuses,
39
+ countOnlyStatuses,
27
40
  },
28
41
  };
29
42
  },
30
43
  },
31
44
  refreshExpenseAutomationCurrentTab: {
32
- prepare(isUncategorizedExpenseCategoryEnabled) {
45
+ prepare(isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses) {
33
46
  return {
34
- payload: { isUncategorizedExpenseCategoryEnabled },
47
+ payload: {
48
+ isUncategorizedExpenseCategoryEnabled,
49
+ statuses,
50
+ countOnlyStatuses,
51
+ },
35
52
  };
36
53
  },
37
54
  reducer() {
@@ -121,7 +121,7 @@ const expenseAutomationTransactionsView = createSlice({
121
121
  reducers: {
122
122
  fetchTransactionCategorizationView: {
123
123
  prepare(selectedTab, period, cacheOverride = false, keepExistingListItems = false, searchString, // when this is defined the output should go to search result IDs
124
- pageToken, refreshViewInBackground = false, resetListItems = false, isUncategorizedExpenseCategoryEnabled) {
124
+ pageToken, refreshViewInBackground = false, resetListItems = false, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses) {
125
125
  return {
126
126
  payload: {
127
127
  selectedTab,
@@ -133,6 +133,8 @@ const expenseAutomationTransactionsView = createSlice({
133
133
  refreshViewInBackground,
134
134
  resetListItems,
135
135
  isUncategorizedExpenseCategoryEnabled,
136
+ statuses,
137
+ countOnlyStatuses,
136
138
  },
137
139
  };
138
140
  },
@@ -181,7 +183,7 @@ const expenseAutomationTransactionsView = createSlice({
181
183
  }
182
184
  },
183
185
  prepare(selectedTab, period, cacheOverride = false, keepExistingListItems = false, searchString, // when this is defined the output should go to search result IDs
184
- pageToken, refreshViewInBackground = false, resetListItems, isUncategorizedExpenseCategoryEnabled) {
186
+ pageToken, refreshViewInBackground = false, resetListItems, isUncategorizedExpenseCategoryEnabled, statuses, countOnlyStatuses) {
185
187
  return {
186
188
  payload: {
187
189
  selectedTab,
@@ -193,6 +195,8 @@ const expenseAutomationTransactionsView = createSlice({
193
195
  refreshViewInBackground,
194
196
  resetListItems,
195
197
  isUncategorizedExpenseCategoryEnabled,
198
+ statuses,
199
+ countOnlyStatuses,
196
200
  },
197
201
  };
198
202
  },
@@ -311,13 +315,25 @@ const expenseAutomationTransactionsView = createSlice({
311
315
  draft.transactionCategorizationView[selectedTab].filters = filters;
312
316
  },
313
317
  saveTransactionCategorization: {
314
- prepare(selectedTab, transactionIds, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled) {
318
+ /**
319
+ * `reviewStatuses` carries the Statsig-resolved Review-tab statuses
320
+ * forwarded by `ExpenseAutomationScreen`.
321
+ * `saveTransactionCategorizationEpic` threads them downstream into
322
+ * `updateTransactionCategorization` -> `markTransactionAsNotMiscategorized`
323
+ * so the conditional background Review-tab refetch in
324
+ * `markTransactionAsNotMiscategorizedEpic` can request the correct
325
+ * status set without reading Statsig from epic-land. Optional during
326
+ * the deprecation window so un-migrated callers continue to work via
327
+ * slice fallback.
328
+ */
329
+ prepare(selectedTab, transactionIds, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled, reviewStatuses) {
315
330
  return {
316
331
  payload: {
317
332
  selectedTab,
318
333
  transactionIds,
319
334
  cotTrackingByTransactionId,
320
335
  isUncategorizedExpenseCategoryEnabled,
336
+ reviewStatuses,
321
337
  },
322
338
  };
323
339
  },
@@ -391,9 +407,16 @@ const expenseAutomationTransactionsView = createSlice({
391
407
  fetchState: 'In-Progress',
392
408
  };
393
409
  },
394
- prepare(selectedTab, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled) {
410
+ /**
411
+ * `reviewStatuses` carries the Statsig-resolved Review-tab statuses
412
+ * forwarded from `saveTransactionCategorization`.
413
+ * `updateTransactionCategorizationEpic` threads them downstream into
414
+ * `markTransactionAsNotMiscategorized`.
415
+ */
416
+ prepare(selectedTab, transactionIds, transactionSaveUpdates, cotTrackingByTransactionId, isUncategorizedExpenseCategoryEnabled, reviewStatuses) {
395
417
  return {
396
418
  payload: {
419
+ reviewStatuses,
397
420
  selectedTab,
398
421
  transactionIds,
399
422
  transactionSaveUpdates,
@@ -858,12 +881,20 @@ const expenseAutomationTransactionsView = createSlice({
858
881
  error: undefined,
859
882
  };
860
883
  },
861
- prepare(selectedTab, transactionsInReview, isUncategorizedExpenseCategoryEnabled) {
884
+ /**
885
+ * `reviewStatuses` carries the Statsig-resolved Review-tab statuses
886
+ * forwarded from the EA-screen save chain.
887
+ * `markTransactionAsNotMiscategorizedEpic` reads this payload value
888
+ * when dispatching the conditional background Review-tab refetch via
889
+ * `fetchTransactionCategorizationView`.
890
+ */
891
+ prepare(selectedTab, transactionsInReview, isUncategorizedExpenseCategoryEnabled, reviewStatuses) {
862
892
  return {
863
893
  payload: {
864
894
  selectedTab,
865
895
  transactionsInReview,
866
896
  isUncategorizedExpenseCategoryEnabled,
897
+ reviewStatuses,
867
898
  },
868
899
  };
869
900
  },
@@ -921,10 +952,17 @@ const expenseAutomationTransactionsView = createSlice({
921
952
  },
922
953
  updateTotalCountForTransactionCategorization(draft, action) {
923
954
  const { selectedTab, selectedPeriod, totalCount } = action.payload;
924
- draft.transactionCategorizationView[selectedTab].uiState.totalCount[toMonthYearPeriodId(selectedPeriod)] = totalCount;
955
+ const periodId = toMonthYearPeriodId(selectedPeriod);
956
+ draft.transactionCategorizationView[selectedTab].uiState.totalCount[periodId] = totalCount;
957
+ if (selectedTab === 'review') {
958
+ draft.parentTotalCountByTab.review[periodId] = totalCount;
959
+ }
925
960
  },
926
961
  updateParentTotalCountForTab(draft, action) {
927
962
  const { selectedTab, selectedPeriod, parentTotalCount } = action.payload;
963
+ if (parentTotalCount == null) {
964
+ return;
965
+ }
928
966
  draft.parentTotalCountByTab[selectedTab][toMonthYearPeriodId(selectedPeriod)] = parentTotalCount;
929
967
  },
930
968
  updateSelectedCheckboxTransactionIds(draft, action) {
@@ -973,7 +1011,7 @@ const expenseAutomationTransactionsView = createSlice({
973
1011
  },
974
1012
  },
975
1013
  syncTransactionCategorizationFromDetailSave: {
976
- prepare(transactionId, updatedTransaction, pendingReviewLineIds, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled) {
1014
+ prepare(transactionId, updatedTransaction, pendingReviewLineIds, uncategorizedIncomeExpense, isUncategorizedExpenseCategoryEnabled, reviewStatuses) {
977
1015
  return {
978
1016
  payload: {
979
1017
  transactionId,
@@ -981,6 +1019,7 @@ const expenseAutomationTransactionsView = createSlice({
981
1019
  pendingReviewLineIds,
982
1020
  uncategorizedIncomeExpense,
983
1021
  isUncategorizedExpenseCategoryEnabled,
1022
+ reviewStatuses,
984
1023
  },
985
1024
  };
986
1025
  },
@@ -1026,11 +1065,12 @@ const expenseAutomationTransactionsView = createSlice({
1026
1065
  },
1027
1066
  },
1028
1067
  backgroundRefetchReviewTab: {
1029
- prepare(period, isUncategorizedExpenseCategoryEnabled) {
1068
+ prepare(period, isUncategorizedExpenseCategoryEnabled, reviewStatuses) {
1030
1069
  return {
1031
1070
  payload: {
1032
1071
  period,
1033
1072
  isUncategorizedExpenseCategoryEnabled,
1073
+ reviewStatuses,
1034
1074
  },
1035
1075
  };
1036
1076
  },