@zeniai/client-epic-state 5.0.92 → 5.0.93-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 (260) hide show
  1. package/lib/common/aiCfo/aiCfoSuggestedQuestionsPageContext.d.ts +1 -1
  2. package/lib/commonStateTypes/animations.d.ts +1 -1
  3. package/lib/commonStateTypes/animations.js +1 -0
  4. package/lib/entity/aiCfo/aiCfoPayload.d.ts +63 -5
  5. package/lib/entity/aiCfo/aiCfoReducer.d.ts +23 -2
  6. package/lib/entity/aiCfo/aiCfoReducer.js +249 -9
  7. package/lib/entity/aiCfo/aiCfoSelector.d.ts +4 -1
  8. package/lib/entity/aiCfo/aiCfoSelector.js +19 -1
  9. package/lib/entity/aiCfo/aiCfoState.d.ts +97 -4
  10. package/lib/entity/aiCfo/aiCfoState.js +18 -1
  11. package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +277 -0
  12. package/lib/entity/cardPolicy/cardPolicyPayload.js +143 -0
  13. package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +19 -0
  14. package/lib/entity/cardPolicy/cardPolicyReducer.js +175 -0
  15. package/lib/entity/cardPolicy/cardPolicySelector.d.ts +32 -0
  16. package/lib/entity/cardPolicy/cardPolicySelector.js +99 -0
  17. package/lib/entity/cardPolicy/cardPolicyState.d.ts +205 -0
  18. package/lib/entity/cardPolicy/cardPolicyState.js +14 -0
  19. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.d.ts +18 -0
  20. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.js +68 -0
  21. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.d.ts +26 -0
  22. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +47 -0
  23. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +25 -0
  24. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +39 -0
  25. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +24 -0
  26. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +105 -0
  27. package/lib/entity/company/companyPayload.d.ts +4 -0
  28. package/lib/entity/company/companyPayload.js +4 -0
  29. package/lib/entity/company/companyStateTypes.d.ts +4 -0
  30. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
  31. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +1 -1
  32. package/lib/entity/paymentAccount/paymentAccountSelector.d.ts +1 -0
  33. package/lib/entity/paymentAccount/paymentAccountSelector.js +4 -0
  34. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  35. package/lib/entity/snackbar/snackbarTypes.js +3 -0
  36. package/lib/entity/tenant/clearAllEpic.d.ts +6 -2
  37. package/lib/entity/tenant/clearAllEpic.js +8 -0
  38. package/lib/entity/tenant/epic/deleteConnectionEpic.d.ts +1 -1
  39. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.d.ts +21 -0
  40. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.js +54 -0
  41. package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.d.ts +1 -1
  42. package/lib/entity/tenant/epic/saveConnectorCredentialsEpic.d.ts +3 -3
  43. package/lib/entity/tenant/epic/saveOAuthConnectionEpic.d.ts +1 -1
  44. package/lib/entity/tenant/tenantPayload.d.ts +1 -0
  45. package/lib/entity/tenant/tenantReducer.d.ts +38 -25
  46. package/lib/entity/tenant/tenantReducer.js +65 -5
  47. package/lib/entity/tenant/tenantState.d.ts +1 -0
  48. package/lib/epic.d.ts +19 -1
  49. package/lib/epic.js +20 -1
  50. package/lib/esm/commonStateTypes/animations.js +1 -0
  51. package/lib/esm/entity/aiCfo/aiCfoReducer.js +249 -9
  52. package/lib/esm/entity/aiCfo/aiCfoSelector.js +17 -1
  53. package/lib/esm/entity/aiCfo/aiCfoState.js +15 -0
  54. package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +130 -0
  55. package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +171 -0
  56. package/lib/esm/entity/cardPolicy/cardPolicySelector.js +75 -0
  57. package/lib/esm/entity/cardPolicy/cardPolicyState.js +9 -0
  58. package/lib/esm/entity/cardPolicy/extractPolicyDocumentEpic.js +64 -0
  59. package/lib/esm/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +43 -0
  60. package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +35 -0
  61. package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +101 -0
  62. package/lib/esm/entity/company/companyPayload.js +4 -0
  63. package/lib/esm/entity/paymentAccount/paymentAccountSelector.js +3 -0
  64. package/lib/esm/entity/snackbar/snackbarTypes.js +3 -0
  65. package/lib/esm/entity/tenant/clearAllEpic.js +8 -0
  66. package/lib/esm/entity/tenant/epic/initEmailConnectOAuthEpic.js +50 -0
  67. package/lib/esm/entity/tenant/tenantReducer.js +63 -3
  68. package/lib/esm/epic.js +20 -1
  69. package/lib/esm/index.js +46 -13
  70. package/lib/esm/reducer.js +12 -0
  71. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +6 -3
  72. package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  73. package/lib/esm/view/aiCfoView/epics/createSessionEpic.js +2 -1
  74. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  75. package/lib/esm/view/fileView/epic/deleteFileEpic.js +2 -2
  76. package/lib/esm/view/fileView/epic/deleteFileListEpic.js +2 -2
  77. package/lib/esm/view/fileView/epic/updateFileNameEpic.js +2 -2
  78. package/lib/esm/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +42 -0
  79. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +29 -0
  80. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +40 -0
  81. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewReducer.js +217 -50
  82. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewSelector.js +7 -1
  83. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewState.js +12 -0
  84. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +52 -0
  85. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +22 -0
  86. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +1 -0
  87. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +36 -0
  88. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +39 -0
  89. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +34 -0
  90. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +58 -0
  91. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +21 -0
  92. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +1 -0
  93. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +38 -0
  94. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +289 -0
  95. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +109 -0
  96. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +44 -0
  97. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +111 -0
  98. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +25 -0
  99. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +363 -0
  100. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +36 -0
  101. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +19 -0
  102. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +6 -0
  103. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +119 -0
  104. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +154 -0
  105. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +22 -0
  106. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +1 -0
  107. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +39 -0
  108. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +140 -0
  109. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +20 -0
  110. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +100 -0
  111. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +96 -0
  112. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +59 -0
  113. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +24 -0
  114. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +25 -0
  115. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +1 -0
  116. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +34 -0
  117. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +57 -0
  118. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +35 -0
  119. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +2 -2
  120. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +42 -4
  121. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +35 -0
  122. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +62 -0
  123. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +44 -0
  124. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +58 -0
  125. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +67 -0
  126. package/lib/esm/view/spendManagement/commonSetup/kycKybAutofillActions.js +14 -0
  127. package/lib/esm/view/spendManagement/commonSetup/kycKybParseMapper.js +205 -0
  128. package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +105 -52
  129. package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +6 -1
  130. package/lib/esm/view/spendManagement/commonSetup/types/kycKybAutofill.js +28 -0
  131. package/lib/index.d.ts +52 -14
  132. package/lib/index.js +219 -31
  133. package/lib/reducer.d.ts +12 -0
  134. package/lib/reducer.js +12 -0
  135. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +11 -2
  136. package/lib/view/aiCfoView/aiCfoViewReducer.js +6 -3
  137. package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  138. package/lib/view/aiCfoView/epics/createSessionEpic.js +2 -1
  139. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +8 -1
  140. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +12 -2
  141. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  142. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
  143. package/lib/view/fileView/epic/deleteFileEpic.js +1 -1
  144. package/lib/view/fileView/epic/deleteFileListEpic.js +1 -1
  145. package/lib/view/fileView/epic/updateFileNameEpic.js +1 -1
  146. package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.d.ts +7 -0
  147. package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +46 -0
  148. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.d.ts +8 -0
  149. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +33 -0
  150. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.d.ts +9 -0
  151. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +44 -0
  152. package/lib/view/onboardingView/customerView/onboardingCustomerViewPayload.d.ts +3 -0
  153. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +41 -4
  154. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.js +219 -51
  155. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.d.ts +5 -1
  156. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +11 -2
  157. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.d.ts +40 -0
  158. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.js +13 -1
  159. package/lib/view/people/peopleTypes.d.ts +1 -1
  160. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  161. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.d.ts +14 -0
  162. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +56 -0
  163. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.d.ts +15 -0
  164. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +28 -0
  165. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.d.ts +8 -0
  166. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +2 -0
  167. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.d.ts +8 -0
  168. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +40 -0
  169. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.d.ts +8 -0
  170. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +43 -0
  171. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.d.ts +8 -0
  172. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +38 -0
  173. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.d.ts +15 -0
  174. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +62 -0
  175. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.d.ts +15 -0
  176. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +27 -0
  177. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.d.ts +7 -0
  178. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +2 -0
  179. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.d.ts +8 -0
  180. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +42 -0
  181. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.d.ts +8 -0
  182. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +294 -0
  183. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.d.ts +8 -0
  184. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +113 -0
  185. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.d.ts +9 -0
  186. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +48 -0
  187. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.d.ts +8 -0
  188. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +115 -0
  189. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.d.ts +13 -0
  190. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +29 -0
  191. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.d.ts +14 -0
  192. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +369 -0
  193. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.d.ts +6 -0
  194. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +40 -0
  195. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.d.ts +7 -0
  196. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +26 -0
  197. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.d.ts +116 -0
  198. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +10 -0
  199. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.d.ts +33 -0
  200. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +126 -0
  201. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +52 -0
  202. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +158 -0
  203. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +11 -0
  204. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +31 -0
  205. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +12 -0
  206. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +2 -0
  207. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +8 -0
  208. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +43 -0
  209. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.d.ts +10 -0
  210. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +144 -0
  211. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.d.ts +7 -0
  212. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +24 -0
  213. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.d.ts +11 -0
  214. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +104 -0
  215. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.d.ts +22 -0
  216. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +100 -0
  217. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.d.ts +8 -0
  218. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +63 -0
  219. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.d.ts +3 -0
  220. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +28 -0
  221. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  222. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +14 -0
  223. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +27 -1
  224. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.d.ts +34 -0
  225. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +2 -0
  226. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.d.ts +7 -0
  227. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +38 -0
  228. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.d.ts +12 -0
  229. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +61 -0
  230. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.d.ts +9 -0
  231. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +39 -0
  232. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.d.ts +2 -2
  233. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +1 -1
  234. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.d.ts +12 -2
  235. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +43 -5
  236. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.d.ts +7 -0
  237. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +42 -1
  238. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardState.d.ts +5 -0
  239. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts +11 -0
  240. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +66 -0
  241. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.d.ts +3 -0
  242. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +48 -0
  243. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.d.ts +28 -0
  244. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +62 -0
  245. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.d.ts +30 -0
  246. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +71 -0
  247. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.d.ts +33 -0
  248. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.js +17 -0
  249. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.d.ts +24 -0
  250. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.js +213 -0
  251. package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +28 -2
  252. package/lib/view/spendManagement/commonSetup/setupViewReducer.js +106 -53
  253. package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +7 -2
  254. package/lib/view/spendManagement/commonSetup/setupViewSelector.js +6 -1
  255. package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +19 -0
  256. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.d.ts +142 -0
  257. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.js +32 -0
  258. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +1 -1
  259. package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +1 -1
  260. package/package.json +1 -1
@@ -11,6 +11,7 @@ import billTransaction, { initialState as initialBillTransactionState, } from '.
11
11
  import contact, { initialState as initialContactState, } from './entity/billPay/contact/contactReducer';
12
12
  import recurringBill, { initialState as initialRecurringBillState, } from './entity/billPay/recurringBills/recurringBillsReducer';
13
13
  import cardPayment, { initialState as initialCardPaymentState, } from './entity/cardPayment/cardPaymentReducer';
14
+ import cardPolicy, { initialState as initialCardPolicyState, } from './entity/cardPolicy/cardPolicyReducer';
14
15
  import chargeCard, { initialState as initialChargeCardState, } from './entity/chargeCard/chargeCardReducer';
15
16
  import chargeCardRepayment, { initialState as initialChargeCardRepaymentState, } from './entity/chargeCardRepayment/chargeCardRepaymentReducer';
16
17
  import chargeCardTransaction, { initialState as initialChargeCardTransactionState, } from './entity/chargeCardTransaction/chargeCardTransactionReducer';
@@ -84,6 +85,9 @@ import bankAccountView, { initialState as initialBankAccountView, } from './view
84
85
  import billPayCard, { initialState as initialBillPayCardState, } from './view/billPayCard/billPayCardReducer';
85
86
  import cardBalance, { initialState as initialCardBalanceState, } from './view/cardBalance/cardBalanceReducer';
86
87
  import cardPaymentView, { initialState as initialCardPaymentViewState, } from './view/cardPayment/cardPaymentViewReducer';
88
+ import cardPolicyDetail, { initialState as initialCardPolicyDetailState, } from './view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer';
89
+ import cardPolicyList, { initialState as initialCardPolicyListState, } from './view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer';
90
+ import createCardPolicy, { initialState as initialCreateCardPolicyState, } from './view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer';
87
91
  import cashBalance, { initialState as initialCashBalanceState, } from './view/cashBalance/cashBalanceReducer';
88
92
  import cashFlow, { initialState as initialCashFlowState, } from './view/cashFlow/cashFlowReducer';
89
93
  import cashInCashOut, { initialState as initialCashInCashOutState, } from './view/cashInCashOut/cashInCashOutReducer';
@@ -238,6 +242,7 @@ const initialEntitiesState = {
238
242
  bankAccountState: initialBankAccountState,
239
243
  billTransactionState: initialBillTransactionState,
240
244
  cardPaymentState: initialCardPaymentState,
245
+ cardPolicyState: initialCardPolicyState,
241
246
  chargeCardState: initialChargeCardState,
242
247
  chargeCardRepaymentState: initialChargeCardRepaymentState,
243
248
  chargeCardTransactionState: initialChargeCardTransactionState,
@@ -322,6 +327,8 @@ const initialViewsState = {
322
327
  billsBulkActionViewState: initialBillsBulkActionViewState,
323
328
  cardBalanceState: initialCardBalanceState,
324
329
  cardPaymentViewState: initialCardPaymentViewState,
330
+ cardPolicyDetailState: initialCardPolicyDetailState,
331
+ cardPolicyListState: initialCardPolicyListState,
325
332
  cardUserOnboardingState: initialCardUserOnboardingState,
326
333
  cashbackDetailState: initialCashbackDetailState,
327
334
  cashBalanceState: initialCashBalanceState,
@@ -345,6 +352,7 @@ const initialViewsState = {
345
352
  companyTaskManagerViewState: initialCompanyTaskManagerViewState,
346
353
  companyViewState: initialCompanyViewState,
347
354
  countryListState: initialCountryListState,
355
+ createCardPolicyState: initialCreateCardPolicyState,
348
356
  creditAgentEntityState: initialCreditAgentEntityState,
349
357
  creditAgentViewState: initialCreditAgentViewState,
350
358
  dashboardLayoutState: initialDashboardLayoutState,
@@ -475,6 +483,7 @@ const entityReducers = {
475
483
  billPayConfigState: billPayConfig,
476
484
  billTransactionState: billTransaction,
477
485
  cardPaymentState: cardPayment,
486
+ cardPolicyState: cardPolicy,
478
487
  chargeCardState: chargeCard,
479
488
  chargeCardRepaymentState: chargeCardRepayment,
480
489
  chargeCardTransactionState: chargeCardTransaction,
@@ -558,6 +567,8 @@ const viewReducers = {
558
567
  billsBulkActionViewState: billsBulkActionView,
559
568
  cardBalanceState: cardBalance,
560
569
  cardPaymentViewState: cardPaymentView,
570
+ cardPolicyDetailState: cardPolicyDetail,
571
+ cardPolicyListState: cardPolicyList,
561
572
  cardUserOnboardingState: cardUserOnboarding,
562
573
  cashbackDetailState: cashbackDetail,
563
574
  cashBalanceState: cashBalance,
@@ -581,6 +592,7 @@ const viewReducers = {
581
592
  companyTaskManagerViewState: companyTaskManagerView,
582
593
  companyViewState: companyView,
583
594
  countryListState: countryList,
595
+ createCardPolicyState: createCardPolicy,
584
596
  creditAgentEntityState: creditAgentEntity,
585
597
  creditAgentViewState: creditAgentView,
586
598
  dashboardState: dashboard,
@@ -188,8 +188,10 @@ const aiCfoView = createSlice({
188
188
  draft.createSessionState.fetchState = 'In-Progress';
189
189
  draft.createSessionState.error = undefined;
190
190
  },
191
- prepare(agentId, userId, contextRefId, contextType) {
192
- return { payload: { agentId, contextRefId, contextType, userId } };
191
+ prepare(agentId, userId, contextRefId, contextType, pageContext) {
192
+ return {
193
+ payload: { agentId, contextRefId, contextType, pageContext, userId },
194
+ };
193
195
  },
194
196
  },
195
197
  createSessionSuccess(draft, action) {
@@ -220,7 +222,7 @@ const aiCfoView = createSlice({
220
222
  draft.createSessionAndSubmitState.fetchState = 'In-Progress';
221
223
  draft.createSessionAndSubmitState.error = undefined;
222
224
  },
223
- prepare(agentId, userId, questionAnswerId, questionId, createdAt, question, files) {
225
+ prepare(agentId, userId, questionAnswerId, questionId, createdAt, question, files, pageContext) {
224
226
  return {
225
227
  payload: {
226
228
  agentId,
@@ -230,6 +232,7 @@ const aiCfoView = createSlice({
230
232
  createdAt,
231
233
  question,
232
234
  files,
235
+ pageContext,
233
236
  },
234
237
  };
235
238
  },
@@ -66,8 +66,11 @@ function waitForChannelSubscription(pusherInstance, channelName, timeoutMs = 500
66
66
  }));
67
67
  }
68
68
  export const createSessionAndSubmitEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(createSessionAndSubmit.match), switchMap((action) => {
69
- const { agentId, userId, questionAnswerId, questionId, createdAt, question, files, } = action.payload;
70
- const payload = { agent_id: agentId };
69
+ const { agentId, userId, questionAnswerId, questionId, createdAt, question, files, pageContext, } = action.payload;
70
+ const payload = {
71
+ agent_id: agentId,
72
+ ...(pageContext != null && { page_context: pageContext }),
73
+ };
71
74
  return zeniAPI
72
75
  .postAndGetJSON(`${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/sessions`, payload)
73
76
  .pipe(mergeMap((response) => {
@@ -5,11 +5,12 @@ import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload
5
5
  import { date as zeniDate } from '../../../zeniDayJS';
6
6
  import { createSession, createSessionFailure, createSessionSuccess, } from '../aiCfoViewReducer';
7
7
  export const createSessionEpic = (actions$, _, zeniAPI) => actions$.pipe(filter(createSession.match), switchMap((action) => {
8
- const { agentId, contextRefId, contextType, userId } = action.payload;
8
+ const { agentId, contextRefId, contextType, pageContext, userId } = action.payload;
9
9
  const payload = {
10
10
  agent_id: agentId,
11
11
  ...(contextRefId != null && { context_ref_id: contextRefId }),
12
12
  ...(contextType != null && { context_type: contextType }),
13
+ ...(pageContext != null && { page_context: pageContext }),
13
14
  };
14
15
  return zeniAPI
15
16
  .postAndGetJSON(`${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/sessions`, payload)
@@ -2,13 +2,23 @@ import { of } from 'rxjs';
2
2
  import { catchError, filter, mergeMap } from 'rxjs/operators';
3
3
  import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
4
4
  import { fetchSuggestedQuestions, fetchSuggestedQuestionsFailure, fetchSuggestedQuestionsSuccess, } from '../aiCfoViewReducer';
5
- /** GET {aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?page_context=... */
5
+ /**
6
+ * GET {aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?page_context=...
7
+ *
8
+ * Appends `&no_card_created=true` when the action payload sets
9
+ * `noCardCreated: true` (AI Card Creation flow on the cards list — the tenant
10
+ * has not yet created any card). Any other value omits the flag entirely so
11
+ * the existing call sites continue to issue the unchanged request.
12
+ */
6
13
  export const fetchSuggestedQuestionsEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchSuggestedQuestions.match),
7
14
  // mergeMap (not switchMap): each page_context is keyed separately in Redux; switchMap
8
15
  // would cancel in-flight HTTP for context A when B is requested, leaving A stuck In-Progress.
9
16
  mergeMap((action) => {
10
- const { pageContext } = action.payload;
17
+ const { pageContext, noCardCreated } = action.payload;
11
18
  const query = new URLSearchParams({ page_context: pageContext });
19
+ if (noCardCreated === true) {
20
+ query.set('no_card_created', 'true');
21
+ }
12
22
  const url = `${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?${query.toString()}`;
13
23
  return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
14
24
  if (isSuccessResponse(response) && response.data != null) {
@@ -1,9 +1,9 @@
1
1
  import { of } from 'rxjs';
2
- import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
3
  import { removeFiles } from '../../../entity/file/fileReducer';
4
4
  import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
5
5
  import { deleteFile, deleteFileFailure, deleteFileSuccess, } from '../fileViewReducer';
6
- export const deleteFileEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(deleteFile.match), switchMap((action) => {
6
+ export const deleteFileEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(deleteFile.match), mergeMap((action) => {
7
7
  /**
8
8
  * tenantId is required for deleting onboarding files.
9
9
  */
@@ -1,9 +1,9 @@
1
1
  import { of } from 'rxjs';
2
- import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
3
  import { removeFiles } from '../../../entity/file/fileReducer';
4
4
  import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
5
5
  import { deleteFileList, deleteFileListFailure, deleteFileListSuccess, } from '../fileViewReducer';
6
- export const deleteFileListEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(deleteFileList.match), switchMap((action) => {
6
+ export const deleteFileListEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(deleteFileList.match), mergeMap((action) => {
7
7
  const { fileIds } = action.payload;
8
8
  return zeniAPI
9
9
  .deleteAndGetJSON(`${zeniAPI.apiEndPoints.fileMicroServiceBaseUrl}/1.0/files?query=${encodeURIComponent(JSON.stringify({ file_ids: fileIds }))}`)
@@ -1,9 +1,9 @@
1
1
  import { of } from 'rxjs';
2
- import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
3
  import { updateFiles } from '../../../entity/file/fileReducer';
4
4
  import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
5
5
  import { updateFileName, updateFileNameFailure, updateFileNameSuccess, } from '../fileViewReducer';
6
- export const updateFileNameEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(updateFileName.match), switchMap((action) => {
6
+ export const updateFileNameEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(updateFileName.match), mergeMap((action) => {
7
7
  /**
8
8
  * tenantId is required for updating onboarding file names.
9
9
  */
@@ -0,0 +1,42 @@
1
+ import { of } from 'rxjs';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../../../responsePayload';
4
+ import { fetchAiAgentsActivationStatus, fetchAiAgentsActivationStatusFailure, fetchAiAgentsActivationStatusSuccess, } from '../../onboardingCustomerViewReducer';
5
+ const toPhaseStatus = (raw) => {
6
+ if (raw === 'idle' ||
7
+ raw === 'starting' ||
8
+ raw === 'building' ||
9
+ raw === 'ready') {
10
+ return raw;
11
+ }
12
+ return 'idle';
13
+ };
14
+ const toPhase = (row) => ({
15
+ key: row.key,
16
+ status: toPhaseStatus(row.status),
17
+ startedAt: row.started_at,
18
+ completedAt: row.completed_at,
19
+ });
20
+ const toCounts = (payload) => ({
21
+ customerCount: payload?.customer_count ?? 0,
22
+ glAccountCount: payload?.gl_account_count ?? 0,
23
+ targetTransactionCount: payload?.target_transaction_count ?? 0,
24
+ transactionCount: payload?.transaction_count ?? 0,
25
+ vendorCount: payload?.vendor_count ?? 0,
26
+ });
27
+ export const fetchAiAgentsActivationStatusEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchAiAgentsActivationStatus.match), mergeMap(() => {
28
+ const url = `${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/ai-agents-activation/status`;
29
+ return zeniAPI
30
+ .getJSON(url)
31
+ .pipe(mergeMap((response) => {
32
+ if (isSuccessResponse(response) && response.data != null) {
33
+ const phases = (response.data.phases ?? []).map(toPhase);
34
+ return of(fetchAiAgentsActivationStatusSuccess({
35
+ phases,
36
+ counts: toCounts(response.data.counts),
37
+ }));
38
+ }
39
+ return of(fetchAiAgentsActivationStatusFailure(response.status));
40
+ }), catchError((error) => of(fetchAiAgentsActivationStatusFailure(createZeniAPIStatus('Unexpected Error', 'fetchAiAgentsActivationStatus errored out ' +
41
+ JSON.stringify(error))))));
42
+ }));
@@ -0,0 +1,29 @@
1
+ import { from, of } from 'rxjs';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
+ import { updateCompanies } from '../../../../../entity/company/companyReducer';
4
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../../../responsePayload';
5
+ import { acknowledgeOnboardingAiActivationViewed, acknowledgeOnboardingAiActivationViewedFailure, acknowledgeOnboardingAiActivationViewedSuccess, } from '../../onboardingCustomerViewReducer';
6
+ export const acknowledgeOnboardingAiActivationViewedEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(acknowledgeOnboardingAiActivationViewed.match), mergeMap((action) => {
7
+ const { companyId } = action.payload;
8
+ const payload = {
9
+ is_onboarding_ai_activation_viewed: true,
10
+ };
11
+ return zeniAPI
12
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}`, payload)
13
+ .pipe(mergeMap((response) => {
14
+ if (isSuccessResponse(response) && response.data != null) {
15
+ const actions = [
16
+ updateCompanies({
17
+ payload: response.data.companies,
18
+ schema: {},
19
+ }),
20
+ acknowledgeOnboardingAiActivationViewedSuccess(),
21
+ ];
22
+ return from(actions);
23
+ }
24
+ return of(acknowledgeOnboardingAiActivationViewedFailure(response.status));
25
+ }),
26
+ // Best-effort — failure is silent; cascade just runs again next visit.
27
+ catchError((error) => of(acknowledgeOnboardingAiActivationViewedFailure(createZeniAPIStatus('Unexpected Error', 'Acknowledge - Onboarding AI Activation Viewed errored out' +
28
+ JSON.stringify(error))))));
29
+ }));
@@ -0,0 +1,40 @@
1
+ import { from, of } from 'rxjs';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
+ import { updateCompanies } from '../../../../../entity/company/companyReducer';
4
+ import { openSnackbar } from '../../../../../entity/snackbar/snackbarReducer';
5
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../../../responsePayload';
6
+ import { acknowledgeOnboardingAiFinanceTeam, acknowledgeOnboardingAiFinanceTeamFailure, acknowledgeOnboardingAiFinanceTeamSuccess, } from '../../onboardingCustomerViewReducer';
7
+ export const acknowledgeOnboardingAiFinanceTeamEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(acknowledgeOnboardingAiFinanceTeam.match), mergeMap((action) => {
8
+ const { companyId } = action.payload;
9
+ const payload = {
10
+ is_onboarding_ai_finance_team_acknowledged: true,
11
+ };
12
+ return zeniAPI
13
+ .putAndGetJSON(`${zeniAPI.apiEndPoints.tenantMicroServiceBaseUrl}/1.0/companies/${companyId}`, payload)
14
+ .pipe(mergeMap((response) => {
15
+ if (isSuccessResponse(response) && response.data != null) {
16
+ const actions = [
17
+ updateCompanies({
18
+ payload: response.data.companies,
19
+ schema: {},
20
+ }),
21
+ acknowledgeOnboardingAiFinanceTeamSuccess(),
22
+ ];
23
+ return from(actions);
24
+ }
25
+ else {
26
+ return of(openSnackbar({
27
+ messageSection: 'onboarding_customer_view_complete',
28
+ messageText: 'failed',
29
+ type: 'error',
30
+ variables: [
31
+ {
32
+ variableName: '_api-error_',
33
+ variableValue: response.status.message,
34
+ },
35
+ ],
36
+ }), acknowledgeOnboardingAiFinanceTeamFailure(response.status));
37
+ }
38
+ }), catchError((error) => of(acknowledgeOnboardingAiFinanceTeamFailure(createZeniAPIStatus('Unexpected Error', 'Acknowledge - Onboarding AI Finance Team errored out' +
39
+ JSON.stringify(error))))));
40
+ }));
@@ -1,5 +1,7 @@
1
1
  import { createSlice } from '@reduxjs/toolkit';
2
2
  import { date } from '../../../zeniDayJS';
3
+ import { parseUploadedKybDocument, parseUploadedKybDocumentFailure, parseUploadedKycDocument, parseUploadedKycDocumentFailure, } from '../../spendManagement/commonSetup/kycKybAutofillActions';
4
+ import { emptyAiAgentsActivationSubview, } from './onboardingCustomerViewState';
3
5
  const initialStatus = {
4
6
  fetchState: 'Not-Started',
5
7
  error: undefined,
@@ -9,61 +11,31 @@ export const initialState = {
9
11
  saveStatus: initialStatus,
10
12
  dashboardLoadedStatus: initialStatus,
11
13
  currentStep: 'link_payment_account',
14
+ parsingDocumentFileIds: [],
12
15
  companyDetails: {
16
+ autoFilledFields: [],
13
17
  localData: undefined,
14
18
  },
15
- companyOfficerUpdateStatus: {
16
- Officer_1: {
19
+ companyOfficerUpdateStatus: (() => {
20
+ const emptyOfficerSlot = {
21
+ autoFilledFields: [],
17
22
  localData: undefined,
18
23
  sendOtpStatus: initialStatus,
19
24
  otpverificationStatus: initialStatus,
20
- },
21
- Officer_2: {
22
- localData: undefined,
23
- sendOtpStatus: initialStatus,
24
- otpverificationStatus: initialStatus,
25
- },
26
- Officer_3: {
27
- localData: undefined,
28
- sendOtpStatus: initialStatus,
29
- otpverificationStatus: initialStatus,
30
- },
31
- Officer_4: {
32
- localData: undefined,
33
- sendOtpStatus: initialStatus,
34
- otpverificationStatus: initialStatus,
35
- },
36
- Officer_5: {
37
- localData: undefined,
38
- sendOtpStatus: initialStatus,
39
- otpverificationStatus: initialStatus,
40
- },
41
- Officer_6: {
42
- localData: undefined,
43
- sendOtpStatus: initialStatus,
44
- otpverificationStatus: initialStatus,
45
- },
46
- Officer_7: {
47
- localData: undefined,
48
- sendOtpStatus: initialStatus,
49
- otpverificationStatus: initialStatus,
50
- },
51
- Officer_8: {
52
- localData: undefined,
53
- sendOtpStatus: initialStatus,
54
- otpverificationStatus: initialStatus,
55
- },
56
- Officer_9: {
57
- localData: undefined,
58
- sendOtpStatus: initialStatus,
59
- otpverificationStatus: initialStatus,
60
- },
61
- Officer_10: {
62
- localData: undefined,
63
- sendOtpStatus: initialStatus,
64
- otpverificationStatus: initialStatus,
65
- },
66
- },
25
+ };
26
+ return {
27
+ Officer_1: { ...emptyOfficerSlot },
28
+ Officer_2: { ...emptyOfficerSlot },
29
+ Officer_3: { ...emptyOfficerSlot },
30
+ Officer_4: { ...emptyOfficerSlot },
31
+ Officer_5: { ...emptyOfficerSlot },
32
+ Officer_6: { ...emptyOfficerSlot },
33
+ Officer_7: { ...emptyOfficerSlot },
34
+ Officer_8: { ...emptyOfficerSlot },
35
+ Officer_9: { ...emptyOfficerSlot },
36
+ Officer_10: { ...emptyOfficerSlot },
37
+ };
38
+ })(),
67
39
  primaryContactDetails: {},
68
40
  paymentAccountDetails: {
69
41
  fetchStatus: initialStatus,
@@ -91,6 +63,7 @@ export const initialState = {
91
63
  },
92
64
  fetchState: 'Not-Started',
93
65
  error: undefined,
66
+ aiAgentsActivation: { ...emptyAiAgentsActivationSubview },
94
67
  uiState: {
95
68
  isQBOPopupOpen: false,
96
69
  isCardPaymentPopupOpen: false,
@@ -180,6 +153,126 @@ const onboardingCustomerView = createSlice({
180
153
  };
181
154
  },
182
155
  },
156
+ acknowledgeOnboardingAiFinanceTeam: {
157
+ reducer(draft) {
158
+ draft.aiFinanceTeamAcknowledgementStatus = {
159
+ fetchState: 'In-Progress',
160
+ error: undefined,
161
+ };
162
+ },
163
+ prepare(companyId) {
164
+ return {
165
+ payload: { companyId },
166
+ };
167
+ },
168
+ },
169
+ acknowledgeOnboardingAiFinanceTeamSuccess(draft) {
170
+ draft.aiFinanceTeamAcknowledgementStatus = {
171
+ fetchState: 'Completed',
172
+ error: undefined,
173
+ };
174
+ },
175
+ acknowledgeOnboardingAiFinanceTeamFailure: {
176
+ reducer(draft, action) {
177
+ draft.aiFinanceTeamAcknowledgementStatus = {
178
+ fetchState: 'Error',
179
+ error: action.payload,
180
+ };
181
+ },
182
+ prepare(error) {
183
+ return {
184
+ payload: error,
185
+ };
186
+ },
187
+ },
188
+ acknowledgeOnboardingAiActivationViewed: {
189
+ reducer(draft) {
190
+ draft.aiActivationViewedAcknowledgementStatus = {
191
+ fetchState: 'In-Progress',
192
+ error: undefined,
193
+ };
194
+ },
195
+ prepare(companyId) {
196
+ return {
197
+ payload: { companyId },
198
+ };
199
+ },
200
+ },
201
+ acknowledgeOnboardingAiActivationViewedSuccess(draft) {
202
+ draft.aiActivationViewedAcknowledgementStatus = {
203
+ fetchState: 'Completed',
204
+ error: undefined,
205
+ };
206
+ },
207
+ acknowledgeOnboardingAiActivationViewedFailure: {
208
+ reducer(draft, action) {
209
+ draft.aiActivationViewedAcknowledgementStatus = {
210
+ fetchState: 'Error',
211
+ error: action.payload,
212
+ };
213
+ },
214
+ prepare(error) {
215
+ return {
216
+ payload: error,
217
+ };
218
+ },
219
+ },
220
+ fetchAiAgentsActivationStatus(draft) {
221
+ draft.aiAgentsActivation.fetchStatus = {
222
+ fetchState: 'In-Progress',
223
+ error: undefined,
224
+ };
225
+ },
226
+ fetchAiAgentsActivationStatusSuccess: {
227
+ reducer(draft, action) {
228
+ draft.aiAgentsActivation.fetchStatus = {
229
+ fetchState: 'Completed',
230
+ error: undefined,
231
+ };
232
+ draft.aiAgentsActivation.phases = action.payload.phases;
233
+ draft.aiAgentsActivation.counts = action.payload.counts;
234
+ },
235
+ prepare(payload) {
236
+ return { payload };
237
+ },
238
+ },
239
+ fetchAiAgentsActivationStatusFailure: {
240
+ reducer(draft, action) {
241
+ draft.aiAgentsActivation.fetchStatus = {
242
+ fetchState: 'Error',
243
+ error: action.payload,
244
+ };
245
+ },
246
+ prepare(error) {
247
+ return { payload: error };
248
+ },
249
+ },
250
+ aiAgentsActivationCountsUpdated: {
251
+ reducer(draft, action) {
252
+ draft.aiAgentsActivation.counts = {
253
+ ...draft.aiAgentsActivation.counts,
254
+ ...action.payload,
255
+ };
256
+ },
257
+ prepare(payload) {
258
+ return { payload };
259
+ },
260
+ },
261
+ aiAgentsActivationPhaseChanged: {
262
+ reducer(draft, action) {
263
+ const target = draft.aiAgentsActivation.phases;
264
+ const index = target.findIndex((phase) => phase.key === action.payload.key);
265
+ if (index === -1) {
266
+ target.push(action.payload);
267
+ }
268
+ else {
269
+ target[index] = { ...target[index], ...action.payload };
270
+ }
271
+ },
272
+ prepare(payload) {
273
+ return { payload };
274
+ },
275
+ },
183
276
  updateOnboardingCustomerViewDashboardLoaded: {
184
277
  reducer(draft) {
185
278
  draft.dashboardLoadedStatus = {
@@ -592,7 +685,81 @@ const onboardingCustomerView = createSlice({
592
685
  clearOnboardingCustomerView(draft) {
593
686
  Object.assign(draft, initialState);
594
687
  },
688
+ /** Merge AI-parsed officer fields into the officer's onboarding localData. */
689
+ applyKycDocumentAutofillForOnboarding: {
690
+ reducer(draft, action) {
691
+ const { officerType, values, autoFilledFieldNames, fileId } = action.payload;
692
+ const slot = draft.companyOfficerUpdateStatus[officerType];
693
+ slot.localData = Object.assign({}, slot.localData, values);
694
+ slot.autoFilledFields = Array.from(new Set([...slot.autoFilledFields, ...autoFilledFieldNames]));
695
+ draft.parsingDocumentFileIds = draft.parsingDocumentFileIds.filter((id) => id !== fileId);
696
+ },
697
+ prepare(payload) {
698
+ return { payload };
699
+ },
700
+ },
701
+ /** Merge AI-parsed company fields into companyDetails onboarding localData. */
702
+ applyKybDocumentAutofillForOnboarding: {
703
+ reducer(draft, action) {
704
+ const { values, autoFilledFieldNames, fileId } = action.payload;
705
+ draft.companyDetails.localData = Object.assign({}, draft.companyDetails.localData, values);
706
+ const prev = draft.companyDetails.autoFilledFields ?? [];
707
+ draft.companyDetails.autoFilledFields = Array.from(new Set([...prev, ...autoFilledFieldNames]));
708
+ draft.parsingDocumentFileIds = draft.parsingDocumentFileIds.filter((id) => id !== fileId);
709
+ },
710
+ prepare(payload) {
711
+ return { payload };
712
+ },
713
+ },
714
+ /** Wipe AI-autofill badges during onboarding. */
715
+ clearKycKybAutofillForOnboarding: {
716
+ reducer(draft, action) {
717
+ const { officerType } = action.payload;
718
+ if (officerType != null) {
719
+ draft.companyOfficerUpdateStatus[officerType].autoFilledFields = [];
720
+ }
721
+ else {
722
+ draft.companyDetails.autoFilledFields = [];
723
+ Object.keys(draft.companyOfficerUpdateStatus).forEach((key) => {
724
+ draft.companyOfficerUpdateStatus[key].autoFilledFields = [];
725
+ });
726
+ }
727
+ },
728
+ prepare(payload = {}) {
729
+ return { payload };
730
+ },
731
+ },
732
+ },
733
+ extraReducers: (builder) => {
734
+ const addParsingFileId = (draft, fileId) => {
735
+ if (!draft.parsingDocumentFileIds.includes(fileId)) {
736
+ draft.parsingDocumentFileIds.push(fileId);
737
+ }
738
+ };
739
+ const removeParsingFileId = (draft, fileId) => {
740
+ draft.parsingDocumentFileIds = draft.parsingDocumentFileIds.filter((id) => id !== fileId);
741
+ };
742
+ builder.addCase(parseUploadedKycDocument, (draft, action) => {
743
+ if (action.payload.target === 'onboarding') {
744
+ addParsingFileId(draft, action.payload.fileId);
745
+ }
746
+ });
747
+ builder.addCase(parseUploadedKybDocument, (draft, action) => {
748
+ if (action.payload.target === 'onboarding') {
749
+ addParsingFileId(draft, action.payload.fileId);
750
+ }
751
+ });
752
+ builder.addCase(parseUploadedKycDocumentFailure, (draft, action) => {
753
+ if (action.payload.target === 'onboarding') {
754
+ removeParsingFileId(draft, action.payload.fileId);
755
+ }
756
+ });
757
+ builder.addCase(parseUploadedKybDocumentFailure, (draft, action) => {
758
+ if (action.payload.target === 'onboarding') {
759
+ removeParsingFileId(draft, action.payload.fileId);
760
+ }
761
+ });
595
762
  },
596
763
  });
597
- export const { fetchOnboardingCustomerView, fetchOnboardingCustomerSetupView, fetchOnboardingCustomerSetupViewSuccess, fetchOnboardingCustomerSetupViewFailure, updateOnboardingCustomerViewCompleteStatus, updateOnboardingCustomerViewCompleteStatusSuccess, updateOnboardingCustomerViewCompleteStatusFailure, updateOnboardingCustomerViewDashboardLoaded, updateOnboardingCustomerViewDashboardLoadedSuccess, updateOnboardingCustomerViewDashboardLoadedFailure, updateOnboardingCustomerView, updateOnboardingCustomerViewSuccess, updateOnboardingCustomerViewFailure, updateOnboardingPaymentAccountStatus, updateOnboardingPaymentAccountStatusSuccess, updateOnboardingPaymentAccountStatusFailure, updateOnboardingPaymentAccountLoginStatus, updateOnboardingPaymentAccountLoginStatusSuccess, updateOnboardingPaymentAccountLoginStatusFailure, establishOnboardingPlaidConnection, establishOnboardingPlaidConnectionSuccess, establishOnboardingPlaidConnectionFailure, getOnboardingPlaidLinkToken, getOnboardingPlaidLinkTokenSuccess, getOnboardingPlaidLinkTokenFailure, updateCurrentStep, updateOnboardingCustomerViewAccountDetails, updateOnboardingCustomerViewLocalStoreData, saveOnboardingCustomerViewDataInLocalStore, saveOnboardingCompnayOfficerPhoneInLocalStore, updateOnboardingCustomerViewUIState, sendOnboardingOfficerOtp, sendOnboardingOfficerOtpSuccess, sendOnboardingOfficerOtpFailure, resendOnboardingOfficerOtp, verifyOnboardingOfficerOtp, verifyOnboardingOfficerOtpSuccess, verifyOnboardingOfficerOtpFailure, clearOnboardingCustomerViewDataInLocalStore, clearOnboardingCustomerView, } = onboardingCustomerView.actions;
764
+ export const { fetchOnboardingCustomerView, fetchOnboardingCustomerSetupView, fetchOnboardingCustomerSetupViewSuccess, fetchOnboardingCustomerSetupViewFailure, updateOnboardingCustomerViewCompleteStatus, updateOnboardingCustomerViewCompleteStatusSuccess, updateOnboardingCustomerViewCompleteStatusFailure, acknowledgeOnboardingAiFinanceTeam, acknowledgeOnboardingAiFinanceTeamSuccess, acknowledgeOnboardingAiFinanceTeamFailure, acknowledgeOnboardingAiActivationViewed, acknowledgeOnboardingAiActivationViewedSuccess, acknowledgeOnboardingAiActivationViewedFailure, fetchAiAgentsActivationStatus, fetchAiAgentsActivationStatusSuccess, fetchAiAgentsActivationStatusFailure, aiAgentsActivationCountsUpdated, aiAgentsActivationPhaseChanged, updateOnboardingCustomerViewDashboardLoaded, updateOnboardingCustomerViewDashboardLoadedSuccess, updateOnboardingCustomerViewDashboardLoadedFailure, updateOnboardingCustomerView, updateOnboardingCustomerViewSuccess, updateOnboardingCustomerViewFailure, updateOnboardingPaymentAccountStatus, updateOnboardingPaymentAccountStatusSuccess, updateOnboardingPaymentAccountStatusFailure, updateOnboardingPaymentAccountLoginStatus, updateOnboardingPaymentAccountLoginStatusSuccess, updateOnboardingPaymentAccountLoginStatusFailure, establishOnboardingPlaidConnection, establishOnboardingPlaidConnectionSuccess, establishOnboardingPlaidConnectionFailure, getOnboardingPlaidLinkToken, getOnboardingPlaidLinkTokenSuccess, getOnboardingPlaidLinkTokenFailure, updateCurrentStep, updateOnboardingCustomerViewAccountDetails, updateOnboardingCustomerViewLocalStoreData, saveOnboardingCustomerViewDataInLocalStore, saveOnboardingCompnayOfficerPhoneInLocalStore, updateOnboardingCustomerViewUIState, sendOnboardingOfficerOtp, sendOnboardingOfficerOtpSuccess, sendOnboardingOfficerOtpFailure, resendOnboardingOfficerOtp, verifyOnboardingOfficerOtp, verifyOnboardingOfficerOtpSuccess, verifyOnboardingOfficerOtpFailure, clearOnboardingCustomerViewDataInLocalStore, clearOnboardingCustomerView, applyKycDocumentAutofillForOnboarding, applyKybDocumentAutofillForOnboarding, clearKycKybAutofillForOnboarding, } = onboardingCustomerView.actions;
598
765
  export default onboardingCustomerView.reducer;
@@ -11,7 +11,7 @@ import { getCompanyAndIdentityDetails, } from '../../spendManagement/commonSetup
11
11
  import { ALL_ONBOARDING_STEPS, ALL_ZENI_USER_ONBOARDING_STEPS, REQUIRED_ONBOARDING_STEPS, ZENI_USER_REQUIRED_ONBOARDING_STEPS, toOnboardingStepType, } from './onboardingCustomerViewState';
12
12
  export function getOnboardingCustomerView(state, companyId) {
13
13
  const { fileState, paymentAccountState, onboardingCustomerViewState, userState, userRoleState, subscriptionPaymentAccountState, companyConfigState, cardPaymentViewState, countryListState, addressViewState, } = state;
14
- const { companyDetails, companyOfficerUpdateStatus, primaryContactDetails, subscriptionPaymentAccountIds, paymentAccountDetails, plaidConnectionDetails, updateStatus, saveStatus, currentStep, uiState, fetchState, error, } = onboardingCustomerViewState;
14
+ const { companyDetails, companyOfficerUpdateStatus, primaryContactDetails, subscriptionPaymentAccountIds, paymentAccountDetails, plaidConnectionDetails, parsingDocumentFileIds, updateStatus, saveStatus, currentStep, uiState, fetchState, error, } = onboardingCustomerViewState;
15
15
  const { paymentAccountIds } = paymentAccountDetails;
16
16
  let subscriptionPaymentAccount;
17
17
  let paymentAccount;
@@ -54,6 +54,7 @@ export function getOnboardingCustomerView(state, companyId) {
54
54
  companyDetails,
55
55
  companyOfficerUpdateStatus,
56
56
  primaryContactDetails,
57
+ parsingDocumentFileIds,
57
58
  });
58
59
  const companyAddress = addressViewState.newAddressState?.company_address;
59
60
  if (companyAddress == null &&
@@ -119,6 +120,7 @@ export function getOnboardingCustomerView(state, companyId) {
119
120
  return {
120
121
  companyDetailsLocalData,
121
122
  companyOfficerLocalData,
123
+ parsingDocumentFileIds,
122
124
  subscriptionBillingAddress: subscriptionBillingAddress?.addressToCreate,
123
125
  companyView,
124
126
  allNationalityCountries,
@@ -323,3 +325,7 @@ export const getProductSettingsString = (productSettings) => {
323
325
  .map((key) => productKeyMap[key])
324
326
  .join(',');
325
327
  };
328
+ const fromActivationView = (state) => state.onboardingCustomerViewState.aiAgentsActivation;
329
+ export const getAiAgentsActivationSubview = (state) => fromActivationView(state);
330
+ export const getAiAgentsActivationPhases = (state) => fromActivationView(state).phases;
331
+ export const getAiAgentsActivationCounts = (state) => fromActivationView(state).counts;