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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/lib/common/aiCfo/aiCfoSuggestedQuestionsPageContext.d.ts +1 -1
  2. package/lib/commonStateTypes/amount.d.ts +1 -0
  3. package/lib/commonStateTypes/amount.js +9 -1
  4. package/lib/commonStateTypes/animations.d.ts +1 -1
  5. package/lib/commonStateTypes/animations.js +1 -0
  6. package/lib/commonStateTypes/viewAndReport/viewAndReport.d.ts +2 -2
  7. package/lib/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  8. package/lib/commonStateTypes/workingDayHelper.d.ts +9 -0
  9. package/lib/commonStateTypes/workingDayHelper.js +28 -1
  10. package/lib/entity/account/accountSelector.d.ts +9 -0
  11. package/lib/entity/account/accountSelector.js +14 -1
  12. package/lib/entity/account/accountState.d.ts +1 -1
  13. package/lib/entity/accountGroup/accountGroupState.d.ts +1 -1
  14. package/lib/entity/aiCfo/aiCfoPayload.d.ts +64 -5
  15. package/lib/entity/aiCfo/aiCfoReducer.d.ts +23 -2
  16. package/lib/entity/aiCfo/aiCfoReducer.js +252 -10
  17. package/lib/entity/aiCfo/aiCfoSelector.d.ts +4 -1
  18. package/lib/entity/aiCfo/aiCfoSelector.js +19 -1
  19. package/lib/entity/aiCfo/aiCfoState.d.ts +98 -4
  20. package/lib/entity/aiCfo/aiCfoState.js +20 -1
  21. package/lib/entity/approvalRule/approvalRuleConflict.d.ts +56 -0
  22. package/lib/entity/approvalRule/approvalRuleConflict.js +77 -0
  23. package/lib/entity/approvalRule/approvalRulePayload.d.ts +34 -5
  24. package/lib/entity/approvalRule/approvalRulePayload.js +145 -10
  25. package/lib/entity/approvalRule/approvalRuleSelector.d.ts +25 -1
  26. package/lib/entity/approvalRule/approvalRuleSelector.js +40 -0
  27. package/lib/entity/approvalRule/approvalRuleState.d.ts +59 -7
  28. package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +277 -0
  29. package/lib/entity/cardPolicy/cardPolicyPayload.js +143 -0
  30. package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +19 -0
  31. package/lib/entity/cardPolicy/cardPolicyReducer.js +175 -0
  32. package/lib/entity/cardPolicy/cardPolicySelector.d.ts +32 -0
  33. package/lib/entity/cardPolicy/cardPolicySelector.js +99 -0
  34. package/lib/entity/cardPolicy/cardPolicyState.d.ts +205 -0
  35. package/lib/entity/cardPolicy/cardPolicyState.js +14 -0
  36. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.d.ts +18 -0
  37. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.js +68 -0
  38. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.d.ts +26 -0
  39. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +47 -0
  40. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +25 -0
  41. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +39 -0
  42. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +24 -0
  43. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +105 -0
  44. package/lib/entity/class/classReducer.d.ts +4 -4
  45. package/lib/entity/class/classState.d.ts +1 -1
  46. package/lib/entity/company/companyPayload.d.ts +4 -0
  47. package/lib/entity/company/companyPayload.js +4 -0
  48. package/lib/entity/company/companyStateTypes.d.ts +4 -0
  49. package/lib/entity/forecast/forecastState.d.ts +1 -1
  50. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +1 -0
  51. package/lib/entity/jeSchedules/jeSchedulesPayload.js +19 -0
  52. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +2 -0
  53. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
  54. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +1 -1
  55. package/lib/entity/paymentAccount/paymentAccountSelector.d.ts +1 -0
  56. package/lib/entity/paymentAccount/paymentAccountSelector.js +9 -0
  57. package/lib/entity/sectionAccountsView/sectionAccountsView.d.ts +1 -1
  58. package/lib/entity/sectionClassesViewV2/sectionClassesView.d.ts +1 -1
  59. package/lib/entity/sectionClassesViewV2/sectionClassesViewReducer.d.ts +2 -2
  60. package/lib/entity/sectionProjectView/sectionProjectView.d.ts +1 -1
  61. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +2 -2
  62. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  63. package/lib/entity/snackbar/snackbarTypes.js +7 -0
  64. package/lib/entity/task/taskPayload.d.ts +3 -1
  65. package/lib/entity/task/taskPayload.js +2 -0
  66. package/lib/entity/task/taskState.d.ts +2 -0
  67. package/lib/entity/tenant/clearAllEpic.d.ts +9 -2
  68. package/lib/entity/tenant/clearAllEpic.js +14 -0
  69. package/lib/entity/tenant/epic/deleteConnectionEpic.d.ts +1 -1
  70. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.d.ts +21 -0
  71. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.js +54 -0
  72. package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.d.ts +1 -1
  73. package/lib/entity/tenant/epic/saveConnectorCredentialsEpic.d.ts +3 -3
  74. package/lib/entity/tenant/epic/saveOAuthConnectionEpic.d.ts +1 -1
  75. package/lib/entity/tenant/tenantPayload.d.ts +22 -0
  76. package/lib/entity/tenant/tenantReducer.d.ts +52 -30
  77. package/lib/entity/tenant/tenantReducer.js +195 -11
  78. package/lib/entity/tenant/tenantState.d.ts +25 -1
  79. package/lib/entity/transaction/payloadTypes/transactionPayload.d.ts +4 -0
  80. package/lib/entity/transaction/payloadTypes/transactionPayload.js +17 -7
  81. package/lib/entity/transaction/stateTypes/transaction.d.ts +3 -0
  82. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +2 -1
  83. package/lib/entity/transaction/stateTypes/transactionLine.js +2 -1
  84. package/lib/epic.d.ts +36 -2
  85. package/lib/epic.js +37 -2
  86. package/lib/esm/commonStateTypes/amount.js +7 -0
  87. package/lib/esm/commonStateTypes/animations.js +1 -0
  88. package/lib/esm/commonStateTypes/viewAndReport/viewAndReport.js +2 -0
  89. package/lib/esm/commonStateTypes/workingDayHelper.js +26 -0
  90. package/lib/esm/entity/account/accountSelector.js +11 -0
  91. package/lib/esm/entity/aiCfo/aiCfoReducer.js +252 -10
  92. package/lib/esm/entity/aiCfo/aiCfoSelector.js +17 -1
  93. package/lib/esm/entity/aiCfo/aiCfoState.js +17 -0
  94. package/lib/esm/entity/approvalRule/approvalRuleConflict.js +74 -0
  95. package/lib/esm/entity/approvalRule/approvalRulePayload.js +145 -10
  96. package/lib/esm/entity/approvalRule/approvalRuleSelector.js +35 -0
  97. package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +130 -0
  98. package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +171 -0
  99. package/lib/esm/entity/cardPolicy/cardPolicySelector.js +75 -0
  100. package/lib/esm/entity/cardPolicy/cardPolicyState.js +9 -0
  101. package/lib/esm/entity/cardPolicy/extractPolicyDocumentEpic.js +64 -0
  102. package/lib/esm/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +43 -0
  103. package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +35 -0
  104. package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +101 -0
  105. package/lib/esm/entity/company/companyPayload.js +4 -0
  106. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +19 -0
  107. package/lib/esm/entity/paymentAccount/paymentAccountSelector.js +8 -0
  108. package/lib/esm/entity/snackbar/snackbarTypes.js +7 -0
  109. package/lib/esm/entity/task/taskPayload.js +2 -0
  110. package/lib/esm/entity/tenant/clearAllEpic.js +14 -0
  111. package/lib/esm/entity/tenant/epic/initEmailConnectOAuthEpic.js +50 -0
  112. package/lib/esm/entity/tenant/tenantReducer.js +192 -9
  113. package/lib/esm/entity/transaction/payloadTypes/transactionPayload.js +17 -7
  114. package/lib/esm/entity/transaction/stateTypes/transactionLine.js +1 -0
  115. package/lib/esm/epic.js +37 -2
  116. package/lib/esm/index.js +77 -34
  117. package/lib/esm/reducer.js +21 -0
  118. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +6 -3
  119. package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  120. package/lib/esm/view/aiCfoView/epics/createSessionEpic.js +2 -1
  121. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  122. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +39 -11
  123. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +14 -4
  124. package/lib/esm/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +38 -0
  125. package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  126. package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +16 -0
  127. package/lib/esm/view/companyView/companyViewReducer.js +46 -1
  128. package/lib/esm/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.js +25 -0
  129. package/lib/esm/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.js +98 -0
  130. package/lib/esm/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  131. package/lib/esm/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
  132. package/lib/esm/view/createTransferEntry/createTransferEntryReducer.js +82 -0
  133. package/lib/esm/view/createTransferEntry/createTransferEntrySelector.js +64 -0
  134. package/lib/esm/view/createTransferEntry/createTransferEntryState.js +17 -0
  135. package/lib/esm/view/createTransferEntry/epics/createTransferEntryEpic.js +136 -0
  136. package/lib/esm/view/createTransferEntry/epics/fetchTransferAccountsEpic.js +36 -0
  137. package/lib/esm/view/dashboard/dashboardReducer.js +11 -1
  138. package/lib/esm/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -3
  139. package/lib/esm/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +3 -4
  140. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +13 -9
  141. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +3 -16
  142. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +9 -16
  143. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +2 -2
  144. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +2 -13
  145. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +2 -6
  146. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -2
  147. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +2 -6
  148. package/lib/esm/view/expenseAutomationView/expenseAutomationViewReducer.js +3 -20
  149. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +21 -49
  150. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +14 -7
  151. package/lib/esm/view/expenseAutomationView/transactionFilterHelpers.js +106 -18
  152. package/lib/esm/view/fileView/epic/deleteFileEpic.js +2 -2
  153. package/lib/esm/view/fileView/epic/deleteFileListEpic.js +2 -2
  154. package/lib/esm/view/fileView/epic/updateFileNameEpic.js +2 -2
  155. package/lib/esm/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +40 -0
  156. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +29 -0
  157. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +40 -0
  158. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewReducer.js +218 -50
  159. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewSelector.js +12 -2
  160. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewState.js +12 -0
  161. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +22 -2
  162. package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +14 -0
  163. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +109 -12
  164. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +10 -2
  165. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +8 -4
  166. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +11 -7
  167. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +54 -0
  168. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +13 -4
  169. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +140 -16
  170. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +60 -4
  171. package/lib/esm/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +8 -2
  172. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +29 -0
  173. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +78 -0
  174. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +47 -0
  175. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +47 -0
  176. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +32 -0
  177. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +32 -0
  178. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +54 -0
  179. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +92 -0
  180. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +224 -0
  181. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +10 -0
  182. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +23 -0
  183. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +36 -0
  184. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +27 -0
  185. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +28 -0
  186. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +52 -0
  187. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +22 -0
  188. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +1 -0
  189. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +36 -0
  190. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +39 -0
  191. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +34 -0
  192. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +71 -0
  193. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +21 -0
  194. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +1 -0
  195. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +38 -0
  196. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +289 -0
  197. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +109 -0
  198. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +44 -0
  199. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +111 -0
  200. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +25 -0
  201. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +363 -0
  202. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +36 -0
  203. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +19 -0
  204. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +6 -0
  205. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +119 -0
  206. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +154 -0
  207. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +22 -0
  208. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +1 -0
  209. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +49 -0
  210. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +140 -0
  211. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +20 -0
  212. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +100 -0
  213. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +96 -0
  214. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +59 -0
  215. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +24 -0
  216. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +25 -0
  217. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +1 -0
  218. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +34 -0
  219. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +57 -0
  220. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +35 -0
  221. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +2 -2
  222. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +42 -4
  223. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +35 -0
  224. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +62 -0
  225. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +44 -0
  226. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +58 -0
  227. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +77 -0
  228. package/lib/esm/view/spendManagement/commonSetup/kycKybAutofillActions.js +14 -0
  229. package/lib/esm/view/spendManagement/commonSetup/kycKybParseMapper.js +207 -0
  230. package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +106 -52
  231. package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +6 -1
  232. package/lib/esm/view/spendManagement/commonSetup/types/kycKybAutofill.js +41 -0
  233. package/lib/esm/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +5 -1
  234. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +10 -2
  235. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +8 -2
  236. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +11 -7
  237. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +61 -0
  238. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +13 -4
  239. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +80 -11
  240. package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.js +18 -0
  241. package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.js +18 -0
  242. package/lib/esm/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryVideoViewedEpic.js +1 -1
  243. package/lib/esm/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.js +45 -1
  244. package/lib/esm/view/transactionDetail/journalEntryLinesViewModel.js +149 -0
  245. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +6 -1
  246. package/lib/index.d.ts +94 -40
  247. package/lib/index.js +281 -37
  248. package/lib/reducer.d.ts +21 -0
  249. package/lib/reducer.js +21 -0
  250. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +11 -2
  251. package/lib/view/aiCfoView/aiCfoViewReducer.js +6 -3
  252. package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  253. package/lib/view/aiCfoView/epics/createSessionEpic.js +2 -1
  254. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +8 -1
  255. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  256. package/lib/view/auditReportView/auditReportViewState.d.ts +1 -1
  257. package/lib/view/billPayCard/billPayCardSelector.d.ts +1 -1
  258. package/lib/view/cardBalance/cardBalanceSelector.d.ts +1 -1
  259. package/lib/view/cashBalance/cashBalanceSelector.d.ts +1 -1
  260. package/lib/view/cashInCashOut/cashInCashOutSelector.d.ts +1 -1
  261. package/lib/view/cashPosition/cashPositionSelector.d.ts +1 -1
  262. package/lib/view/companyTaskManagerView/companyTaskManagerViewPayload.d.ts +19 -11
  263. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +11 -5
  264. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +40 -12
  265. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +2 -0
  266. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +13 -3
  267. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +11 -3
  268. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.d.ts +10 -0
  269. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +42 -0
  270. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.d.ts +1 -3
  271. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  272. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.d.ts +6 -0
  273. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +20 -0
  274. package/lib/view/companyView/companyViewReducer.d.ts +12 -1
  275. package/lib/view/companyView/companyViewReducer.js +48 -3
  276. package/lib/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.d.ts +9 -0
  277. package/lib/view/companyView/epic/companyPassport/dismissCapitalizationOnboardingEpic.js +29 -0
  278. package/lib/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.d.ts +10 -0
  279. package/lib/view/companyView/epic/companyPassport/updateCapitalizationAccountThresholdEpic.js +102 -0
  280. package/lib/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  281. package/lib/view/companyView/types/cockpitTypes.d.ts +3 -2
  282. package/lib/view/companyView/types/companyPassport/companyPassportViewState.d.ts +1 -0
  283. package/lib/view/companyView/types/companyPassport/companyPassportViewState.js +4 -0
  284. package/lib/view/createTransferEntry/createTransferEntryReducer.d.ts +32 -0
  285. package/lib/view/createTransferEntry/createTransferEntryReducer.js +86 -0
  286. package/lib/view/createTransferEntry/createTransferEntrySelector.d.ts +39 -0
  287. package/lib/view/createTransferEntry/createTransferEntrySelector.js +69 -0
  288. package/lib/view/createTransferEntry/createTransferEntryState.d.ts +30 -0
  289. package/lib/view/createTransferEntry/createTransferEntryState.js +20 -0
  290. package/lib/view/createTransferEntry/epics/createTransferEntryEpic.d.ts +11 -0
  291. package/lib/view/createTransferEntry/epics/createTransferEntryEpic.js +140 -0
  292. package/lib/view/createTransferEntry/epics/fetchTransferAccountsEpic.d.ts +14 -0
  293. package/lib/view/createTransferEntry/epics/fetchTransferAccountsEpic.js +40 -0
  294. package/lib/view/dashboard/dashboardReducer.d.ts +2 -2
  295. package/lib/view/dashboard/dashboardReducer.js +11 -1
  296. package/lib/view/expenseAutomationView/epics/common/fetchAllExpenseAutomationTabsEpic.js +3 -3
  297. package/lib/view/expenseAutomationView/epics/common/refreshExpenseAutomationCurrentTabEpic.js +3 -4
  298. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.d.ts +6 -0
  299. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +14 -10
  300. package/lib/view/expenseAutomationView/epics/transactionCategorization/backgroundRefetchReviewTabEpic.js +3 -16
  301. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +9 -16
  302. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationViewEpic.js +2 -2
  303. package/lib/view/expenseAutomationView/epics/transactionCategorization/markTransactionAsNotMiscategorizedEpic.js +2 -13
  304. package/lib/view/expenseAutomationView/epics/transactionCategorization/saveTransactionCategorizationEpic.js +2 -6
  305. package/lib/view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic.js +2 -2
  306. package/lib/view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic.js +2 -6
  307. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.d.ts +2 -6
  308. package/lib/view/expenseAutomationView/expenseAutomationViewReducer.js +3 -20
  309. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  310. package/lib/view/expenseAutomationView/payload/transactionCategorizationPayload.d.ts +20 -9
  311. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +11 -18
  312. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +22 -50
  313. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +8 -6
  314. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.d.ts +2 -1
  315. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +16 -8
  316. package/lib/view/expenseAutomationView/transactionFilterHelpers.js +106 -18
  317. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
  318. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +2 -3
  319. package/lib/view/fileView/epic/deleteFileEpic.js +1 -1
  320. package/lib/view/fileView/epic/deleteFileListEpic.js +1 -1
  321. package/lib/view/fileView/epic/updateFileNameEpic.js +1 -1
  322. package/lib/view/financeStatement/financeStatementReducer.d.ts +1 -1
  323. package/lib/view/globalMerchantView/globalMerchantViewReducer.d.ts +2 -2
  324. package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.d.ts +7 -0
  325. package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +44 -0
  326. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.d.ts +8 -0
  327. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +33 -0
  328. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.d.ts +9 -0
  329. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +44 -0
  330. package/lib/view/onboardingView/customerView/onboardingCustomerViewPayload.d.ts +3 -0
  331. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +41 -4
  332. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.js +220 -51
  333. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.d.ts +5 -1
  334. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +15 -2
  335. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.d.ts +40 -0
  336. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.js +13 -1
  337. package/lib/view/people/peopleTypes.d.ts +1 -1
  338. package/lib/view/reimbursementCard/reimbursementCardSelector.d.ts +1 -1
  339. package/lib/view/reportsResync/reportsResyncReducer.d.ts +2 -2
  340. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  341. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.d.ts +8 -1
  342. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +21 -1
  343. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.d.ts +22 -0
  344. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.d.ts +7 -0
  345. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +14 -0
  346. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.d.ts +14 -3
  347. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +110 -13
  348. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewState.d.ts +16 -0
  349. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +10 -2
  350. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +8 -4
  351. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +10 -6
  352. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.d.ts +23 -0
  353. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +58 -0
  354. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +12 -3
  355. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.d.ts +59 -1
  356. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +142 -17
  357. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonState.d.ts +31 -5
  358. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +8 -1
  359. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +60 -4
  360. package/lib/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +8 -2
  361. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.d.ts +47 -0
  362. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +34 -0
  363. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.d.ts +23 -0
  364. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +82 -0
  365. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.d.ts +40 -0
  366. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +51 -0
  367. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.d.ts +37 -0
  368. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +53 -0
  369. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.d.ts +14 -0
  370. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +36 -0
  371. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.d.ts +7 -0
  372. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +36 -0
  373. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.d.ts +56 -0
  374. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +60 -0
  375. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.d.ts +22 -0
  376. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +96 -0
  377. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.d.ts +59 -0
  378. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +229 -0
  379. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.d.ts +122 -0
  380. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +13 -0
  381. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.d.ts +7 -0
  382. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +27 -0
  383. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.d.ts +9 -0
  384. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +40 -0
  385. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.d.ts +7 -0
  386. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +31 -0
  387. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.d.ts +15 -0
  388. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +32 -0
  389. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.d.ts +14 -0
  390. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +56 -0
  391. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.d.ts +15 -0
  392. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +28 -0
  393. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.d.ts +8 -0
  394. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +2 -0
  395. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.d.ts +8 -0
  396. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +40 -0
  397. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.d.ts +8 -0
  398. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +43 -0
  399. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.d.ts +8 -0
  400. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +38 -0
  401. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.d.ts +15 -0
  402. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +75 -0
  403. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.d.ts +15 -0
  404. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +27 -0
  405. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.d.ts +7 -0
  406. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +2 -0
  407. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.d.ts +8 -0
  408. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +42 -0
  409. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.d.ts +8 -0
  410. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +294 -0
  411. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.d.ts +8 -0
  412. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +113 -0
  413. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.d.ts +9 -0
  414. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +48 -0
  415. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.d.ts +8 -0
  416. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +115 -0
  417. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.d.ts +13 -0
  418. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +29 -0
  419. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.d.ts +14 -0
  420. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +369 -0
  421. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.d.ts +6 -0
  422. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +40 -0
  423. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.d.ts +7 -0
  424. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +26 -0
  425. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.d.ts +116 -0
  426. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +10 -0
  427. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.d.ts +33 -0
  428. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +126 -0
  429. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +52 -0
  430. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +158 -0
  431. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +11 -0
  432. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +31 -0
  433. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +12 -0
  434. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +2 -0
  435. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +9 -0
  436. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +53 -0
  437. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.d.ts +10 -0
  438. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +144 -0
  439. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.d.ts +7 -0
  440. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +24 -0
  441. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.d.ts +11 -0
  442. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +104 -0
  443. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.d.ts +22 -0
  444. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +100 -0
  445. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.d.ts +8 -0
  446. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +63 -0
  447. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.d.ts +3 -0
  448. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +28 -0
  449. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  450. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +14 -0
  451. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +27 -1
  452. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.d.ts +34 -0
  453. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +2 -0
  454. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.d.ts +7 -0
  455. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +38 -0
  456. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.d.ts +12 -0
  457. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +61 -0
  458. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.d.ts +9 -0
  459. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +39 -0
  460. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.d.ts +2 -2
  461. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +1 -1
  462. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.d.ts +12 -2
  463. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +43 -5
  464. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.d.ts +7 -0
  465. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +42 -1
  466. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardState.d.ts +5 -0
  467. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts +11 -0
  468. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +66 -0
  469. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.d.ts +3 -0
  470. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +48 -0
  471. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.d.ts +28 -0
  472. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +62 -0
  473. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.d.ts +9 -0
  474. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +81 -0
  475. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.d.ts +24 -0
  476. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.js +17 -0
  477. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.d.ts +29 -0
  478. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.js +215 -0
  479. package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +28 -2
  480. package/lib/view/spendManagement/commonSetup/setupViewReducer.js +107 -53
  481. package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +7 -2
  482. package/lib/view/spendManagement/commonSetup/setupViewSelector.js +6 -1
  483. package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +19 -0
  484. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.d.ts +154 -0
  485. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.js +46 -0
  486. package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +5 -1
  487. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +10 -2
  488. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +8 -2
  489. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +10 -6
  490. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.d.ts +14 -0
  491. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +65 -0
  492. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +12 -3
  493. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.d.ts +14 -3
  494. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +81 -12
  495. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewState.d.ts +12 -0
  496. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.d.ts +8 -0
  497. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoIntroClosedByOutsideClickEpic.js +22 -0
  498. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.d.ts +8 -0
  499. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryPromoRemindMeLaterClickedEpic.js +22 -0
  500. package/lib/view/spendManagement/treasury/treasurySetUp/epic/updateTreasuryVideoViewedEpic.js +1 -1
  501. package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.d.ts +1 -1
  502. package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewReducer.js +46 -2
  503. package/lib/view/spendManagement/treasury/treasurySetUp/treasurySetupViewState.d.ts +2 -0
  504. package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
  505. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +1 -1
  506. package/lib/view/tasksCard/tasksCardSelector.d.ts +1 -1
  507. package/lib/view/topEx/topExSelector.d.ts +1 -1
  508. package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +102 -0
  509. package/lib/view/transactionDetail/journalEntryLinesViewModel.js +160 -0
  510. package/lib/view/transactionDetail/transactionDetailPayload.d.ts +1 -1
  511. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +6 -1
  512. package/lib/view/transactionDetail/transactionDetailSelector.js +6 -1
  513. package/lib/zeniAPI.d.ts +1 -0
  514. package/package.json +1 -1
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCashManagementOverview = exports.getCashManagementOverviewBanner = void 0;
4
+ const amount_1 = require("../../../../commonStateTypes/amount");
5
+ const reduceFetchState_1 = require("../../../../commonStateTypes/reduceFetchState");
6
+ const depositAccountSelector_1 = require("../../../../entity/depositAccount/depositAccountSelector");
7
+ const setupViewSelector_1 = require("../../commonSetup/setupViewSelector");
8
+ /**
9
+ * Default account type used when the recommend payload has no movement to
10
+ * expose yet (e.g. before the first fetch resolves). Callers that care about
11
+ * the movement should also gate on `fetchState === 'Completed'`.
12
+ */
13
+ const DEFAULT_BANK_ACCOUNT_TYPE = 'deposit_account';
14
+ const DEFAULT_SUB_MOVEMENT_TYPE = 'push';
15
+ const getCashManagementOverviewBanner = (state) => {
16
+ const { banner, recentTransfer } = state.cashManagementOverviewState;
17
+ const autoSweep = state.autoSweepFlowState;
18
+ // The banner today surfaces a single recommended movement (the first one
19
+ // returned by the agent). When the agent returns multiple groups/movements
20
+ // we'll need to broaden this — for now consumers only render one.
21
+ const movement = banner.data?.moneyMovements[0]?.movements[0];
22
+ const aggregate = (0, reduceFetchState_1.reduceAllFetchState)([
23
+ { fetchState: banner.fetchState, error: banner.error },
24
+ { fetchState: autoSweep.fetchState, error: autoSweep.error },
25
+ { fetchState: recentTransfer.fetchState, error: recentTransfer.error },
26
+ ]);
27
+ const subMovementType = movement?.subMovementType ?? DEFAULT_SUB_MOVEMENT_TYPE;
28
+ // The "primary" account is the deposit-account side of the movement —
29
+ // source for a push (money leaving primary → treasury) and destination
30
+ // for a pull (money returning to primary).
31
+ const primaryAccountId = subMovementType === 'pull'
32
+ ? movement?.destinationBankAccountId
33
+ : movement?.sourceBankAccountId;
34
+ const primaryDepositAccount = primaryAccountId != null && primaryAccountId !== ''
35
+ ? (0, depositAccountSelector_1.getDepositAccountByDepositAccountId)(state.depositAccountState, primaryAccountId)
36
+ : undefined;
37
+ const primaryFundingAccount = primaryDepositAccount != null
38
+ ? (0, setupViewSelector_1.mapDepositAccToFundingAccount)(primaryDepositAccount)
39
+ : undefined;
40
+ // For pull, surface the largest outflow in the horizon as the
41
+ // "triggering" event. This is a heuristic — the agent doesn't tag a
42
+ // specific outflow today, but the largest one is the most likely cause
43
+ // of the buffer breach and matches what the design wants to highlight.
44
+ const triggeringOutflow = subMovementType === 'pull'
45
+ ? pickLargestOutflow(banner.data?.outflows)
46
+ : undefined;
47
+ return {
48
+ fetchState: aggregate.fetchState,
49
+ error: aggregate.error,
50
+ amount: movement?.amount ?? (0, amount_1.zeroAmount)(),
51
+ cashManagementSettingsId: autoSweep.settingsId,
52
+ destinationBankAccountId: movement?.destinationBankAccountId ?? '',
53
+ destinationBankAccountType: movement?.destinationBankAccountType ?? DEFAULT_BANK_ACCOUNT_TYPE,
54
+ reasoning: movement?.reasoning ?? '',
55
+ sourceBankAccountId: movement?.sourceBankAccountId ?? '',
56
+ sourceBankAccountType: movement?.sourceBankAccountType ?? DEFAULT_BANK_ACCOUNT_TYPE,
57
+ subMovementType,
58
+ primaryFundingAccount,
59
+ triggeringOutflow,
60
+ recentTransfer: recentTransfer.data,
61
+ version: 0,
62
+ };
63
+ };
64
+ exports.getCashManagementOverviewBanner = getCashManagementOverviewBanner;
65
+ const pickLargestOutflow = (outflows) => {
66
+ if (outflows == null || outflows.length === 0) {
67
+ return undefined;
68
+ }
69
+ return outflows.reduce((largest, event) => event.amount.amount > largest.amount.amount ? event : largest);
70
+ };
71
+ const getCashManagementOverview = (state) => {
72
+ const { cashManagementOverviewState, depositAccountListState, depositAccountState, paymentAccountListState, paymentAccountState, treasuryDetailState, } = state;
73
+ const aggregate = (0, reduceFetchState_1.reduceAllFetchState)([
74
+ {
75
+ fetchState: paymentAccountListState.fetchState,
76
+ error: paymentAccountListState.error,
77
+ },
78
+ {
79
+ fetchState: depositAccountListState.fetchState,
80
+ error: depositAccountListState.error,
81
+ },
82
+ {
83
+ fetchState: treasuryDetailState.fetchState,
84
+ error: treasuryDetailState.error,
85
+ },
86
+ {
87
+ fetchState: cashManagementOverviewState.banner.fetchState,
88
+ error: cashManagementOverviewState.banner.error,
89
+ },
90
+ {
91
+ fetchState: state.autoSweepFlowState.fetchState,
92
+ error: state.autoSweepFlowState.error,
93
+ },
94
+ ]);
95
+ const treasuryBalance = treasuryDetailState.accountSummary?.totalBalance ?? (0, amount_1.zeroAmount)();
96
+ const cashBalance = sumCashBalances(paymentAccountListState.paymentAccountIds, paymentAccountState, depositAccountListState.accountIds, depositAccountState);
97
+ const totalCash = addAmounts(treasuryBalance, cashBalance);
98
+ const bannerData = cashManagementOverviewState.banner.data;
99
+ const inflowEvents = bannerData?.inflows ?? [];
100
+ const outflowEvents = bannerData?.outflows ?? [];
101
+ const totalInFlow = sumEventAmounts(inflowEvents);
102
+ const totalOutFlow = sumEventAmounts(outflowEvents);
103
+ const cashflow = subtractAmounts(totalInFlow, totalOutFlow);
104
+ const projectionData = buildProjectionData(cashBalance, inflowEvents, outflowEvents);
105
+ return {
106
+ banner: (0, exports.getCashManagementOverviewBanner)(state),
107
+ cashBalance,
108
+ cashflow,
109
+ inflowEvents,
110
+ outflowEvents,
111
+ projectionData,
112
+ totalCash,
113
+ totalInFlow,
114
+ totalOutFlow,
115
+ treasuryBalance,
116
+ fetchState: aggregate.fetchState,
117
+ error: aggregate.error,
118
+ version: 0,
119
+ };
120
+ };
121
+ exports.getCashManagementOverview = getCashManagementOverview;
122
+ /**
123
+ * Walks the inflow / outflow events in chronological order, stepping the
124
+ * running balance from today's `cashBalance`. Emits a point per event so the
125
+ * chart can render colored markers at each cash event. Events with the same
126
+ * payment date are kept as separate steps (preserves the marker count even
127
+ * if Recharts overlays them at the same X position).
128
+ */
129
+ const buildProjectionData = (cashBalance, inflowEvents, outflowEvents) => {
130
+ const events = [
131
+ ...inflowEvents.map((e) => ({
132
+ amount: e.amount,
133
+ date: e.paymentDate,
134
+ isInflow: true,
135
+ })),
136
+ ...outflowEvents.map((e) => ({
137
+ amount: e.amount,
138
+ date: e.paymentDate,
139
+ isInflow: false,
140
+ })),
141
+ ].sort((a, b) => {
142
+ const diff = a.date.valueOf() - b.date.valueOf();
143
+ if (diff !== 0) {
144
+ return diff;
145
+ }
146
+ // Same-day tie-breaker: apply outflows before inflows so the projection
147
+ // shows the worst-case low first, then the recovery — matches the
148
+ // "show me the dip" framing on the cash management overview.
149
+ if (a.isInflow === b.isInflow) {
150
+ return 0;
151
+ }
152
+ return a.isInflow ? 1 : -1;
153
+ });
154
+ let balance = cashBalance;
155
+ const points = [{ balance, date: 'Today' }];
156
+ events.forEach((event) => {
157
+ balance = event.isInflow
158
+ ? addAmounts(balance, event.amount)
159
+ : subtractAmounts(balance, event.amount);
160
+ points.push({
161
+ balance,
162
+ date: event.date.format('MMM D'),
163
+ isInflow: event.isInflow ? true : undefined,
164
+ isOutflow: event.isInflow ? undefined : true,
165
+ });
166
+ });
167
+ return points;
168
+ };
169
+ const sumEventAmounts = (events) => events.reduce((acc, event) => addAmounts(acc, event.amount), (0, amount_1.zeroAmount)());
170
+ /**
171
+ * Subtracts `b` from `a`, sharing the currency-match guard with `addAmounts`.
172
+ * Used to compute net cash flow (`inflow - outflow`).
173
+ */
174
+ const subtractAmounts = (a, b) => {
175
+ if (isZeroAmount(b)) {
176
+ return { ...a };
177
+ }
178
+ if (isZeroAmount(a)) {
179
+ return { ...b, amount: -b.amount };
180
+ }
181
+ if (a.currencyCode !== b.currencyCode ||
182
+ a.currencySymbol !== b.currencySymbol) {
183
+ console.warn(`cashManagementOverview: skipping balance with mismatched currency. Expected ${a.currencyCode} (${a.currencySymbol}), got ${b.currencyCode} (${b.currencySymbol}).`);
184
+ return a;
185
+ }
186
+ return {
187
+ amount: a.amount - b.amount,
188
+ currencyCode: a.currencyCode,
189
+ currencySymbol: a.currencySymbol,
190
+ };
191
+ };
192
+ const isZeroAmount = (a) => a.amount === 0 && a.currencyCode === 'USD' && a.currencySymbol === '$';
193
+ /**
194
+ * Adds two Amounts. Currencies must match (the seeded zeroAmount() counts as
195
+ * "no currency yet" and adopts `b`'s currency). Mismatches return `a`
196
+ * unchanged and warn — mixing currencies in a total is a bug, not silent
197
+ * conversion.
198
+ */
199
+ const addAmounts = (a, b) => {
200
+ if (isZeroAmount(a)) {
201
+ return { ...b };
202
+ }
203
+ if (a.currencyCode !== b.currencyCode ||
204
+ a.currencySymbol !== b.currencySymbol) {
205
+ console.warn(`cashManagementOverview: skipping balance with mismatched currency. Expected ${a.currencyCode} (${a.currencySymbol}), got ${b.currencyCode} (${b.currencySymbol}).`);
206
+ return a;
207
+ }
208
+ return {
209
+ amount: a.amount + b.amount,
210
+ currencyCode: a.currencyCode,
211
+ currencySymbol: a.currencySymbol,
212
+ };
213
+ };
214
+ const sumCashBalances = (paymentAccountIds, paymentAccountState, depositAccountIds, depositAccountState) => {
215
+ let total = (0, amount_1.zeroAmount)();
216
+ paymentAccountIds.forEach((id) => {
217
+ const balance = paymentAccountState.paymentAccountByID[id]?.balances?.available;
218
+ if (balance != null) {
219
+ total = addAmounts(total, balance);
220
+ }
221
+ });
222
+ depositAccountIds.forEach((id) => {
223
+ const balance = depositAccountState.depositAccountByID[id]?.accountBalance?.available;
224
+ if (balance != null) {
225
+ total = addAmounts(total, balance);
226
+ }
227
+ });
228
+ return total;
229
+ };
@@ -0,0 +1,122 @@
1
+ import { Amount } from '../../../../commonStateTypes/amount';
2
+ import { FetchStateAndError, ID } from '../../../../commonStateTypes/common';
3
+ import { ZeniDate } from '../../../../zeniDayJS';
4
+ /**
5
+ * Bank account types the cash agent reports against. Kept as a string union so
6
+ * the consumer can branch on it; new values from the agent will widen the type
7
+ * via TypeScript inference and won't break callers handling the known set.
8
+ */
9
+ export type CashManagementBankAccountType = 'deposit_account' | 'treasury_account';
10
+ /** Direction of a single sweep movement. */
11
+ export type CashManagementSubMovementType = 'push' | 'pull';
12
+ /**
13
+ * Bank account types reported on upcoming-payment events. Wider than
14
+ * `CashManagementBankAccountType` because the cash agent can attribute
15
+ * inflows / outflows to payment accounts too.
16
+ */
17
+ export type UpcomingPaymentEventAccountType = 'deposit_account' | 'treasury_account' | 'payment_account';
18
+ /**
19
+ * One projected inflow / outflow returned by the cash agent. Stored on the
20
+ * banner state directly (no separate entity bucket) because these events are
21
+ * only meaningful in the context of a banner fetch — they're not addressable
22
+ * by id from anywhere else.
23
+ */
24
+ export interface UpcomingPaymentEvent {
25
+ accountId: ID;
26
+ accountType: UpcomingPaymentEventAccountType;
27
+ amount: Amount;
28
+ label: string;
29
+ paymentDate: ZeniDate;
30
+ }
31
+ /**
32
+ * A single recommended money movement returned by the cash agent (e.g.
33
+ * "sweep $99,100 from checking to treasury"). Mirrors one element of the
34
+ * `money_movements[].movements` array in the recommend response, with field
35
+ * names camelCased and `amount`/`currency_code` collapsed into an `Amount`.
36
+ */
37
+ export interface CashManagementMovement {
38
+ amount: Amount;
39
+ destinationBankAccountId: ID;
40
+ destinationBankAccountType: CashManagementBankAccountType;
41
+ reasoning: string;
42
+ sourceBankAccountId: ID;
43
+ sourceBankAccountType: CashManagementBankAccountType;
44
+ subMovementType: CashManagementSubMovementType;
45
+ }
46
+ /**
47
+ * A group of related recommended movements (e.g. all `treasury` sweeps).
48
+ * `movementType` is left as `string` because the agent may grow new groups
49
+ * over time; today the only known value is `'treasury'`.
50
+ */
51
+ export interface CashManagementMoneyMovementGroup {
52
+ movements: CashManagementMovement[];
53
+ movementType: string;
54
+ }
55
+ /**
56
+ * Banner-side data derived from the cash agent's recommend endpoint.
57
+ * `inflows` and `outflows` carry the full event objects; the selector reads
58
+ * them directly without an entity-bucket lookup.
59
+ */
60
+ export interface CashManagementBannerData {
61
+ inflows: UpcomingPaymentEvent[];
62
+ moneyMovements: CashManagementMoneyMovementGroup[];
63
+ outflows: UpcomingPaymentEvent[];
64
+ }
65
+ export interface CashManagementBannerState extends FetchStateAndError {
66
+ data?: CashManagementBannerData;
67
+ }
68
+ /**
69
+ * Lifecycle of a cash-management transfer once the agent has acted on a
70
+ * recommendation. Wider than the simple "completed / failed" pair because
71
+ * the bank-rail flow can park on multiple intermediate states
72
+ * (`mfa_required`, `consent_required`, `scheduled`, `delayed`, etc.).
73
+ */
74
+ export type CashManagementTransferStatus = 'mfa_required' | 'consent_required' | 'scheduled' | 'initiated' | 'problem' | 'completed' | 'failed' | 'canceled' | 'delayed';
75
+ /**
76
+ * Reason that drove the recommendation behind a transfer:
77
+ * - `surplus`: operating balance exceeds buffer → sweep up to treasury (push)
78
+ * - `shortfall`: operating balance below buffer → pull back from treasury
79
+ * - `adequate`: no action needed (transfers in this state would be rare)
80
+ */
81
+ export type CashManagementScenario = 'surplus' | 'shortfall' | 'adequate';
82
+ /**
83
+ * A single cash-management transfer record returned by the agent's
84
+ * `/cash-management/transfers` endpoint. Surfaces both the financial state
85
+ * (amount, dates, status, scenario) and the agent's rationale (`reasoning`)
86
+ * so the banner can render an "in-flight / scheduled / complete" summary
87
+ * for existing users without re-deriving it from the recommend response.
88
+ */
89
+ export interface CashManagementTransfer {
90
+ amount: Amount;
91
+ atomicTransactionId: ID;
92
+ cashManagementTransferId: ID;
93
+ createTime: ZeniDate;
94
+ date: ZeniDate;
95
+ depositAccountId: ID;
96
+ reasoning: string;
97
+ scenario: CashManagementScenario;
98
+ status: CashManagementTransferStatus;
99
+ transactionType: CashManagementSubMovementType;
100
+ updateTime: ZeniDate;
101
+ }
102
+ export interface CashManagementRecentTransferState extends FetchStateAndError {
103
+ data?: CashManagementTransfer;
104
+ }
105
+ /**
106
+ * Aggregated slice for the cash-management overview surfaces. Three
107
+ * sub-states track the three independent API calls that back the banner:
108
+ * - `banner`: the agent's recommendation (`/cash-agent/recommend`)
109
+ * - `recentTransfer`: the most recent actual transfer
110
+ * (`/cash-management/transfers`)
111
+ * - settings (the user's saved auto-sweep config) is owned by
112
+ * `autoSweepFlowState` and folded in at the selector layer.
113
+ *
114
+ * The selector aggregates fetchState across all three before exposing a
115
+ * single value to the consumer.
116
+ */
117
+ export interface CashManagementOverviewState {
118
+ banner: CashManagementBannerState;
119
+ recentTransfer: CashManagementRecentTransferState;
120
+ }
121
+ export declare const initialCashManagementBannerState: CashManagementBannerState;
122
+ export declare const initialCashManagementRecentTransferState: CashManagementRecentTransferState;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initialCashManagementRecentTransferState = exports.initialCashManagementBannerState = void 0;
4
+ exports.initialCashManagementBannerState = {
5
+ fetchState: 'Not-Started',
6
+ error: undefined,
7
+ data: undefined,
8
+ };
9
+ exports.initialCashManagementRecentTransferState = {
10
+ fetchState: 'Not-Started',
11
+ error: undefined,
12
+ data: undefined,
13
+ };
@@ -0,0 +1,7 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { RootState } from '../../../../../reducer';
4
+ import { fetchCashManagementSettings } from '../../autoSweepFlow/autoSweepFlowReducer';
5
+ import { fetchCashManagementBanner, fetchCashManagementRecommendation, fetchRecentTransfer } from '../cashManagementOverviewReducer';
6
+ export type ActionType = ReturnType<typeof fetchCashManagementBanner> | ReturnType<typeof fetchCashManagementRecommendation> | ReturnType<typeof fetchCashManagementSettings> | ReturnType<typeof fetchRecentTransfer>;
7
+ export declare const fetchCashManagementBannerEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchCashManagementBannerEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const autoSweepFlowReducer_1 = require("../../autoSweepFlow/autoSweepFlowReducer");
7
+ const cashManagementOverviewReducer_1 = require("../cashManagementOverviewReducer");
8
+ const fetchCashManagementBannerEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(cashManagementOverviewReducer_1.fetchCashManagementBanner.match), (0, operators_1.mergeMap)((action) => {
9
+ const { cacheOverride } = action.payload;
10
+ const state = state$.value;
11
+ const actions = [];
12
+ if (cacheOverride === true ||
13
+ needsFetch(state.cashManagementOverviewState.banner.fetchState)) {
14
+ actions.push((0, cashManagementOverviewReducer_1.fetchCashManagementRecommendation)());
15
+ }
16
+ if (cacheOverride === true ||
17
+ needsFetch(state.autoSweepFlowState.fetchState)) {
18
+ actions.push((0, autoSweepFlowReducer_1.fetchCashManagementSettings)());
19
+ }
20
+ if (cacheOverride === true ||
21
+ needsFetch(state.cashManagementOverviewState.recentTransfer.fetchState)) {
22
+ actions.push((0, cashManagementOverviewReducer_1.fetchRecentTransfer)());
23
+ }
24
+ return (0, rxjs_1.from)(actions);
25
+ }));
26
+ exports.fetchCashManagementBannerEpic = fetchCashManagementBannerEpic;
27
+ const needsFetch = (fetchState) => fetchState !== 'Completed' && fetchState !== 'In-Progress';
@@ -0,0 +1,9 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { RootState } from '../../../../../reducer';
4
+ import { fetchAutoTransferRules } from '../../../autotransferRules/autoTransferRulesReducer';
5
+ import { fetchTreasuryOverviewDetail } from '../../../treasury/treasuryList/treasuryDetailReducer';
6
+ import { fetchZeniAccountList } from '../../../zeniAccounts/zeniAccountList/zeniAccountListReducer';
7
+ import { fetchCashManagementBanner, fetchCashManagementOverviewPage } from '../cashManagementOverviewReducer';
8
+ export type ActionType = ReturnType<typeof fetchCashManagementOverviewPage> | ReturnType<typeof fetchTreasuryOverviewDetail> | ReturnType<typeof fetchZeniAccountList> | ReturnType<typeof fetchCashManagementBanner> | ReturnType<typeof fetchAutoTransferRules>;
9
+ export declare const fetchCashManagementOverviewPageEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchCashManagementOverviewPageEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const autoTransferRulesReducer_1 = require("../../../autotransferRules/autoTransferRulesReducer");
7
+ const treasuryDetailReducer_1 = require("../../../treasury/treasuryList/treasuryDetailReducer");
8
+ const zeniAccountListReducer_1 = require("../../../zeniAccounts/zeniAccountList/zeniAccountListReducer");
9
+ const cashManagementOverviewReducer_1 = require("../cashManagementOverviewReducer");
10
+ const fetchCashManagementOverviewPageEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(cashManagementOverviewReducer_1.fetchCashManagementOverviewPage.match), (0, operators_1.mergeMap)((action) => {
11
+ const { cacheOverride } = action.payload;
12
+ const state = state$.value;
13
+ const pageActions = [];
14
+ if (cacheOverride === true) {
15
+ // Banner orchestrator (fetchCashManagementBannerEpic) fans out to
16
+ // recommendation + settings + recent-transfer internally.
17
+ pageActions.push((0, treasuryDetailReducer_1.fetchTreasuryOverviewDetail)(true), (0, zeniAccountListReducer_1.fetchZeniAccountList)(true), (0, cashManagementOverviewReducer_1.fetchCashManagementBanner)(true), (0, autoTransferRulesReducer_1.fetchAutoTransferRules)(true));
18
+ }
19
+ else {
20
+ const treasuryDetailState = state.treasuryDetailState;
21
+ if (treasuryDetailState.hasValidState() === false &&
22
+ treasuryDetailState.fetchState !== 'In-Progress') {
23
+ pageActions.push((0, treasuryDetailReducer_1.fetchTreasuryOverviewDetail)(false));
24
+ }
25
+ // zeniAccountListState has no top-level fetchState to dedup against
26
+ // (only `newCheckingAccount.fetchState`), and the downstream epic is
27
+ // cheap. Always re-dispatch so the summary stays fresh on page entry.
28
+ pageActions.push((0, zeniAccountListReducer_1.fetchZeniAccountList)(false));
29
+ // Banner orchestrator handles its own per-slice dedup across
30
+ // recommendation, settings, and recent-transfer.
31
+ pageActions.push((0, cashManagementOverviewReducer_1.fetchCashManagementBanner)(false));
32
+ const autoTransferRules = state.autotransferRulesState;
33
+ if (autoTransferRules.fetchState !== 'Completed' &&
34
+ autoTransferRules.fetchState !== 'In-Progress') {
35
+ pageActions.push((0, autoTransferRulesReducer_1.fetchAutoTransferRules)(false));
36
+ }
37
+ }
38
+ return (0, rxjs_1.concat)((0, rxjs_1.from)(pageActions));
39
+ }));
40
+ exports.fetchCashManagementOverviewPageEpic = fetchCashManagementOverviewPageEpic;
@@ -0,0 +1,7 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { RootState } from '../../../../../reducer';
4
+ import { ZeniAPI } from '../../../../../zeniAPI';
5
+ import { fetchCashManagementRecommendation, updateCashManagementRecommendation, updateCashManagementRecommendationFetchStatus } from '../cashManagementOverviewReducer';
6
+ export type ActionType = ReturnType<typeof fetchCashManagementRecommendation> | ReturnType<typeof updateCashManagementRecommendation> | ReturnType<typeof updateCashManagementRecommendationFetchStatus>;
7
+ export declare const fetchCashManagementRecommendationEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchCashManagementRecommendationEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const responsePayload_1 = require("../../../../../responsePayload");
7
+ const cashManagementOverviewReducer_1 = require("../cashManagementOverviewReducer");
8
+ /**
9
+ * Hits the cash agent's recommend endpoint and stores the full response on
10
+ * the banner state — `inflows[]`, `outflows[]`, and `money_movements[]` all
11
+ * live there, so consumers can read them directly without an entity-bucket
12
+ * lookup.
13
+ */
14
+ const DEFAULT_RECOMMEND_HORIZON_DAYS = 30;
15
+ const fetchCashManagementRecommendationEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(cashManagementOverviewReducer_1.fetchCashManagementRecommendation.match), (0, operators_1.switchMap)(() => {
16
+ const endpoint = `${zeniAPI.apiEndPoints.cashManagementAgentBaseUrl}/1.0/cash-agent/recommend?horizon_days=${DEFAULT_RECOMMEND_HORIZON_DAYS}`;
17
+ return zeniAPI.getJSON(endpoint).pipe((0, operators_1.mergeMap)((response) => {
18
+ if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
19
+ return (0, rxjs_1.of)((0, cashManagementOverviewReducer_1.updateCashManagementRecommendation)({ data: response.data }));
20
+ }
21
+ return (0, rxjs_1.of)((0, cashManagementOverviewReducer_1.updateCashManagementRecommendationFetchStatus)({
22
+ fetchState: 'Error',
23
+ error: response.status,
24
+ }));
25
+ }), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, cashManagementOverviewReducer_1.updateCashManagementRecommendationFetchStatus)({
26
+ fetchState: 'Error',
27
+ error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Fetch cash management recommendation REST API call errored out: ' +
28
+ (error?.message ?? String(error))),
29
+ }))));
30
+ }));
31
+ exports.fetchCashManagementRecommendationEpic = fetchCashManagementRecommendationEpic;
@@ -0,0 +1,15 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { RootState } from '../../../../../reducer';
4
+ import { ZeniAPI } from '../../../../../zeniAPI';
5
+ import { fetchRecentTransfer, updateRecentTransfer, updateRecentTransferFetchStatus } from '../cashManagementOverviewReducer';
6
+ export type ActionType = ReturnType<typeof fetchRecentTransfer> | ReturnType<typeof updateRecentTransfer> | ReturnType<typeof updateRecentTransferFetchStatus>;
7
+ /**
8
+ * Hits `GET /cash-management/transfers` and stores the most recent actual
9
+ * cash-management transfer on `recentTransfer.data`. Used by the banner
10
+ * surface to render the "transfer scheduled / in-progress / complete"
11
+ * variant for existing users who have a settings id. The API returns the
12
+ * single most-relevant transfer under `transfer`; that field is optional
13
+ * (fresh users with no transfer history get `undefined`).
14
+ */
15
+ export declare const fetchRecentTransferEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchRecentTransferEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const responsePayload_1 = require("../../../../../responsePayload");
7
+ const cashManagementOverviewReducer_1 = require("../cashManagementOverviewReducer");
8
+ /**
9
+ * Hits `GET /cash-management/transfers` and stores the most recent actual
10
+ * cash-management transfer on `recentTransfer.data`. Used by the banner
11
+ * surface to render the "transfer scheduled / in-progress / complete"
12
+ * variant for existing users who have a settings id. The API returns the
13
+ * single most-relevant transfer under `transfer`; that field is optional
14
+ * (fresh users with no transfer history get `undefined`).
15
+ */
16
+ const fetchRecentTransferEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(cashManagementOverviewReducer_1.fetchRecentTransfer.match), (0, operators_1.switchMap)(() => {
17
+ const endpoint = `${zeniAPI.apiEndPoints.cashManagementAgentBaseUrl}/1.0/cash-management/transfers/latest`;
18
+ return zeniAPI.getJSON(endpoint).pipe((0, operators_1.mergeMap)((response) => {
19
+ if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
20
+ return (0, rxjs_1.of)((0, cashManagementOverviewReducer_1.updateRecentTransfer)({ data: response.data.transfer }));
21
+ }
22
+ return (0, rxjs_1.of)((0, cashManagementOverviewReducer_1.updateRecentTransferFetchStatus)({
23
+ fetchState: 'Error',
24
+ error: response.status,
25
+ }));
26
+ }), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, cashManagementOverviewReducer_1.updateRecentTransferFetchStatus)({
27
+ fetchState: 'Error',
28
+ error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Fetch recent cash-management transfer REST API call errored out: ' +
29
+ (error?.message ?? String(error))),
30
+ }))));
31
+ }));
32
+ exports.fetchRecentTransferEpic = fetchRecentTransferEpic;
@@ -0,0 +1,14 @@
1
+ import { FetchState } from '../../../../../commonStateTypes/common';
2
+ import { CreateCardPolicyTemplateRequest } from '../../../../../entity/cardPolicy/cardPolicyPayload';
3
+ import { ZeniAPIStatus } from '../../../../../responsePayload';
4
+ import { CardPolicyDetailState } from './cardPolicyDetailState';
5
+ export declare const initialState: CardPolicyDetailState;
6
+ export declare const fetchCardPolicyDetail: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[templateId: string], string, "cardPolicyDetail/fetchCardPolicyDetail", never, never>, updateCardPolicyDetailFetchStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
7
+ fetchState: FetchState;
8
+ error?: ZeniAPIStatus;
9
+ }, "cardPolicyDetail/updateCardPolicyDetailFetchStatus">, updateCardPolicyFormDraft: import("@reduxjs/toolkit").ActionCreatorWithPayload<CreateCardPolicyTemplateRequest, "cardPolicyDetail/updateCardPolicyFormDraft">, updateCardPolicy: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[templateId: string], string, "cardPolicyDetail/updateCardPolicy", never, never>, updateCardPolicyFetchStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
10
+ fetchState: FetchState;
11
+ error?: ZeniAPIStatus;
12
+ }, "cardPolicyDetail/updateCardPolicyFetchStatus">, clearCardPolicyDetail: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cardPolicyDetail/clearCardPolicyDetail">;
13
+ declare const _default: import("redux").Reducer<CardPolicyDetailState>;
14
+ export default _default;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.clearCardPolicyDetail = exports.updateCardPolicyFetchStatus = exports.updateCardPolicy = exports.updateCardPolicyFormDraft = exports.updateCardPolicyDetailFetchStatus = exports.fetchCardPolicyDetail = exports.initialState = void 0;
5
+ const toolkit_1 = require("@reduxjs/toolkit");
6
+ exports.initialState = {
7
+ detailTemplateId: undefined,
8
+ detailFetchState: { fetchState: 'Not-Started', error: undefined },
9
+ updateFetchState: { fetchState: 'Not-Started', error: undefined },
10
+ formDraft: undefined,
11
+ };
12
+ const cardPolicyDetail = (0, toolkit_1.createSlice)({
13
+ name: 'cardPolicyDetail',
14
+ initialState: exports.initialState,
15
+ reducers: {
16
+ fetchCardPolicyDetail: {
17
+ reducer(draft, action) {
18
+ draft.detailTemplateId = action.payload;
19
+ draft.detailFetchState.fetchState = 'In-Progress';
20
+ draft.detailFetchState.error = undefined;
21
+ // Prevent a stale draft from a previous template leaking into the new edit session.
22
+ draft.formDraft = undefined;
23
+ },
24
+ prepare(templateId) {
25
+ return { payload: templateId };
26
+ },
27
+ },
28
+ updateCardPolicyDetailFetchStatus(draft, action) {
29
+ draft.detailFetchState.fetchState = action.payload.fetchState;
30
+ draft.detailFetchState.error = action.payload.error;
31
+ },
32
+ updateCardPolicyFormDraft(draft, action) {
33
+ draft.formDraft = action.payload;
34
+ },
35
+ updateCardPolicy: {
36
+ reducer(draft,
37
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
+ _action) {
39
+ draft.updateFetchState.fetchState = 'In-Progress';
40
+ draft.updateFetchState.error = undefined;
41
+ },
42
+ prepare(templateId) {
43
+ return { payload: templateId };
44
+ },
45
+ },
46
+ updateCardPolicyFetchStatus(draft, action) {
47
+ draft.updateFetchState.fetchState = action.payload.fetchState;
48
+ draft.updateFetchState.error = action.payload.error;
49
+ },
50
+ clearCardPolicyDetail(draft) {
51
+ Object.assign(draft, exports.initialState);
52
+ },
53
+ },
54
+ });
55
+ _a = cardPolicyDetail.actions, exports.fetchCardPolicyDetail = _a.fetchCardPolicyDetail, exports.updateCardPolicyDetailFetchStatus = _a.updateCardPolicyDetailFetchStatus, exports.updateCardPolicyFormDraft = _a.updateCardPolicyFormDraft, exports.updateCardPolicy = _a.updateCardPolicy, exports.updateCardPolicyFetchStatus = _a.updateCardPolicyFetchStatus, exports.clearCardPolicyDetail = _a.clearCardPolicyDetail;
56
+ exports.default = cardPolicyDetail.reducer;
@@ -0,0 +1,15 @@
1
+ import { FetchStateAndError, ID } from '../../../../../commonStateTypes/common';
2
+ import { CreateCardPolicyTemplateRequest } from '../../../../../entity/cardPolicy/cardPolicyPayload';
3
+ import { CardPolicyTemplate } from '../../../../../entity/cardPolicy/cardPolicyState';
4
+ import { RootState } from '../../../../../reducer';
5
+ export interface CardPolicyDetailSelectorView {
6
+ detailFetchState: FetchStateAndError;
7
+ updateFetchState: FetchStateAndError;
8
+ formDraft?: CreateCardPolicyTemplateRequest;
9
+ template?: CardPolicyTemplate;
10
+ templateId?: ID;
11
+ }
12
+ export declare function getCardPolicyDetailView(state: RootState): CardPolicyDetailSelectorView;
13
+ export declare function getCardPolicyFormDraft(state: RootState): CreateCardPolicyTemplateRequest | undefined;
14
+ export declare function getCardPolicyDetailFetchState(state: RootState): FetchStateAndError;
15
+ export declare function getUpdateCardPolicyFetchState(state: RootState): FetchStateAndError;