@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
@@ -145,42 +145,61 @@ function toJEScheduleAISummaries(payload) {
145
145
  result.debitAccount = {
146
146
  confidence: payload.debit_account.confidence,
147
147
  reasoning: payload.debit_account.reasoning,
148
+ cot: Array.isArray(payload.debit_account.cot)
149
+ ? payload.debit_account.cot
150
+ : undefined,
148
151
  };
149
152
  }
150
153
  if (payload.credit_account != null) {
151
154
  result.creditAccount = {
152
155
  confidence: payload.credit_account.confidence,
153
156
  reasoning: payload.credit_account.reasoning,
157
+ cot: Array.isArray(payload.credit_account.cot)
158
+ ? payload.credit_account.cot
159
+ : undefined,
154
160
  };
155
161
  }
156
162
  if (payload.debit_accounting_class != null) {
157
163
  result.debitClass = {
158
164
  confidence: payload.debit_accounting_class.confidence,
159
165
  reasoning: payload.debit_accounting_class.reasoning,
166
+ cot: Array.isArray(payload.debit_accounting_class.cot)
167
+ ? payload.debit_accounting_class.cot
168
+ : undefined,
160
169
  };
161
170
  }
162
171
  if (payload.credit_accounting_class != null) {
163
172
  result.creditClass = {
164
173
  confidence: payload.credit_accounting_class.confidence,
165
174
  reasoning: payload.credit_accounting_class.reasoning,
175
+ cot: Array.isArray(payload.credit_accounting_class.cot)
176
+ ? payload.credit_accounting_class.cot
177
+ : undefined,
166
178
  };
167
179
  }
168
180
  if (payload.period != null) {
169
181
  result.period = {
170
182
  confidence: payload.period.confidence,
171
183
  reasoning: payload.period.reasoning,
184
+ cot: Array.isArray(payload.period.cot) ? payload.period.cot : undefined,
172
185
  };
173
186
  }
174
187
  if (payload.posting_date != null) {
175
188
  result.postingDate = {
176
189
  confidence: payload.posting_date.confidence,
177
190
  reasoning: payload.posting_date.reasoning,
191
+ cot: Array.isArray(payload.posting_date.cot)
192
+ ? payload.posting_date.cot
193
+ : undefined,
178
194
  };
179
195
  }
180
196
  if (payload.schedule_type != null) {
181
197
  result.scheduleType = {
182
198
  confidence: payload.schedule_type.confidence,
183
199
  reasoning: payload.schedule_type.reasoning,
200
+ cot: Array.isArray(payload.schedule_type.cot)
201
+ ? payload.schedule_type.cot
202
+ : undefined,
184
203
  };
185
204
  }
186
205
  return Object.keys(result).length > 0 ? result : undefined;
@@ -19,3 +19,11 @@ export function getPaymentAccountsByBankAccountIds(paymentAccountState, bankAcco
19
19
  .filter((value) => value != null);
20
20
  return paymentAccounts;
21
21
  }
22
+ export function getPlaidPaymentAccounts(paymentAccountState) {
23
+ if (paymentAccountState?.paymentAccountByID == null) {
24
+ return [];
25
+ }
26
+ return values(paymentAccountState.paymentAccountByID)
27
+ .filter((account) => account != null)
28
+ .filter((account) => account.provider === 'plaid');
29
+ }
@@ -32,6 +32,7 @@ const ALL_SNACKBAR_MESSAGE_SECTIONS = [
32
32
  'reimbursement_approval_update',
33
33
  'reimbursement_duplicate_approval_update',
34
34
  'reimbursement_approval_delete',
35
+ 'reimbursement_approval_reorder',
35
36
  'reimbursement_create_mileage',
36
37
  'reimbursement_update_mileage',
37
38
  'reimbursement_accept_term',
@@ -45,6 +46,7 @@ const ALL_SNACKBAR_MESSAGE_SECTIONS = [
45
46
  'bill_pay_approval_update',
46
47
  'bill_pay_duplicate_approval_update',
47
48
  'bill_pay_approval_delete',
49
+ 'bill_pay_approval_reorder',
48
50
  'bill_pay_updated',
49
51
  'bill_pay_deleted',
50
52
  'bill_pay_cancelled_deleted',
@@ -95,6 +97,9 @@ const ALL_SNACKBAR_MESSAGE_SECTIONS = [
95
97
  'charge_card_receipt_upload',
96
98
  'charge_card_resend_invite',
97
99
  'charge_card_revoke_invite',
100
+ 'card_policy_created',
101
+ 'card_policy_updated',
102
+ 'card_policy_deleted',
98
103
  'charge_card_update_limit',
99
104
  'charge_cards_update_limit',
100
105
  'close_charge_card',
@@ -41,6 +41,8 @@ export const mapTaskPayloadToTask = (payload) => ({
41
41
  dueDate: payload.due_date != null ? date(payload.due_date) : undefined,
42
42
  updateTime: payload.update_time != null ? date(payload.update_time) : undefined,
43
43
  companyId: payload.company_id,
44
+ companyName: payload.company_name,
45
+ parentTaskId: payload.parent_task_id ?? undefined,
44
46
  recurringSourceTaskId: payload.recurring_source_task_id != null
45
47
  ? payload.recurring_source_task_id
46
48
  : undefined,
@@ -97,6 +97,11 @@ import { clearInternationalWire } from '../../view/spendManagement/billPay/inter
97
97
  import { clearInternationalVerificationView } from '../../view/spendManagement/billPay/internationalWireVerification/internationalWireVerificationReducer';
98
98
  import { clearPreviousBills } from '../../view/spendManagement/billPay/previousBills/previousBillsReducer';
99
99
  import { clearWiseRedirectStatus } from '../../view/spendManagement/billPay/wiseRedirectView/wiseRedirectReducer';
100
+ import { clearAutoSweepFlow } from '../../view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer';
101
+ import { clearCashManagementOverview } from '../../view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer';
102
+ import { clearCardPolicyDetail } from '../../view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer';
103
+ import { clearCardPolicyList } from '../../view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer';
104
+ import { clearCreateCardPolicy } from '../../view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer';
100
105
  import { clearCardUserOnboarding } from '../../view/spendManagement/chargeCards/cardUserOnboarding/cardUserOnboardingReducer';
101
106
  import { clearCashbackDetail } from '../../view/spendManagement/chargeCards/cashbackDetail/cashbackDetailReducer';
102
107
  import { clearChargeCardConfig } from '../../view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigReducer';
@@ -168,6 +173,7 @@ import { clearAllBillTransactions } from '../billPay/billTransaction/billTransac
168
173
  import { clearContacts } from '../billPay/contact/contactReducer';
169
174
  import { clearAllRecurringBills } from '../billPay/recurringBills/recurringBillsReducer';
170
175
  import { clearAllCardPayments } from '../cardPayment/cardPaymentReducer';
176
+ import { clearCardPolicy } from '../cardPolicy/cardPolicyReducer';
171
177
  import { clearAllChargeCards } from '../chargeCard/chargeCardReducer';
172
178
  import { clearAllChargeCardRepayments } from '../chargeCardRepayment/chargeCardRepaymentReducer';
173
179
  import { clearAllChargeCardTransactions } from '../chargeCardTransaction/chargeCardTransactionReducer';
@@ -231,6 +237,7 @@ export const clearAllEpic = (actions$) => actions$.pipe(filter(clearAll.match),
231
237
  clearArAging(),
232
238
  clearArAgingDetail(),
233
239
  clearAuthenticationView(),
240
+ clearAutoSweepFlow(),
234
241
  clearAutoTransferRules(),
235
242
  clearBalanceSheet(),
236
243
  clearBankAccountView(),
@@ -244,11 +251,14 @@ export const clearAllEpic = (actions$) => actions$.pipe(filter(clearAll.match),
244
251
  clearBillPaySetupView(),
245
252
  clearCardBalance(),
246
253
  clearCardPaymentView(),
254
+ clearCardPolicyDetail(),
255
+ clearCardPolicyList(),
247
256
  clearCardUserOnboarding(),
248
257
  clearCashbackDetail(),
249
258
  clearCashBalance(),
250
259
  clearCashFlow(),
251
260
  clearCashInCashOut(),
261
+ clearCashManagementOverview(),
252
262
  clearCashPosition(),
253
263
  clearChargeCardConfig(),
254
264
  clearChargeCardDetail(),
@@ -263,6 +273,7 @@ export const clearAllEpic = (actions$) => actions$.pipe(filter(clearAll.match),
263
273
  clearCompanyMonthEndReportView(),
264
274
  clearCompanyTaskManagerView(),
265
275
  clearCompanyView(),
276
+ clearCreateCardPolicy(),
266
277
  clearCreateTransferEntry(),
267
278
  clearAllCreditAgent(),
268
279
  clearCreditAgentView(),
@@ -424,6 +435,7 @@ export const clearAllEpic = (actions$) => actions$.pipe(filter(clearAll.match),
424
435
  clearAllVendorExpenseTrends(),
425
436
  clearAllVendors(),
426
437
  clearCannedResponses(),
438
+ clearCardPolicy(),
427
439
  clearClassList(),
428
440
  clearContacts(),
429
441
  clearCountryList(),
@@ -0,0 +1,55 @@
1
+ import { from } from 'rxjs';
2
+ import { catchError, filter, groupBy, mergeMap, switchMap } from 'rxjs/operators';
3
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../responsePayload';
4
+ import { initEmailConnectOAuth, initEmailConnectOAuthFailure, initEmailConnectOAuthSuccess, } from '../tenantReducer';
5
+ const defaultNavigate = (url) => {
6
+ // Production path: full-page redirect. The user's session continues on the
7
+ // provider's consent screen and lands back on this app via auth's HTML
8
+ // callback page (which itself redirects to redirect_after_url with the
9
+ // result encoded as a query param).
10
+ if (typeof window !== 'undefined') {
11
+ window.location.href = url;
12
+ }
13
+ };
14
+ // Backs the new POST /1.0/connectors/email/<provider>/init endpoint on the
15
+ // auth service. The endpoint creates a CSRF state token in the auth NDB
16
+ // store and returns the provider's authorization_url; this epic then drives
17
+ // a full-page redirect so the user lands on Google's / Microsoft's consent
18
+ // screen. After consent the user lands on auth's callback, which writes the
19
+ // resulting tokens through to tenant and redirects the browser back to
20
+ // ``redirectAfterUrl`` with ``?email_connect_result=<json>`` for the
21
+ // integrations page to consume on mount.
22
+ export const initEmailConnectOAuthEpic = (actions$, _state$, zeniAPI,
23
+ // Test seam: callers can override to assert intended URL without actually
24
+ // navigating. Default is full-page redirect via window.location.
25
+ navigate = defaultNavigate) => actions$.pipe(filter(initEmailConnectOAuth.match),
26
+ // Per-provider cancellation scope — switchMap at the outer level would
27
+ // cancel an in-flight gmail init when an outlook init fires, stranding
28
+ // the gmail provider's `saveConnectorCredentialsStateBySlug` in
29
+ // `In-Progress` forever. groupBy gives each provider its own stream.
30
+ groupBy((action) => action.payload.provider), mergeMap((perProvider$) => perProvider$.pipe(switchMap((action) => zeniAPI
31
+ .postAndGetJSON(`${zeniAPI.apiEndPoints.authMicroServiceBaseUrl}/1.0/connectors/email/${action.payload.provider}/init`, { redirect_after_url: action.payload.redirectAfterUrl }, { 'zeni-tenant-id': action.payload.tenantId })
32
+ .pipe(mergeMap((response) => {
33
+ if (isSuccessResponse(response) && response.data != null) {
34
+ // Fire-and-forget side effect — once the browser navigates,
35
+ // any further state we'd dispatch here is irrelevant. We still
36
+ // emit the success action so subscribers (tests, analytics)
37
+ // can observe the URL the epic decided to navigate to.
38
+ navigate(response.data.authorization_url);
39
+ return from([
40
+ initEmailConnectOAuthSuccess(action.payload.tenantId, action.payload.provider, response.data.authorization_url),
41
+ ]);
42
+ }
43
+ const status = response.status ??
44
+ createZeniAPIStatus(`Failed to start ${action.payload.provider} connection. Please try again.`);
45
+ return from([
46
+ initEmailConnectOAuthFailure(action.payload.tenantId, action.payload.provider, status),
47
+ ]);
48
+ }), catchError((error) => {
49
+ const message = error instanceof Error
50
+ ? error.message
51
+ : `Unexpected error starting ${action.payload.provider} connection.`;
52
+ return from([
53
+ initEmailConnectOAuthFailure(action.payload.tenantId, action.payload.provider, createZeniAPIStatus(message)),
54
+ ]);
55
+ }))))));
@@ -9,7 +9,7 @@ import { toNumberOfMonthForAverage, toTimeSpanIdForAverage, } from '../../view/n
9
9
  import { date, dateNow } from '../../zeniDayJS';
10
10
  import { toSubscriptionSummary } from '../subscription/subscriptionSummary/subscriptionSummaryReducer';
11
11
  import { getInvitationStatus, getUserRoles, toMasterTOSInfo, toUserReimbursementInfo, } from '../userRole/userRolePayload';
12
- const EXTERNAL_INTEGRATION_TYPES = ['revenue', 'payments'];
12
+ const EXTERNAL_INTEGRATION_TYPES = ['revenue', 'payments', 'email'];
13
13
  export const toExternalIntegrationType = (v) => stringToUnion(v, EXTERNAL_INTEGRATION_TYPES);
14
14
  const EXTERNAL_SUPPORTED_TOOLS = [
15
15
  'chargebee',
@@ -17,6 +17,8 @@ const EXTERNAL_SUPPORTED_TOOLS = [
17
17
  'stripe',
18
18
  'mercury',
19
19
  'paypal',
20
+ 'gmail',
21
+ 'outlook',
20
22
  ];
21
23
  export const toExternalSupportedTool = (v) => stringToUnion(v, EXTERNAL_SUPPORTED_TOOLS);
22
24
  export const initialState = {
@@ -78,13 +80,21 @@ const tenant = createSlice({
78
80
  (newTenant != null && action.payload.tenantUpdated)) {
79
81
  // Note: If tenant data already exists, save it if the new data is the latest one.
80
82
  // we dont want to overwrite the user related data since that has not come in the output
81
- draft.tenantsById[tenantPayload.tenant_id] =
82
- applyTreasuryPromoUserFieldsFromPayload(tenantInStore, {
83
- ...newTenant,
84
- rewardsLastViewedTime: tenantInStore?.rewardsLastViewedTime,
85
- }, action.payload.userTenantPayload ?? {
86
- rewards_feature_last_viewed_time: null,
87
- });
83
+ const merged = applyTreasuryPromoUserFieldsFromPayload(tenantInStore, {
84
+ ...newTenant,
85
+ rewardsLastViewedTime: tenantInStore?.rewardsLastViewedTime,
86
+ }, action.payload.userTenantPayload ?? {
87
+ rewards_feature_last_viewed_time: null,
88
+ });
89
+ draft.tenantsById[tenantPayload.tenant_id] = {
90
+ ...merged,
91
+ capitalizableAccountOverrides: merged.capitalizableAccountOverrides ??
92
+ tenantInStore?.capitalizableAccountOverrides ??
93
+ null,
94
+ capitalizationOnboardingDismissedAccounts: merged.capitalizationOnboardingDismissedAccounts ??
95
+ tenantInStore?.capitalizationOnboardingDismissedAccounts ??
96
+ null,
97
+ };
88
98
  }
89
99
  });
90
100
  },
@@ -112,7 +122,16 @@ const tenant = createSlice({
112
122
  draft.error = undefined;
113
123
  const [tenantsbyId, tenantIds, firstUser] = mapTenantsPayloadToState(tenants, user);
114
124
  tenantIds.forEach((tenantId) => {
115
- tenantsbyId[tenantId] = applyTreasuryPromoUserFieldsFromPayload(draft.tenantsById[tenantId], tenantsbyId[tenantId], user);
125
+ const existingTenant = draft.tenantsById[tenantId];
126
+ tenantsbyId[tenantId] = applyTreasuryPromoUserFieldsFromPayload(existingTenant, tenantsbyId[tenantId], user);
127
+ if (existingTenant != null) {
128
+ tenantsbyId[tenantId].capitalizableAccountOverrides =
129
+ tenantsbyId[tenantId].capitalizableAccountOverrides ??
130
+ existingTenant.capitalizableAccountOverrides;
131
+ tenantsbyId[tenantId].capitalizationOnboardingDismissedAccounts =
132
+ tenantsbyId[tenantId].capitalizationOnboardingDismissedAccounts ??
133
+ existingTenant.capitalizationOnboardingDismissedAccounts;
134
+ }
116
135
  });
117
136
  draft.tenantsById = tenantsbyId;
118
137
  draft.tenantIds = tenantIds;
@@ -130,6 +149,17 @@ const tenant = createSlice({
130
149
  draft.activeTenantFetchState.fetchState = 'Completed';
131
150
  draft.activeTenantFetchState.error = undefined;
132
151
  const [tenantsbyId, tenantIds, firstUser] = mapTenantsPayloadToState(tenants, user);
152
+ tenantIds.forEach((tenantId) => {
153
+ const existingTenant = draft.tenantsById[tenantId];
154
+ if (existingTenant != null) {
155
+ tenantsbyId[tenantId].capitalizableAccountOverrides =
156
+ tenantsbyId[tenantId].capitalizableAccountOverrides ??
157
+ existingTenant.capitalizableAccountOverrides;
158
+ tenantsbyId[tenantId].capitalizationOnboardingDismissedAccounts =
159
+ tenantsbyId[tenantId].capitalizationOnboardingDismissedAccounts ??
160
+ existingTenant.capitalizationOnboardingDismissedAccounts;
161
+ }
162
+ });
133
163
  draft.tenantsById = { ...draft.tenantsById, ...tenantsbyId };
134
164
  draft.tenantIds = [...new Set([...draft.tenantIds, ...tenantIds])];
135
165
  draft.loggedInUser = assignWith(draft.loggedInUser ?? {}, firstUser, (objValue, srcValue) => srcValue ?? objValue);
@@ -140,25 +170,38 @@ const tenant = createSlice({
140
170
  draft.tenantsById[tenantId].isAccountingClassesEnabled = enabled;
141
171
  }
142
172
  },
143
- updateTenantCapitalizationThreshold(draft, action) {
144
- const { tenantId, capitalizationThreshold, capitalizationThresholdMaxCeiling, } = action.payload;
173
+ // Optimistic per-key merge: assumes the backend PATCH merges
174
+ // capitalizable_account_overrides by key rather than replacing the whole field.
175
+ updateTenantCapitalizationAccountOverride(draft, action) {
176
+ const { tenantId, accountId, threshold, allOverrides } = action.payload;
145
177
  if (draft.tenantsById[tenantId] != null) {
146
- draft.tenantsById[tenantId].capitalizationThreshold =
147
- capitalizationThreshold;
148
- draft.tenantsById[tenantId].capitalizationThresholdMaxCeiling =
149
- capitalizationThresholdMaxCeiling;
178
+ if (allOverrides !== undefined) {
179
+ draft.tenantsById[tenantId].capitalizableAccountOverrides =
180
+ allOverrides != null && Object.keys(allOverrides).length > 0
181
+ ? allOverrides
182
+ : null;
183
+ }
184
+ else {
185
+ const currentOverrides = draft.tenantsById[tenantId].capitalizableAccountOverrides ?? {};
186
+ if (threshold === null) {
187
+ delete currentOverrides[accountId];
188
+ }
189
+ else {
190
+ currentOverrides[accountId] = threshold;
191
+ }
192
+ draft.tenantsById[tenantId].capitalizableAccountOverrides =
193
+ Object.keys(currentOverrides).length > 0 ? currentOverrides : null;
194
+ }
150
195
  }
151
196
  },
152
197
  updateTenantCapitalizationOnboardingDismissed(draft, action) {
153
- const { tenantId, popupType } = action.payload;
198
+ const { tenantId, accountId } = action.payload;
154
199
  if (draft.tenantsById[tenantId] != null) {
155
- if (popupType === 'prepaid') {
156
- draft.tenantsById[tenantId].capitalizationOnboardingShownForPrepaid =
157
- true;
158
- }
159
- else {
160
- draft.tenantsById[tenantId].capitalizationOnboardingShownForFixedAsset = true;
161
- }
200
+ const existing = draft.tenantsById[tenantId]
201
+ .capitalizationOnboardingDismissedAccounts ?? {};
202
+ existing[accountId] = true;
203
+ draft.tenantsById[tenantId].capitalizationOnboardingDismissedAccounts =
204
+ existing;
162
205
  }
163
206
  },
164
207
  updateTenantMasterTOSInfo(draft, action) {
@@ -361,6 +404,7 @@ const tenant = createSlice({
361
404
  draft.externalConnectionsByTenant[action.payload.tenantId] = {
362
405
  fetchState: 'In-Progress',
363
406
  accounting: [],
407
+ email: [],
364
408
  payments: [],
365
409
  revenue: [],
366
410
  saveConnectionState: 'Not-Started',
@@ -378,10 +422,11 @@ const tenant = createSlice({
378
422
  return { payload: { tenantId, externalConnections } };
379
423
  },
380
424
  reducer(draft, action) {
381
- const { accounting, payments, revenue } = mapConnectionsPayloadToState(action.payload.externalConnections);
425
+ const { accounting, email, payments, revenue } = mapConnectionsPayloadToState(action.payload.externalConnections);
382
426
  draft.externalConnectionsByTenant[action.payload.tenantId] = {
383
427
  fetchState: 'Completed',
384
428
  accounting,
429
+ email,
385
430
  payments,
386
431
  revenue,
387
432
  saveConnectionState: 'Completed',
@@ -403,6 +448,7 @@ const tenant = createSlice({
403
448
  draft.externalConnectionsByTenant[tenantId] = {
404
449
  fetchState: 'Error',
405
450
  accounting: [],
451
+ email: [],
406
452
  payments: [],
407
453
  revenue: [],
408
454
  saveConnectionState: 'Error',
@@ -616,6 +662,56 @@ const tenant = createSlice({
616
662
  }
617
663
  },
618
664
  },
665
+ // Email-connect (Gmail / Outlook) OAuth init. Distinct from the other
666
+ // connector saves because the FE never sees the access_token — the
667
+ // user-facing redirect lands on the auth service's callback, auth
668
+ // exchanges code → tokens and posts them to tenant, then redirects the
669
+ // browser back to ``redirectAfterUrl`` with ``?email_connect_result=...``.
670
+ // The success action carries the provider's authorization_url so the
671
+ // epic can drive a full-page redirect, mirroring the legacy HubSpot
672
+ // flow in zeni-web-app-ui/IntegrationsScreen.
673
+ initEmailConnectOAuth: {
674
+ prepare(tenantId, provider, redirectAfterUrl) {
675
+ return { payload: { tenantId, provider, redirectAfterUrl } };
676
+ },
677
+ reducer(draft, action) {
678
+ const existing = draft.externalConnectionsByTenant[action.payload.tenantId];
679
+ if (existing != null) {
680
+ // Reuse the per-slug saveConnectorCredentialsStateBySlug bucket so
681
+ // the IntegrationsSettingsPage shows the same loading affordance
682
+ // it already uses for Stripe/Mercury/PayPal connect flows.
683
+ existing.saveConnectorCredentialsStateBySlug[action.payload.provider] = 'In-Progress';
684
+ delete existing.saveConnectorCredentialsErrorBySlug[action.payload.provider];
685
+ }
686
+ },
687
+ },
688
+ initEmailConnectOAuthSuccess: {
689
+ prepare(tenantId, provider, authorizationUrl) {
690
+ return { payload: { tenantId, provider, authorizationUrl } };
691
+ },
692
+ reducer(draft, action) {
693
+ // Intentionally leave state as 'In-Progress' — the epic is about to
694
+ // do a full-page redirect, so any UI state we set here would be
695
+ // overwritten by the navigation anyway. Setting Completed would
696
+ // briefly flash a success state before the redirect, which reads
697
+ // wrong because the connection isn't actually saved yet at this
698
+ // point (it lands after the OAuth round-trip).
699
+ void draft;
700
+ void action;
701
+ },
702
+ },
703
+ initEmailConnectOAuthFailure: {
704
+ prepare(tenantId, provider, status) {
705
+ return { payload: { tenantId, provider, status } };
706
+ },
707
+ reducer(draft, action) {
708
+ const existing = draft.externalConnectionsByTenant[action.payload.tenantId];
709
+ if (existing != null) {
710
+ existing.saveConnectorCredentialsStateBySlug[action.payload.provider] = 'Error';
711
+ existing.saveConnectorCredentialsErrorBySlug[action.payload.provider] = action.payload.status;
712
+ }
713
+ },
714
+ },
619
715
  deleteConnection: {
620
716
  prepare(tenantId, connectionId, connectionType) {
621
717
  return { payload: { tenantId, connectionId, connectionType } };
@@ -815,7 +911,7 @@ const tenant = createSlice({
815
911
  },
816
912
  },
817
913
  });
818
- export const { updateTenants, fetchAllTenants, updateTenantsSuccess, updateTenantsFailure, fetchActiveTenant, updateTenantSuccess, updateTenantFailure, updateCurrentTenant, fetchExcludedResources, updateExcludedResourcesSuccess, updateExcludedResourcesFailure, doSignIn, doMagicLinkSignIn, magicLinkSignInSuccess, magicLinkSignInFailure, sendEmailMagicLinkToUser, sendEmailMagicLinkToUserSuccess, sendEmailMagicLinkToUserFailure, updateSignInState, doSignOut, signOutSuccess, sendSessionHeartbeat, sessionHeartbeatSuccess, sessionHeartbeatFailure, updateLoggedInUser, fetchExternalConnections, saveExternalConnection, saveExternalConnectionSuccess, saveExternalConnectionFailure, fetchExternalConnectionsFailure, fetchExternalConnectionsSuccess, saveAPIKeyConnection, saveAPIKeyConnectionSuccess, saveAPIKeyConnectionFailure, saveOAuthConnection, saveOAuthConnectionSuccess, saveOAuthConnectionFailure, saveConnectorCredentials, saveConnectorCredentialsSuccess, saveConnectorCredentialsFailure, deleteConnection, deleteConnectionSuccess, deleteConnectionFailure, clearAll, fetchSubscriptionSummaryForTenant, updateSubscriptionSummaryForTenantSuccess, updateSubscriptionSummaryForTenantFailure, updateOnboardingTenants, removeOnboardingTenant, updateTenantReimbursementInfo, updateReferViewedForLoggedInUser, resetSignInState, trigger2FA, updateTenantAccountingClassesEnabled, updateTenantCapitalizationOnboardingDismissed, updateTenantCapitalizationThreshold, updateTenantMasterTOSInfo, verifyDeviceWithTwoFA, verifyDeviceWithTwoFASuccess, verifyDeviceWithTwoFAFailure, updateTreasuryVideoViewedForLoggedInUser, updateTreasuryPromoRemindMeLaterClickedForLoggedInUser, updateTreasuryPromoIntroClosedByOutsideClickForLoggedInUser, resendVerifyDeviceOTP, resendVerifyDeviceOTPSuccess, resendVerifyDeviceOTPFailure, } = tenant.actions;
914
+ export const { updateTenants, fetchAllTenants, updateTenantsSuccess, updateTenantsFailure, fetchActiveTenant, updateTenantSuccess, updateTenantFailure, updateCurrentTenant, fetchExcludedResources, updateExcludedResourcesSuccess, updateExcludedResourcesFailure, doSignIn, doMagicLinkSignIn, magicLinkSignInSuccess, magicLinkSignInFailure, sendEmailMagicLinkToUser, sendEmailMagicLinkToUserSuccess, sendEmailMagicLinkToUserFailure, updateSignInState, doSignOut, signOutSuccess, sendSessionHeartbeat, sessionHeartbeatSuccess, sessionHeartbeatFailure, updateLoggedInUser, fetchExternalConnections, saveExternalConnection, saveExternalConnectionSuccess, saveExternalConnectionFailure, fetchExternalConnectionsFailure, fetchExternalConnectionsSuccess, saveAPIKeyConnection, saveAPIKeyConnectionSuccess, saveAPIKeyConnectionFailure, saveOAuthConnection, saveOAuthConnectionSuccess, saveOAuthConnectionFailure, saveConnectorCredentials, saveConnectorCredentialsSuccess, saveConnectorCredentialsFailure, initEmailConnectOAuth, initEmailConnectOAuthSuccess, initEmailConnectOAuthFailure, deleteConnection, deleteConnectionSuccess, deleteConnectionFailure, clearAll, fetchSubscriptionSummaryForTenant, updateSubscriptionSummaryForTenantSuccess, updateSubscriptionSummaryForTenantFailure, updateOnboardingTenants, removeOnboardingTenant, updateTenantReimbursementInfo, updateReferViewedForLoggedInUser, resetSignInState, trigger2FA, updateTenantAccountingClassesEnabled, updateTenantCapitalizationOnboardingDismissed, updateTenantCapitalizationAccountOverride, updateTenantMasterTOSInfo, verifyDeviceWithTwoFA, verifyDeviceWithTwoFASuccess, verifyDeviceWithTwoFAFailure, updateTreasuryVideoViewedForLoggedInUser, updateTreasuryPromoRemindMeLaterClickedForLoggedInUser, updateTreasuryPromoIntroClosedByOutsideClickForLoggedInUser, resendVerifyDeviceOTP, resendVerifyDeviceOTPSuccess, resendVerifyDeviceOTPFailure, } = tenant.actions;
819
915
  export default tenant.reducer;
820
916
  /**
821
917
  * Applies treasury promo user fields from the tenants API user block when present.
@@ -925,11 +1021,11 @@ function mapTenantPayloadToTenant(payload, userTenantPayload) {
925
1021
  zeniBookCloseMonthAndYear: payload.zeni_book_close_month_and_year != null
926
1022
  ? toMonthYearPeriod(payload.zeni_book_close_month_and_year)
927
1023
  : undefined,
928
- capitalizationThreshold: payload.capitalization_threshold ?? null,
929
- capitalizationThresholdMaxCeiling: payload.capitalization_threshold_max_ceiling ?? null,
1024
+ capitalizableAccountOverrides: payload.capitalizable_account_overrides ?? null,
930
1025
  capitalizableAccounts: payload.capitalizable_accounts != null
931
1026
  ? mapCapitalizableAccountsPayload(payload.capitalizable_accounts)
932
1027
  : null,
1028
+ capitalizationOnboardingDismissedAccounts: payload.capitalization_onboarding_dismissed_accounts ?? null,
933
1029
  capitalizationOnboardingShownForPrepaid: payload.capitalization_onboarding_shown_for_prepaid ?? false,
934
1030
  capitalizationOnboardingShownForFixedAsset: payload.capitalization_onboarding_shown_for_fixed_asset ?? false,
935
1031
  };
@@ -994,6 +1090,11 @@ export function mapConnectionsPayloadToState(connectionsPayload) {
994
1090
  const { connections } = connectionsPayload;
995
1091
  return {
996
1092
  accounting: connections.accounting.map((payload) => toConnection(payload)),
1093
+ // Tenant materializes gmail/outlook under the `email` bucket via
1094
+ // _THIRD_PARTY_CONNECTORS_TO_MATERIALIZE when their slugs are enabled in
1095
+ // third_party_enabled_connectors Statsig config. Default to [] so older
1096
+ // tenant deploys (or disabled-everywhere envs) don't blow up here.
1097
+ email: (connections.email ?? []).map((payload) => toConnection(payload)),
997
1098
  payments: connections.payments.map((payload) => toConnection(payload)),
998
1099
  revenue: (connections.revenue ?? []).map((payload) => toConnection(payload)),
999
1100
  };
@@ -69,7 +69,8 @@ export const toTransaction = (payload) => {
69
69
  payload.target_account_integration_id !== ''
70
70
  ? { targetAccountIntegrationId: payload.target_account_integration_id }
71
71
  : {}),
72
- ...(payload.target_account_name != null && payload.target_account_name !== ''
72
+ ...(payload.target_account_name != null &&
73
+ payload.target_account_name !== ''
73
74
  ? { targetAccountName: payload.target_account_name }
74
75
  : {}),
75
76
  ...(payload.to_from_account_id != null && payload.to_from_account_id !== ''
@@ -79,7 +80,8 @@ export const toTransaction = (payload) => {
79
80
  payload.to_from_account_integration_id !== ''
80
81
  ? { toFromAccountIntegrationId: payload.to_from_account_integration_id }
81
82
  : {}),
82
- ...(payload.to_from_account_name != null && payload.to_from_account_name !== ''
83
+ ...(payload.to_from_account_name != null &&
84
+ payload.to_from_account_name !== ''
83
85
  ? { toFromAccountName: payload.to_from_account_name }
84
86
  : {}),
85
87
  ...(payload.category_id != null && payload.category_id !== ''