@zeniai/client-epic-state 5.0.96 → 5.0.98-betaJK1

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 (346) 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/workingDayHelper.d.ts +9 -0
  5. package/lib/commonStateTypes/workingDayHelper.js +28 -1
  6. package/lib/entity/aiCfo/aiCfoPayload.d.ts +63 -5
  7. package/lib/entity/aiCfo/aiCfoReducer.d.ts +23 -2
  8. package/lib/entity/aiCfo/aiCfoReducer.js +249 -9
  9. package/lib/entity/aiCfo/aiCfoSelector.d.ts +4 -1
  10. package/lib/entity/aiCfo/aiCfoSelector.js +19 -1
  11. package/lib/entity/aiCfo/aiCfoState.d.ts +97 -4
  12. package/lib/entity/aiCfo/aiCfoState.js +18 -1
  13. package/lib/entity/approvalRule/approvalRuleConflict.d.ts +56 -0
  14. package/lib/entity/approvalRule/approvalRuleConflict.js +77 -0
  15. package/lib/entity/approvalRule/approvalRulePayload.d.ts +34 -5
  16. package/lib/entity/approvalRule/approvalRulePayload.js +145 -10
  17. package/lib/entity/approvalRule/approvalRuleSelector.d.ts +25 -1
  18. package/lib/entity/approvalRule/approvalRuleSelector.js +40 -0
  19. package/lib/entity/approvalRule/approvalRuleState.d.ts +59 -7
  20. package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +277 -0
  21. package/lib/entity/cardPolicy/cardPolicyPayload.js +143 -0
  22. package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +19 -0
  23. package/lib/entity/cardPolicy/cardPolicyReducer.js +175 -0
  24. package/lib/entity/cardPolicy/cardPolicySelector.d.ts +32 -0
  25. package/lib/entity/cardPolicy/cardPolicySelector.js +99 -0
  26. package/lib/entity/cardPolicy/cardPolicyState.d.ts +205 -0
  27. package/lib/entity/cardPolicy/cardPolicyState.js +14 -0
  28. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.d.ts +18 -0
  29. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.js +68 -0
  30. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.d.ts +26 -0
  31. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +47 -0
  32. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +25 -0
  33. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +39 -0
  34. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +24 -0
  35. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +105 -0
  36. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +1 -0
  37. package/lib/entity/jeSchedules/jeSchedulesPayload.js +7 -0
  38. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +2 -0
  39. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
  40. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +1 -1
  41. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  42. package/lib/entity/snackbar/snackbarTypes.js +6 -0
  43. package/lib/entity/task/taskPayload.d.ts +4 -1
  44. package/lib/entity/task/taskPayload.js +3 -0
  45. package/lib/entity/task/taskReducer.d.ts +5 -1
  46. package/lib/entity/task/taskReducer.js +8 -2
  47. package/lib/entity/task/taskState.d.ts +3 -0
  48. package/lib/entity/tenant/clearAllEpic.d.ts +8 -2
  49. package/lib/entity/tenant/clearAllEpic.js +12 -0
  50. package/lib/epic.d.ts +28 -3
  51. package/lib/epic.js +28 -3
  52. package/lib/esm/commonStateTypes/amount.js +7 -0
  53. package/lib/esm/commonStateTypes/workingDayHelper.js +26 -0
  54. package/lib/esm/entity/aiCfo/aiCfoReducer.js +249 -9
  55. package/lib/esm/entity/aiCfo/aiCfoSelector.js +17 -1
  56. package/lib/esm/entity/aiCfo/aiCfoState.js +15 -0
  57. package/lib/esm/entity/approvalRule/approvalRuleConflict.js +74 -0
  58. package/lib/esm/entity/approvalRule/approvalRulePayload.js +145 -10
  59. package/lib/esm/entity/approvalRule/approvalRuleSelector.js +35 -0
  60. package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +130 -0
  61. package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +171 -0
  62. package/lib/esm/entity/cardPolicy/cardPolicySelector.js +75 -0
  63. package/lib/esm/entity/cardPolicy/cardPolicyState.js +9 -0
  64. package/lib/esm/entity/cardPolicy/extractPolicyDocumentEpic.js +64 -0
  65. package/lib/esm/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +43 -0
  66. package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +35 -0
  67. package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +101 -0
  68. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +7 -0
  69. package/lib/esm/entity/snackbar/snackbarTypes.js +6 -0
  70. package/lib/esm/entity/task/taskPayload.js +3 -0
  71. package/lib/esm/entity/task/taskReducer.js +7 -1
  72. package/lib/esm/entity/tenant/clearAllEpic.js +12 -0
  73. package/lib/esm/epic.js +28 -3
  74. package/lib/esm/index.js +56 -19
  75. package/lib/esm/reducer.js +18 -0
  76. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +6 -3
  77. package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  78. package/lib/esm/view/aiCfoView/epics/createSessionEpic.js +2 -1
  79. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  80. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +39 -11
  81. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +14 -4
  82. package/lib/esm/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +38 -0
  83. package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  84. package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +16 -0
  85. package/lib/esm/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  86. package/lib/esm/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +22 -2
  87. package/lib/esm/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +14 -0
  88. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +109 -12
  89. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +10 -2
  90. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +8 -4
  91. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +11 -7
  92. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +54 -0
  93. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +13 -4
  94. package/lib/esm/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +140 -16
  95. package/lib/esm/view/spendManagement/billPay/editBillView/editBillViewSelector.js +60 -4
  96. package/lib/esm/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +8 -2
  97. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +29 -0
  98. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +78 -0
  99. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +47 -0
  100. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +47 -0
  101. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +34 -0
  102. package/lib/esm/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +32 -0
  103. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +54 -0
  104. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +92 -0
  105. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +225 -0
  106. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +10 -0
  107. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +23 -0
  108. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +36 -0
  109. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +27 -0
  110. package/lib/esm/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +28 -0
  111. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +52 -0
  112. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +22 -0
  113. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +1 -0
  114. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +36 -0
  115. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +39 -0
  116. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +34 -0
  117. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +58 -0
  118. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +21 -0
  119. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +1 -0
  120. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +38 -0
  121. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +289 -0
  122. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +109 -0
  123. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +44 -0
  124. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +111 -0
  125. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +25 -0
  126. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +363 -0
  127. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +36 -0
  128. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +19 -0
  129. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +6 -0
  130. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +119 -0
  131. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +154 -0
  132. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +22 -0
  133. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +1 -0
  134. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +39 -0
  135. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +140 -0
  136. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +20 -0
  137. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +100 -0
  138. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +96 -0
  139. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +59 -0
  140. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +24 -0
  141. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +25 -0
  142. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +1 -0
  143. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +34 -0
  144. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +57 -0
  145. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +35 -0
  146. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +2 -2
  147. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +42 -4
  148. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +35 -0
  149. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +62 -0
  150. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +44 -0
  151. package/lib/esm/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +5 -1
  152. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +10 -2
  153. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +8 -2
  154. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +11 -7
  155. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +61 -0
  156. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +13 -4
  157. package/lib/esm/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +80 -11
  158. package/lib/esm/view/taskManager/taskDetailView/epics/createSubTaskEpic.js +80 -0
  159. package/lib/esm/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.js +36 -0
  160. package/lib/esm/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.js +13 -0
  161. package/lib/esm/view/taskManager/taskDetailView/taskDetailReducer.js +51 -2
  162. package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +19 -8
  163. package/lib/index.d.ts +69 -23
  164. package/lib/index.js +226 -22
  165. package/lib/reducer.d.ts +18 -0
  166. package/lib/reducer.js +18 -0
  167. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +11 -2
  168. package/lib/view/aiCfoView/aiCfoViewReducer.js +6 -3
  169. package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  170. package/lib/view/aiCfoView/epics/createSessionEpic.js +2 -1
  171. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +8 -1
  172. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  173. package/lib/view/companyTaskManagerView/companyTaskManagerViewPayload.d.ts +19 -11
  174. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +11 -5
  175. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +40 -12
  176. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +2 -0
  177. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +13 -3
  178. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +11 -3
  179. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.d.ts +10 -0
  180. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +42 -0
  181. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.d.ts +1 -3
  182. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +37 -28
  183. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.d.ts +6 -0
  184. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +20 -0
  185. package/lib/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  186. package/lib/view/companyView/types/cockpitTypes.d.ts +3 -2
  187. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  188. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
  189. package/lib/view/people/peopleTypes.d.ts +1 -1
  190. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  191. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.d.ts +8 -1
  192. package/lib/view/spendManagement/autotransferRules/autoTransferRulesSelector.js +21 -1
  193. package/lib/view/spendManagement/autotransferRules/autoTransferRulesState.d.ts +22 -0
  194. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.d.ts +7 -0
  195. package/lib/view/spendManagement/billPay/billPayReview/billPayReviewSelector.js +14 -0
  196. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.d.ts +14 -3
  197. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewReducer.js +110 -13
  198. package/lib/view/spendManagement/billPay/billPaySetupApproverView/billPaySetupApproverViewState.d.ts +16 -0
  199. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/deleteBillPayApprovalRuleEpic.js +10 -2
  200. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/fetchBillPaySetupApproverViewEpic.js +8 -4
  201. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/initializeBillPaySetupApproverViewUpdateDataEpic.js +10 -6
  202. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.d.ts +23 -0
  203. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/reorderBillPayApprovalRulesEpic.js +58 -0
  204. package/lib/view/spendManagement/billPay/billPaySetupApproverView/epic/saveBillPaySetupApproverViewUpdatesEpic.js +12 -3
  205. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.d.ts +59 -1
  206. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonPayload.js +142 -17
  207. package/lib/view/spendManagement/billPay/billPaySetupApproverView/types/commonState.d.ts +31 -5
  208. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.d.ts +8 -1
  209. package/lib/view/spendManagement/billPay/editBillView/editBillViewSelector.js +60 -4
  210. package/lib/view/spendManagement/billPay/editBillView/epics/fetchEditBillDetailPageEpic.js +8 -2
  211. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.d.ts +47 -0
  212. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowPayload.js +34 -0
  213. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.d.ts +23 -0
  214. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer.js +82 -0
  215. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.d.ts +40 -0
  216. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector.js +51 -0
  217. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.d.ts +37 -0
  218. package/lib/view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowState.js +53 -0
  219. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.d.ts +14 -0
  220. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/fetchCashManagementSettingsEpic.js +38 -0
  221. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.d.ts +7 -0
  222. package/lib/view/spendManagement/cashManagement/autoSweepFlow/epics/saveAutoSweepSettingsEpic.js +36 -0
  223. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.d.ts +56 -0
  224. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewPayload.js +60 -0
  225. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.d.ts +22 -0
  226. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer.js +96 -0
  227. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.d.ts +59 -0
  228. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewSelector.js +230 -0
  229. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.d.ts +122 -0
  230. package/lib/view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewState.js +13 -0
  231. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.d.ts +7 -0
  232. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementBannerEpic.js +27 -0
  233. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.d.ts +9 -0
  234. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementOverviewPageEpic.js +40 -0
  235. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.d.ts +7 -0
  236. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchCashManagementRecommendationEpic.js +31 -0
  237. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.d.ts +15 -0
  238. package/lib/view/spendManagement/cashManagement/cashManagementOverview/epics/fetchRecentTransferEpic.js +32 -0
  239. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.d.ts +14 -0
  240. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +56 -0
  241. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.d.ts +15 -0
  242. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +28 -0
  243. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.d.ts +8 -0
  244. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +2 -0
  245. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.d.ts +8 -0
  246. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +40 -0
  247. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.d.ts +8 -0
  248. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +43 -0
  249. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.d.ts +8 -0
  250. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +38 -0
  251. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.d.ts +15 -0
  252. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +62 -0
  253. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.d.ts +15 -0
  254. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +27 -0
  255. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.d.ts +7 -0
  256. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +2 -0
  257. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.d.ts +8 -0
  258. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +42 -0
  259. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.d.ts +8 -0
  260. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +294 -0
  261. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.d.ts +8 -0
  262. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +113 -0
  263. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.d.ts +9 -0
  264. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +48 -0
  265. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.d.ts +8 -0
  266. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +115 -0
  267. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.d.ts +13 -0
  268. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +29 -0
  269. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.d.ts +14 -0
  270. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +369 -0
  271. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.d.ts +6 -0
  272. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +40 -0
  273. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.d.ts +7 -0
  274. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +26 -0
  275. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.d.ts +116 -0
  276. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +10 -0
  277. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.d.ts +33 -0
  278. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +126 -0
  279. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +52 -0
  280. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +158 -0
  281. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +11 -0
  282. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +31 -0
  283. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +12 -0
  284. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +2 -0
  285. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +8 -0
  286. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +43 -0
  287. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.d.ts +10 -0
  288. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +144 -0
  289. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.d.ts +7 -0
  290. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +24 -0
  291. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.d.ts +11 -0
  292. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +104 -0
  293. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.d.ts +22 -0
  294. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +100 -0
  295. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.d.ts +8 -0
  296. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +63 -0
  297. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.d.ts +3 -0
  298. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +28 -0
  299. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  300. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +14 -0
  301. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +27 -1
  302. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.d.ts +34 -0
  303. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +2 -0
  304. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.d.ts +7 -0
  305. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +38 -0
  306. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.d.ts +12 -0
  307. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +61 -0
  308. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.d.ts +9 -0
  309. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +39 -0
  310. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.d.ts +2 -2
  311. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +1 -1
  312. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.d.ts +12 -2
  313. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +43 -5
  314. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.d.ts +7 -0
  315. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +42 -1
  316. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardState.d.ts +5 -0
  317. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts +11 -0
  318. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +66 -0
  319. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.d.ts +3 -0
  320. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +48 -0
  321. package/lib/view/spendManagement/reimbursement/editRemiView/epics/fetchEditRemiDetailPageEpic.js +5 -1
  322. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/deleteRemiApprovalRuleEpic.js +10 -2
  323. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/fetchRemiSetupApproverViewEpic.js +8 -2
  324. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/initializeRemiSetupApproverViewUpdateDataEpic.js +10 -6
  325. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.d.ts +14 -0
  326. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/reorderRemiApprovalRulesEpic.js +65 -0
  327. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/epic/saveRemiSetupApproverViewUpdatesEpic.js +12 -3
  328. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.d.ts +14 -3
  329. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewReducer.js +81 -12
  330. package/lib/view/spendManagement/reimbursement/remiSetupApproverView/remiSetupApproverViewState.d.ts +12 -0
  331. package/lib/view/taskManager/taskDetailView/epics/createSubTaskEpic.d.ts +9 -0
  332. package/lib/view/taskManager/taskDetailView/epics/createSubTaskEpic.js +84 -0
  333. package/lib/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.d.ts +8 -0
  334. package/lib/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.js +40 -0
  335. package/lib/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.d.ts +2 -1
  336. package/lib/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.js +13 -0
  337. package/lib/view/taskManager/taskDetailView/taskDetail.d.ts +13 -0
  338. package/lib/view/taskManager/taskDetailView/taskDetailReducer.d.ts +14 -2
  339. package/lib/view/taskManager/taskDetailView/taskDetailReducer.js +52 -3
  340. package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +2 -1
  341. package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +17 -6
  342. package/lib/view/taskManager/taskListView/taskList.d.ts +3 -3
  343. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +1 -1
  344. package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +1 -1
  345. package/lib/zeniAPI.d.ts +1 -0
  346. package/package.json +1 -1
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.saveAutoSweepSettingsEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const responsePayload_1 = require("../../../../../responsePayload");
7
+ const autoSweepFlowPayload_1 = require("../autoSweepFlowPayload");
8
+ const autoSweepFlowReducer_1 = require("../autoSweepFlowReducer");
9
+ const saveAutoSweepSettingsEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(autoSweepFlowReducer_1.saveAutoSweepSettings.match), (0, operators_1.switchMap)(() => {
10
+ const endpoint = `${zeniAPI.apiEndPoints.cashManagementAgentBaseUrl}/1.0/cash-management/settings`;
11
+ const { bufferAmount, frequency, memo, settingsId } = state$.value.autoSweepFlowState;
12
+ const payload = (0, autoSweepFlowPayload_1.toSaveAutoSweepSettingsBody)({
13
+ bufferAmount,
14
+ frequency,
15
+ memo,
16
+ });
17
+ // First-time setup (no settings id from the GET yet) → POST a new
18
+ // record. Subsequent edits update the existing one via PUT.
19
+ const request$ = settingsId == null
20
+ ? zeniAPI.postAndGetJSON(endpoint, payload)
21
+ : zeniAPI.putAndGetJSON(endpoint, payload);
22
+ return request$.pipe((0, operators_1.mergeMap)((response) => {
23
+ if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
24
+ return (0, rxjs_1.of)((0, autoSweepFlowReducer_1.updateAutoSweepSettingsFetchStatus)({ fetchState: 'Completed' }));
25
+ }
26
+ return (0, rxjs_1.of)((0, autoSweepFlowReducer_1.updateAutoSweepSettingsFetchStatus)({
27
+ fetchState: 'Error',
28
+ error: response?.status,
29
+ }));
30
+ }), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, autoSweepFlowReducer_1.updateAutoSweepSettingsFetchStatus)({
31
+ fetchState: 'Error',
32
+ error: (0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Save auto-sweep settings REST API call errored out: ' +
33
+ (error?.message ?? String(error))),
34
+ }))));
35
+ }));
36
+ exports.saveAutoSweepSettingsEpic = saveAutoSweepSettingsEpic;
@@ -0,0 +1,56 @@
1
+ import { ZeniAPIResponse } from '../../../../responsePayload';
2
+ import { CashManagementBannerData, CashManagementBankAccountType, CashManagementScenario, CashManagementSubMovementType, CashManagementTransfer, CashManagementTransferStatus, UpcomingPaymentEvent, UpcomingPaymentEventAccountType } from './cashManagementOverviewState';
3
+ export interface CashAgentEventPayload {
4
+ account_id: string;
5
+ account_type: UpcomingPaymentEventAccountType;
6
+ amount_usd: number;
7
+ currency_code: string;
8
+ label: string;
9
+ payment_date: string;
10
+ }
11
+ export interface CashAgentMovementPayload {
12
+ amount: number;
13
+ currency_code: string;
14
+ destination_bank_account_id: string | null;
15
+ destination_bank_account_type: CashManagementBankAccountType;
16
+ reasoning: string;
17
+ source_bank_account_id: string | null;
18
+ source_bank_account_type: CashManagementBankAccountType;
19
+ sub_movement_type: CashManagementSubMovementType;
20
+ }
21
+ export interface CashAgentMoneyMovementGroupPayload {
22
+ movement_type: string;
23
+ movements: CashAgentMovementPayload[];
24
+ }
25
+ export interface CashAgentRecommendPayload {
26
+ inflows: CashAgentEventPayload[];
27
+ money_movements: CashAgentMoneyMovementGroupPayload[];
28
+ outflows: CashAgentEventPayload[];
29
+ }
30
+ export type CashAgentRecommendResponse = ZeniAPIResponse<CashAgentRecommendPayload>;
31
+ export declare const toUpcomingPaymentEvent: (event: CashAgentEventPayload) => UpcomingPaymentEvent;
32
+ export declare const toCashManagementBannerData: (payload: CashAgentRecommendPayload) => CashManagementBannerData;
33
+ export interface CashAgentTransferPayload {
34
+ amount: number;
35
+ atomic_transaction_id: string;
36
+ cash_management_transfer_id: string;
37
+ create_time: string;
38
+ currency_code: string;
39
+ date: string;
40
+ deposit_account_id: string;
41
+ reasoning: string;
42
+ scenario: CashManagementScenario;
43
+ status: CashManagementTransferStatus;
44
+ transaction_type: CashManagementSubMovementType;
45
+ update_time: string;
46
+ }
47
+ /**
48
+ * Response shape for `GET /cash-management/transfers`. The agent currently
49
+ * returns the single most-relevant transfer under `transfer`; the field is
50
+ * optional because fresh users (no settings yet) have no transfer history.
51
+ */
52
+ export interface CashAgentRecentTransferData {
53
+ transfer?: CashAgentTransferPayload;
54
+ }
55
+ export type CashAgentRecentTransferResponse = ZeniAPIResponse<CashAgentRecentTransferData>;
56
+ export declare const toCashManagementTransfer: (payload: CashAgentTransferPayload) => CashManagementTransfer;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toCashManagementTransfer = exports.toCashManagementBannerData = exports.toUpcomingPaymentEvent = void 0;
4
+ const amount_1 = require("../../../../commonStateTypes/amount");
5
+ const zeniDayJS_1 = require("../../../../zeniDayJS");
6
+ // ---------------------------------------------------------------------------
7
+ // Converters
8
+ // ---------------------------------------------------------------------------
9
+ // The cash agent payload reports `currency_code` only; the v1 surface is
10
+ // USD-only, so we pair it with the canonical `$` symbol here. If the agent
11
+ // grows multi-currency support, this is the single place to widen.
12
+ const CASH_AGENT_CURRENCY_SYMBOL = '$';
13
+ const toUpcomingPaymentEvent = (event) => ({
14
+ accountId: event.account_id,
15
+ accountType: event.account_type,
16
+ amount: (0, amount_1.toAmount)(event.amount_usd, event.currency_code, CASH_AGENT_CURRENCY_SYMBOL),
17
+ label: event.label,
18
+ paymentDate: (0, zeniDayJS_1.date)(event.payment_date),
19
+ });
20
+ exports.toUpcomingPaymentEvent = toUpcomingPaymentEvent;
21
+ /**
22
+ * The agent reports a `null` account id whenever the "account" in question is
23
+ * a singleton inferred from the account type (today: the treasury account —
24
+ * there's only one per company, so the type alone identifies it). Callers
25
+ * already branch on `*BankAccountType`, so collapsing the id to `""` keeps the
26
+ * state type a plain `ID` (string) without losing information.
27
+ */
28
+ const toCashManagementMovement = (payload) => ({
29
+ amount: (0, amount_1.toAmount)(payload.amount, payload.currency_code, CASH_AGENT_CURRENCY_SYMBOL),
30
+ destinationBankAccountId: payload.destination_bank_account_id ?? '',
31
+ destinationBankAccountType: payload.destination_bank_account_type,
32
+ reasoning: payload.reasoning,
33
+ sourceBankAccountId: payload.source_bank_account_id ?? '',
34
+ sourceBankAccountType: payload.source_bank_account_type,
35
+ subMovementType: payload.sub_movement_type,
36
+ });
37
+ const toCashManagementMoneyMovementGroup = (payload) => ({
38
+ movements: payload.movements.map(toCashManagementMovement),
39
+ movementType: payload.movement_type,
40
+ });
41
+ const toCashManagementBannerData = (payload) => ({
42
+ inflows: payload.inflows.map(exports.toUpcomingPaymentEvent),
43
+ moneyMovements: payload.money_movements.map(toCashManagementMoneyMovementGroup),
44
+ outflows: payload.outflows.map(exports.toUpcomingPaymentEvent),
45
+ });
46
+ exports.toCashManagementBannerData = toCashManagementBannerData;
47
+ const toCashManagementTransfer = (payload) => ({
48
+ amount: (0, amount_1.toAmount)(payload.amount, payload.currency_code, CASH_AGENT_CURRENCY_SYMBOL),
49
+ atomicTransactionId: payload.atomic_transaction_id,
50
+ cashManagementTransferId: payload.cash_management_transfer_id,
51
+ createTime: (0, zeniDayJS_1.date)(payload.create_time),
52
+ date: (0, zeniDayJS_1.date)(payload.date),
53
+ depositAccountId: payload.deposit_account_id,
54
+ reasoning: payload.reasoning,
55
+ scenario: payload.scenario,
56
+ status: payload.status,
57
+ transactionType: payload.transaction_type,
58
+ updateTime: (0, zeniDayJS_1.date)(payload.update_time),
59
+ });
60
+ exports.toCashManagementTransfer = toCashManagementTransfer;
@@ -0,0 +1,22 @@
1
+ import { FetchState } from '../../../../commonStateTypes/common';
2
+ import { ZeniAPIStatus } from '../../../../responsePayload';
3
+ import { CashAgentRecommendPayload, CashAgentTransferPayload } from './cashManagementOverviewPayload';
4
+ import { CashManagementOverviewState } from './cashManagementOverviewState';
5
+ export declare const initialState: CashManagementOverviewState;
6
+ export declare const fetchCashManagementOverviewPage: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride: boolean], {
7
+ cacheOverride: boolean;
8
+ }, "cashManagementOverview/fetchCashManagementOverviewPage", never, never>, fetchCashManagementBanner: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[cacheOverride: boolean], {
9
+ cacheOverride: boolean;
10
+ }, "cashManagementOverview/fetchCashManagementBanner", never, never>, fetchCashManagementRecommendation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cashManagementOverview/fetchCashManagementRecommendation">, updateCashManagementRecommendation: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
11
+ data: CashAgentRecommendPayload;
12
+ }, "cashManagementOverview/updateCashManagementRecommendation">, updateCashManagementRecommendationFetchStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
13
+ fetchState: FetchState;
14
+ error?: ZeniAPIStatus;
15
+ }, "cashManagementOverview/updateCashManagementRecommendationFetchStatus">, fetchRecentTransfer: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cashManagementOverview/fetchRecentTransfer">, updateRecentTransfer: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
16
+ data?: CashAgentTransferPayload;
17
+ }, "cashManagementOverview/updateRecentTransfer">, updateRecentTransferFetchStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
18
+ fetchState: FetchState;
19
+ error?: ZeniAPIStatus;
20
+ }, "cashManagementOverview/updateRecentTransferFetchStatus">, clearCashManagementOverview: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cashManagementOverview/clearCashManagementOverview">;
21
+ declare const _default: import("redux").Reducer<CashManagementOverviewState>;
22
+ export default _default;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.clearCashManagementOverview = exports.updateRecentTransferFetchStatus = exports.updateRecentTransfer = exports.fetchRecentTransfer = exports.updateCashManagementRecommendationFetchStatus = exports.updateCashManagementRecommendation = exports.fetchCashManagementRecommendation = exports.fetchCashManagementBanner = exports.fetchCashManagementOverviewPage = exports.initialState = void 0;
5
+ const toolkit_1 = require("@reduxjs/toolkit");
6
+ const cashManagementOverviewPayload_1 = require("./cashManagementOverviewPayload");
7
+ const cashManagementOverviewState_1 = require("./cashManagementOverviewState");
8
+ exports.initialState = {
9
+ banner: cashManagementOverviewState_1.initialCashManagementBannerState,
10
+ recentTransfer: cashManagementOverviewState_1.initialCashManagementRecentTransferState,
11
+ };
12
+ const cashManagementOverview = (0, toolkit_1.createSlice)({
13
+ name: 'cashManagementOverview',
14
+ initialState: exports.initialState,
15
+ reducers: {
16
+ fetchCashManagementOverviewPage: {
17
+ reducer() { },
18
+ prepare(cacheOverride) {
19
+ return { payload: { cacheOverride } };
20
+ },
21
+ },
22
+ /**
23
+ * Public banner-fetch entry point. Triggers an orchestrator epic that
24
+ * fans out to the recommend, settings, and recent-transfer API calls
25
+ * in parallel. No reducer-side state change — each inner action drives
26
+ * its own sub-state.
27
+ *
28
+ * `cacheOverride === true` forces all three inner fetches regardless
29
+ * of current slice state; `false` keeps the per-slice dedup so repeat
30
+ * dispatches are no-ops once a slice is loaded or in-flight.
31
+ */
32
+ fetchCashManagementBanner: {
33
+ reducer() { },
34
+ prepare(cacheOverride) {
35
+ return { payload: { cacheOverride } };
36
+ },
37
+ },
38
+ /**
39
+ * Internal trigger for the recommend API (`/cash-agent/recommend`).
40
+ * Dispatched by the orchestrator; not exported.
41
+ */
42
+ fetchCashManagementRecommendation(draft) {
43
+ // Keep `draft.banner.data` so the projection chart renders the last
44
+ // good payload while the refetch is in flight, instead of flickering
45
+ // to the empty/skeleton state on every page revisit.
46
+ draft.banner.fetchState = 'In-Progress';
47
+ draft.banner.error = undefined;
48
+ },
49
+ updateCashManagementRecommendation(draft, action) {
50
+ draft.banner = {
51
+ fetchState: 'Completed',
52
+ error: undefined,
53
+ data: (0, cashManagementOverviewPayload_1.toCashManagementBannerData)(action.payload.data),
54
+ };
55
+ },
56
+ updateCashManagementRecommendationFetchStatus(draft, action) {
57
+ draft.banner = {
58
+ ...draft.banner,
59
+ fetchState: action.payload.fetchState,
60
+ error: action.payload.error,
61
+ };
62
+ },
63
+ /**
64
+ * Internal trigger for the recent-transfer API
65
+ * (`/cash-management/transfers`). Dispatched by the orchestrator; not
66
+ * exported.
67
+ */
68
+ fetchRecentTransfer(draft) {
69
+ // Same anti-flicker pattern as the recommend fetch: keep prior data
70
+ // while the refetch is in flight.
71
+ draft.recentTransfer.fetchState = 'In-Progress';
72
+ draft.recentTransfer.error = undefined;
73
+ },
74
+ updateRecentTransfer(draft, action) {
75
+ draft.recentTransfer = {
76
+ fetchState: 'Completed',
77
+ error: undefined,
78
+ data: action.payload.data != null
79
+ ? (0, cashManagementOverviewPayload_1.toCashManagementTransfer)(action.payload.data)
80
+ : undefined,
81
+ };
82
+ },
83
+ updateRecentTransferFetchStatus(draft, action) {
84
+ draft.recentTransfer = {
85
+ ...draft.recentTransfer,
86
+ fetchState: action.payload.fetchState,
87
+ error: action.payload.error,
88
+ };
89
+ },
90
+ clearCashManagementOverview(draft) {
91
+ Object.assign(draft, exports.initialState);
92
+ },
93
+ },
94
+ });
95
+ _a = cashManagementOverview.actions, exports.fetchCashManagementOverviewPage = _a.fetchCashManagementOverviewPage, exports.fetchCashManagementBanner = _a.fetchCashManagementBanner, exports.fetchCashManagementRecommendation = _a.fetchCashManagementRecommendation, exports.updateCashManagementRecommendation = _a.updateCashManagementRecommendation, exports.updateCashManagementRecommendationFetchStatus = _a.updateCashManagementRecommendationFetchStatus, exports.fetchRecentTransfer = _a.fetchRecentTransfer, exports.updateRecentTransfer = _a.updateRecentTransfer, exports.updateRecentTransferFetchStatus = _a.updateRecentTransferFetchStatus, exports.clearCashManagementOverview = _a.clearCashManagementOverview;
96
+ exports.default = cashManagementOverview.reducer;
@@ -0,0 +1,59 @@
1
+ import { Amount } from '../../../../commonStateTypes/amount';
2
+ import { ID } from '../../../../commonStateTypes/common';
3
+ import { SelectorView } from '../../../../commonStateTypes/viewAndReport/viewAndReport';
4
+ import { RootState } from '../../../../reducer';
5
+ import { FundingAccount } from '../../commonSetup/setupViewSelector';
6
+ import { CashManagementMovement, CashManagementTransfer, UpcomingPaymentEvent } from './cashManagementOverviewState';
7
+ export interface CashManagementOverviewBannerSelectorView extends SelectorView, CashManagementMovement {
8
+ cashManagementSettingsId?: ID;
9
+ /**
10
+ * Resolved funding account whose buffer the agent is managing. For a push
11
+ * movement this is the `sourceBankAccountId`; for a pull it is the
12
+ * `destinationBankAccountId`. `undefined` when the agent hasn't returned a
13
+ * movement yet or the deposit account hasn't been hydrated into the entity
14
+ * bucket.
15
+ */
16
+ primaryFundingAccount?: FundingAccount;
17
+ /**
18
+ * Most recent actual cash-management transfer (status, type, amount,
19
+ * scenario, reasoning). Surfaced so the banner can render the
20
+ * "transfer scheduled / in-progress / complete" variant for existing
21
+ * users (those with a `cashManagementSettingsId`). `undefined` when no
22
+ * transfer has happened yet.
23
+ */
24
+ recentTransfer?: CashManagementTransfer;
25
+ /**
26
+ * Pull-variant only. The largest upcoming outflow in the horizon — the
27
+ * event most likely to have pushed the primary account below its buffer
28
+ * and triggered the recommended pull. `undefined` for push movements or
29
+ * when the agent returned no outflow events.
30
+ */
31
+ triggeringOutflow?: UpcomingPaymentEvent;
32
+ }
33
+ export interface CashProjectionPoint {
34
+ balance: Amount;
35
+ /** Pre-formatted display label (e.g. `"Today"`, `"May 27"`). */
36
+ date: string;
37
+ isInflow?: boolean;
38
+ isOutflow?: boolean;
39
+ }
40
+ export interface CashManagementOverviewSelectorView extends SelectorView {
41
+ banner: CashManagementOverviewBannerSelectorView;
42
+ cashBalance: Amount;
43
+ /** Net cash flow over the horizon — `totalInFlow` minus `totalOutFlow`.
44
+ * Positive = surplus, negative = burn. */
45
+ cashflow: Amount;
46
+ inflowEvents: UpcomingPaymentEvent[];
47
+ outflowEvents: UpcomingPaymentEvent[];
48
+ /** Running cash-balance projection seeded by `cashBalance` and stepped by
49
+ * the inflow / outflow events. */
50
+ projectionData: CashProjectionPoint[];
51
+ totalCash: Amount;
52
+ /** Sum of all `inflowEvents[].amount` values. */
53
+ totalInFlow: Amount;
54
+ /** Sum of all `outflowEvents[].amount` values. */
55
+ totalOutFlow: Amount;
56
+ treasuryBalance: Amount;
57
+ }
58
+ export declare const getCashManagementOverviewBanner: (state: RootState) => CashManagementOverviewBannerSelectorView;
59
+ export declare const getCashManagementOverview: (state: RootState) => CashManagementOverviewSelectorView;
@@ -0,0 +1,230 @@
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
218
+ ?.available;
219
+ if (balance != null) {
220
+ total = addAmounts(total, balance);
221
+ }
222
+ });
223
+ depositAccountIds.forEach((id) => {
224
+ const balance = depositAccountState.depositAccountByID[id]?.accountBalance?.available;
225
+ if (balance != null) {
226
+ total = addAmounts(total, balance);
227
+ }
228
+ });
229
+ return total;
230
+ };