@zeniai/client-epic-state 5.0.95-betaML1 → 5.0.96

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 (238) hide show
  1. package/lib/common/aiCfo/aiCfoSuggestedQuestionsPageContext.d.ts +1 -1
  2. package/lib/entity/aiCfo/aiCfoPayload.d.ts +5 -63
  3. package/lib/entity/aiCfo/aiCfoReducer.d.ts +2 -23
  4. package/lib/entity/aiCfo/aiCfoReducer.js +9 -249
  5. package/lib/entity/aiCfo/aiCfoSelector.d.ts +1 -4
  6. package/lib/entity/aiCfo/aiCfoSelector.js +1 -19
  7. package/lib/entity/aiCfo/aiCfoState.d.ts +4 -97
  8. package/lib/entity/aiCfo/aiCfoState.js +1 -18
  9. package/lib/entity/jeSchedules/jeSchedulesPayload.d.ts +0 -1
  10. package/lib/entity/jeSchedules/jeSchedulesPayload.js +0 -7
  11. package/lib/entity/jeSchedules/jeSchedulesState.d.ts +0 -2
  12. package/lib/entity/jeSchedules/jeSchedulesTypes.d.ts +1 -1
  13. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +1 -1
  14. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  15. package/lib/entity/snackbar/snackbarTypes.js +0 -3
  16. package/lib/entity/task/taskPayload.d.ts +1 -3
  17. package/lib/entity/task/taskPayload.js +0 -2
  18. package/lib/entity/task/taskState.d.ts +0 -2
  19. package/lib/entity/tenant/clearAllEpic.d.ts +2 -6
  20. package/lib/entity/tenant/clearAllEpic.js +0 -8
  21. package/lib/epic.d.ts +3 -18
  22. package/lib/epic.js +3 -18
  23. package/lib/esm/entity/aiCfo/aiCfoReducer.js +9 -249
  24. package/lib/esm/entity/aiCfo/aiCfoSelector.js +1 -17
  25. package/lib/esm/entity/aiCfo/aiCfoState.js +0 -15
  26. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +0 -7
  27. package/lib/esm/entity/snackbar/snackbarTypes.js +0 -3
  28. package/lib/esm/entity/task/taskPayload.js +0 -2
  29. package/lib/esm/entity/tenant/clearAllEpic.js +0 -8
  30. package/lib/esm/epic.js +3 -18
  31. package/lib/esm/index.js +12 -42
  32. package/lib/esm/reducer.js +0 -12
  33. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +3 -6
  34. package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +2 -5
  35. package/lib/esm/view/aiCfoView/epics/createSessionEpic.js +1 -2
  36. package/lib/esm/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +2 -12
  37. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewReducer.js +11 -39
  38. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +4 -14
  39. package/lib/esm/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +28 -37
  40. package/lib/esm/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  41. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/initializeTransactionCategorizationLocalDataEpic.js +0 -15
  42. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +5 -63
  43. package/lib/esm/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.js +3 -12
  44. package/lib/esm/view/recommendation/recommendationReducer.js +1 -18
  45. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +0 -25
  46. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +2 -2
  47. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +4 -42
  48. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +0 -35
  49. package/lib/esm/view/transactionDetail/epics/initializeTransactionDetailLocalDataEpic.js +0 -7
  50. package/lib/esm/view/transactionDetail/transactionDetailReducer.js +3 -44
  51. package/lib/index.d.ts +14 -49
  52. package/lib/index.js +22 -194
  53. package/lib/reducer.d.ts +0 -12
  54. package/lib/reducer.js +0 -12
  55. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +2 -11
  56. package/lib/view/aiCfoView/aiCfoViewReducer.js +3 -6
  57. package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +2 -5
  58. package/lib/view/aiCfoView/epics/createSessionEpic.js +1 -2
  59. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +1 -8
  60. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +2 -12
  61. package/lib/view/companyTaskManagerView/companyTaskManagerViewPayload.d.ts +11 -19
  62. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +4 -10
  63. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +12 -40
  64. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +0 -2
  65. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +3 -13
  66. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +3 -11
  67. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.d.ts +3 -1
  68. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +28 -37
  69. package/lib/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  70. package/lib/view/companyView/types/cockpitTypes.d.ts +1 -2
  71. package/lib/view/expenseAutomationView/epics/transactionCategorization/initializeTransactionCategorizationLocalDataEpic.d.ts +1 -2
  72. package/lib/view/expenseAutomationView/epics/transactionCategorization/initializeTransactionCategorizationLocalDataEpic.js +0 -15
  73. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  74. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +5 -63
  75. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
  76. package/lib/view/people/peopleTypes.d.ts +1 -1
  77. package/lib/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.d.ts +2 -2
  78. package/lib/view/recommendation/fetchEntityRecommendationsForLineUpdateEpic.js +1 -10
  79. package/lib/view/recommendation/recommendationReducer.d.ts +1 -3
  80. package/lib/view/recommendation/recommendationReducer.js +2 -19
  81. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  82. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  83. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +0 -14
  84. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +1 -27
  85. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.d.ts +2 -2
  86. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +1 -1
  87. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.d.ts +2 -12
  88. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +5 -43
  89. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.d.ts +0 -7
  90. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +1 -42
  91. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardState.d.ts +0 -5
  92. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +1 -1
  93. package/lib/view/transactionDetail/epics/initializeTransactionDetailLocalDataEpic.d.ts +1 -2
  94. package/lib/view/transactionDetail/epics/initializeTransactionDetailLocalDataEpic.js +0 -7
  95. package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +1 -1
  96. package/lib/view/transactionDetail/transactionDetailReducer.js +3 -44
  97. package/package.json +1 -1
  98. package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +0 -277
  99. package/lib/entity/cardPolicy/cardPolicyPayload.js +0 -143
  100. package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +0 -19
  101. package/lib/entity/cardPolicy/cardPolicyReducer.js +0 -175
  102. package/lib/entity/cardPolicy/cardPolicySelector.d.ts +0 -32
  103. package/lib/entity/cardPolicy/cardPolicySelector.js +0 -99
  104. package/lib/entity/cardPolicy/cardPolicyState.d.ts +0 -205
  105. package/lib/entity/cardPolicy/cardPolicyState.js +0 -14
  106. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.d.ts +0 -18
  107. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.js +0 -68
  108. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.d.ts +0 -26
  109. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +0 -47
  110. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +0 -25
  111. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +0 -39
  112. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +0 -24
  113. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +0 -105
  114. package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +0 -130
  115. package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +0 -171
  116. package/lib/esm/entity/cardPolicy/cardPolicySelector.js +0 -75
  117. package/lib/esm/entity/cardPolicy/cardPolicyState.js +0 -9
  118. package/lib/esm/entity/cardPolicy/extractPolicyDocumentEpic.js +0 -64
  119. package/lib/esm/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +0 -43
  120. package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +0 -35
  121. package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +0 -101
  122. package/lib/esm/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +0 -38
  123. package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +0 -16
  124. package/lib/esm/view/recommendation/recommendationStaleResponseHelper.js +0 -26
  125. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +0 -52
  126. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +0 -22
  127. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +0 -1
  128. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +0 -36
  129. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +0 -39
  130. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +0 -34
  131. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +0 -58
  132. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +0 -21
  133. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +0 -1
  134. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +0 -38
  135. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +0 -289
  136. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +0 -109
  137. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +0 -44
  138. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +0 -111
  139. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +0 -25
  140. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +0 -363
  141. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +0 -36
  142. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +0 -19
  143. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +0 -6
  144. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +0 -119
  145. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +0 -154
  146. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +0 -22
  147. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +0 -1
  148. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +0 -39
  149. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +0 -140
  150. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +0 -20
  151. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +0 -100
  152. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +0 -96
  153. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +0 -59
  154. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +0 -24
  155. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +0 -1
  156. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +0 -34
  157. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +0 -57
  158. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +0 -35
  159. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +0 -62
  160. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +0 -44
  161. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.d.ts +0 -10
  162. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +0 -42
  163. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.d.ts +0 -6
  164. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +0 -20
  165. package/lib/view/recommendation/recommendationStaleResponseHelper.d.ts +0 -7
  166. package/lib/view/recommendation/recommendationStaleResponseHelper.js +0 -30
  167. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.d.ts +0 -14
  168. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +0 -56
  169. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.d.ts +0 -15
  170. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +0 -28
  171. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.d.ts +0 -8
  172. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +0 -2
  173. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.d.ts +0 -8
  174. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +0 -40
  175. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.d.ts +0 -8
  176. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +0 -43
  177. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.d.ts +0 -8
  178. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +0 -38
  179. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.d.ts +0 -15
  180. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +0 -62
  181. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.d.ts +0 -15
  182. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +0 -27
  183. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.d.ts +0 -7
  184. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +0 -2
  185. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.d.ts +0 -8
  186. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +0 -42
  187. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.d.ts +0 -8
  188. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +0 -294
  189. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.d.ts +0 -8
  190. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +0 -113
  191. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.d.ts +0 -9
  192. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +0 -48
  193. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.d.ts +0 -8
  194. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +0 -115
  195. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.d.ts +0 -13
  196. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +0 -29
  197. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.d.ts +0 -14
  198. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +0 -369
  199. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.d.ts +0 -6
  200. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +0 -40
  201. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.d.ts +0 -7
  202. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +0 -26
  203. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.d.ts +0 -116
  204. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +0 -10
  205. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.d.ts +0 -33
  206. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +0 -126
  207. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +0 -52
  208. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +0 -158
  209. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +0 -11
  210. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +0 -31
  211. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +0 -12
  212. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +0 -2
  213. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +0 -8
  214. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +0 -43
  215. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.d.ts +0 -10
  216. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +0 -144
  217. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.d.ts +0 -7
  218. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +0 -24
  219. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.d.ts +0 -11
  220. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +0 -104
  221. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.d.ts +0 -22
  222. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +0 -100
  223. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.d.ts +0 -8
  224. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +0 -63
  225. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.d.ts +0 -3
  226. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +0 -28
  227. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.d.ts +0 -34
  228. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +0 -2
  229. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.d.ts +0 -7
  230. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +0 -38
  231. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.d.ts +0 -12
  232. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +0 -61
  233. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.d.ts +0 -9
  234. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +0 -39
  235. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts +0 -11
  236. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +0 -66
  237. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.d.ts +0 -3
  238. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +0 -48
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyExtractedPolicyToDraftEpic = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const operators_1 = require("rxjs/operators");
6
- const cardPolicyReducer_1 = require("../../../../../entity/cardPolicy/cardPolicyReducer");
7
- const cardPolicyChipIds_1 = require("./cardPolicyChipIds");
8
- const cardPolicyFormDraftTypes_1 = require("./cardPolicyFormDraftTypes");
9
- const createCardPolicyReducer_1 = require("./createCardPolicyReducer");
10
- const toExtractedView = (rules) => ({
11
- allowedEntity: {
12
- categoryCodes: rules.allowedEntity.categoryCodes ?? [],
13
- merchantNames: rules.allowedEntity.merchantNames ?? [],
14
- },
15
- blockedEntity: {
16
- categoryCodes: rules.blockedEntity.categoryCodes ?? [],
17
- merchantNames: rules.blockedEntity.merchantNames ?? [],
18
- },
19
- confidenceScore: rules.confidenceScore,
20
- policyName: rules.policyName,
21
- requiredReceiptThreshold: rules.requiredReceiptThreshold,
22
- transactionLimit: rules.transactionLimit,
23
- });
24
- const readVendorSearchOptions = (state) => state.cardPolicyState.vendorSearch.vendors.map((vendor) => (0, cardPolicyChipIds_1.toVendorChipFieldValue)(vendor.name, false));
25
- const readCategorySearchOptions = (state) => state.cardPolicyState.mccCategories.map((category) => (0, cardPolicyChipIds_1.toMccCategoryChipFieldValue)((0, cardPolicyFormDraftTypes_1.toMccCategoryLike)(category), false));
26
- // Routes extract success to the AI or manual draft based on `aiCfoAnswerId`,
27
- // pulling vendor/category universes from CES so any caller wires up automatically.
28
- // AI step_5 review chips are patched separately by `policyRecommendationFromUploadEpic`.
29
- const applyExtractedPolicyToDraftEpic = (actions$, state$) => actions$.pipe((0, operators_1.mergeMap)((action) => {
30
- if (!cardPolicyReducer_1.updatePolicyDocumentExtractionSuccess.match(action)) {
31
- return rxjs_1.EMPTY;
32
- }
33
- const state = state$.value;
34
- const extraction = state.cardPolicyState.policyDocumentExtraction;
35
- const rules = extraction.extractedRules;
36
- if (rules == null) {
37
- return rxjs_1.EMPTY;
38
- }
39
- const extracted = toExtractedView(rules);
40
- const vendorSearchOptions = readVendorSearchOptions(state);
41
- const categorySearchOptions = readCategorySearchOptions(state);
42
- const payload = { extracted, vendorSearchOptions, categorySearchOptions };
43
- if (extraction.aiCfoAnswerId != null) {
44
- return (0, rxjs_1.of)((0, createCardPolicyReducer_1.applyExtractedPolicyToAiCardPolicyDraft)(payload));
45
- }
46
- return (0, rxjs_1.of)((0, createCardPolicyReducer_1.applyExtractedPolicyToManualCardPolicyDraft)(payload));
47
- }));
48
- exports.applyExtractedPolicyToDraftEpic = applyExtractedPolicyToDraftEpic;
@@ -1,8 +0,0 @@
1
- import { CardPolicyChipFieldValue, CardPolicyCreateFormDraft, ExtractedCardPolicyDataView } from './cardPolicyFormDraftTypes';
2
- export interface ApplyExtractedPolicyToManualCardPolicyDraftArgs {
3
- categorySearchOptions: CardPolicyChipFieldValue[];
4
- current: CardPolicyCreateFormDraft;
5
- extracted: ExtractedCardPolicyDataView;
6
- vendorSearchOptions: CardPolicyChipFieldValue[];
7
- }
8
- export declare const applyExtractedPolicyToManualCardPolicyDraft: ({ extracted, current, vendorSearchOptions, categorySearchOptions, }: ApplyExtractedPolicyToManualCardPolicyDraftArgs) => CardPolicyCreateFormDraft;
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyExtractedPolicyToManualCardPolicyDraft = void 0;
4
- const cardPolicyChipIds_1 = require("./cardPolicyChipIds");
5
- const cardPolicyFormDraftTypes_1 = require("./cardPolicyFormDraftTypes");
6
- // Mirrors the AI variant plus name overwrite from `extracted.policyName`;
7
- // description / mode / cardSelections are preserved (extract API doesn't return them).
8
- const applyExtractedPolicyToManualCardPolicyDraft = ({ extracted, current, vendorSearchOptions, categorySearchOptions, }) => ({
9
- ...current,
10
- name: extracted.policyName ?? current.name,
11
- description: current.description,
12
- vendorPolicy: buildAllowBlockField({
13
- allowList: extracted.allowedEntity.merchantNames,
14
- blockList: extracted.blockedEntity.merchantNames,
15
- currentAllowItems: current.vendorPolicy.allowItems,
16
- currentBlockItems: current.vendorPolicy.blockItems,
17
- universe: vendorSearchOptions,
18
- matchOnCode: false,
19
- }),
20
- categoryPolicy: buildAllowBlockField({
21
- allowList: extracted.allowedEntity.categoryCodes,
22
- blockList: extracted.blockedEntity.categoryCodes,
23
- currentAllowItems: current.categoryPolicy.allowItems,
24
- currentBlockItems: current.categoryPolicy.blockItems,
25
- universe: categorySearchOptions,
26
- matchOnCode: true,
27
- }),
28
- limits: buildLimitRows({
29
- current: current.limits,
30
- transactionLimit: extracted.transactionLimit,
31
- requiredReceiptThreshold: extracted.requiredReceiptThreshold,
32
- }),
33
- });
34
- exports.applyExtractedPolicyToManualCardPolicyDraft = applyExtractedPolicyToManualCardPolicyDraft;
35
- const buildAllowBlockField = ({ allowList, blockList, currentAllowItems, currentBlockItems, universe, matchOnCode, }) => {
36
- const allowItems = buildSideItems({
37
- selectedValues: allowList,
38
- currentItems: currentAllowItems,
39
- universe,
40
- matchOnCode,
41
- });
42
- const blockItems = buildSideItems({
43
- selectedValues: blockList,
44
- currentItems: currentBlockItems,
45
- universe,
46
- matchOnCode,
47
- });
48
- const mode = allowList.length === 0 && blockList.length > 0 ? 'block' : 'allow';
49
- return { mode, allowItems, blockItems };
50
- };
51
- const buildSideItems = ({ selectedValues, currentItems, universe, matchOnCode, }) => {
52
- const selectedKeys = new Set(selectedValues
53
- .map((value) => normalizeKey(value))
54
- .filter((key) => key != null));
55
- const items = [];
56
- const seenIds = new Set();
57
- for (const item of currentItems) {
58
- const key = normalizeKey(matchOnCode ? item.optionalCode : item.label);
59
- const isSelected = key != null && selectedKeys.has(key);
60
- items.push({ ...item, isSelected });
61
- seenIds.add(item.id);
62
- if (isSelected && key != null) {
63
- selectedKeys.delete(key);
64
- }
65
- }
66
- for (const option of universe) {
67
- if (selectedKeys.size === 0) {
68
- break;
69
- }
70
- const key = normalizeKey(matchOnCode ? option.optionalCode : option.label);
71
- if (key == null || !selectedKeys.has(key) || seenIds.has(option.id)) {
72
- continue;
73
- }
74
- items.push({ ...option, isSelected: true });
75
- seenIds.add(option.id);
76
- selectedKeys.delete(key);
77
- }
78
- for (const value of selectedValues) {
79
- const key = normalizeKey(value);
80
- if (key == null || !selectedKeys.has(key)) {
81
- continue;
82
- }
83
- const id = matchOnCode
84
- ? (0, cardPolicyChipIds_1.buildMccCategoryChipId)(value)
85
- : (0, cardPolicyChipIds_1.buildVendorChipId)(value);
86
- if (seenIds.has(id)) {
87
- continue;
88
- }
89
- items.push({
90
- id,
91
- label: value,
92
- isSelected: true,
93
- ...(matchOnCode ? { optionalCode: value } : {}),
94
- });
95
- seenIds.add(id);
96
- selectedKeys.delete(key);
97
- }
98
- return items;
99
- };
100
- const buildLimitRows = ({ current, transactionLimit, requiredReceiptThreshold, }) => current.map((row) => {
101
- if (row.id === cardPolicyFormDraftTypes_1.CARD_POLICY_LIMIT_ROW_ID_TRANSACTION) {
102
- return amountToLimitRow(row, transactionLimit);
103
- }
104
- if (row.id === cardPolicyFormDraftTypes_1.CARD_POLICY_LIMIT_ROW_ID_REQUIRE_RECEIPT) {
105
- return amountToLimitRow(row, requiredReceiptThreshold);
106
- }
107
- return row;
108
- });
109
- const amountToLimitRow = (row, amount) => {
110
- if (amount > 0) {
111
- return { ...row, isEnabled: true, amount };
112
- }
113
- return { ...row, isEnabled: false, amount: row.amount };
114
- };
115
- const normalizeKey = (value) => value == null || value.length === 0 ? undefined : value.toLowerCase().trim();
@@ -1,13 +0,0 @@
1
- import { CardPolicyUploadSource, CardPolicyWizardPlan } from '../../../../../entity/aiCfo/aiCfoState';
2
- import { AiCardPolicyFormDraftSeedContext, CardPolicyFormDraft } from './cardPolicyFormDraftTypes';
3
- export interface ApplyUploadPlanToAiCardPolicyDraftArgs {
4
- context: AiCardPolicyFormDraftSeedContext;
5
- current: CardPolicyFormDraft;
6
- wizardPlan: CardPolicyWizardPlan;
7
- source?: CardPolicyUploadSource;
8
- }
9
- export interface ApplyUploadPlanToAiCardPolicyDraftResult {
10
- context: AiCardPolicyFormDraftSeedContext;
11
- draft: CardPolicyFormDraft;
12
- }
13
- export declare const applyUploadPlanToAiCardPolicyDraft: ({ current, context, wizardPlan, source, }: ApplyUploadPlanToAiCardPolicyDraftArgs) => ApplyUploadPlanToAiCardPolicyDraftResult;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyUploadPlanToAiCardPolicyDraft = void 0;
4
- const buildAiCardPolicyFormDraftSeed_1 = require("./buildAiCardPolicyFormDraftSeed");
5
- // Re-derives Step 5 review from a fresh `wizardPlan` while preserving the
6
- // user's Step 2 `cardSelections` and Step 1 `limits`. No-op outside upload mode.
7
- const applyUploadPlanToAiCardPolicyDraft = ({ current, context, wizardPlan, source, }) => {
8
- if (current.policyKind !== 'upload') {
9
- return { draft: current, context };
10
- }
11
- const policiesReview = (0, buildAiCardPolicyFormDraftSeed_1.buildUploadReviewRows)(wizardPlan.step5Review.draftPolicies, context.cardsMasterList, context.categorySearchOptions);
12
- return {
13
- draft: {
14
- ...current,
15
- policiesReview,
16
- },
17
- context: {
18
- ...context,
19
- wizardPlan,
20
- source: source ?? context.source,
21
- suggestedPoliciesSeed: wizardPlan.step5Review.draftPolicies.map((draft) => ({
22
- id: draft.id,
23
- name: draft.name,
24
- isChecked: true,
25
- })),
26
- },
27
- };
28
- };
29
- exports.applyUploadPlanToAiCardPolicyDraft = applyUploadPlanToAiCardPolicyDraft;
@@ -1,14 +0,0 @@
1
- import { CardPolicyDraftPolicy, CardPolicyInitialData } from '../../../../../entity/aiCfo/aiCfoState';
2
- import { AiCardPolicyFormDraftSeedContext, CardPolicyCardSelectionRow, CardPolicyDefaultSeedSuggestions, CardPolicyFormDraft, CardPolicyLimitFieldValue, CardPolicyReviewRow, MccCategoryLike } from './cardPolicyFormDraftTypes';
3
- export interface BuildAiCardPolicyFormDraftSeedArgs extends CardPolicyDefaultSeedSuggestions {
4
- initialData: CardPolicyInitialData;
5
- cardsMasterList?: CardPolicyCardSelectionRow[];
6
- categorySearchOptions?: MccCategoryLike[];
7
- }
8
- export interface BuildAiCardPolicyFormDraftSeedResult {
9
- context: AiCardPolicyFormDraftSeedContext;
10
- draft: CardPolicyFormDraft;
11
- }
12
- export declare const buildEmptyLimitRows: () => CardPolicyLimitFieldValue[];
13
- export declare const buildAiCardPolicyFormDraftSeed: ({ initialData, cardsMasterList, categorySearchOptions, suggestedAllowMerchants, suggestedBlockMerchants, suggestedAllowCategories, suggestedBlockCategories, }: BuildAiCardPolicyFormDraftSeedArgs) => BuildAiCardPolicyFormDraftSeedResult;
14
- export declare const buildUploadReviewRows: (draftPolicies: CardPolicyDraftPolicy[], cardsMasterList: CardPolicyCardSelectionRow[], categorySearchOptions: MccCategoryLike[] | undefined) => CardPolicyReviewRow[];
@@ -1,369 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildUploadReviewRows = exports.buildAiCardPolicyFormDraftSeed = exports.buildEmptyLimitRows = void 0;
4
- const cardPolicyChipIds_1 = require("./cardPolicyChipIds");
5
- const cardPolicyFormDraftTypes_1 = require("./cardPolicyFormDraftTypes");
6
- const EMPTY_ALLOW_BLOCK = {
7
- mode: 'allow',
8
- allowItems: [],
9
- blockItems: [],
10
- };
11
- const EMPTY_FORM_VALUES = {
12
- vendorPolicy: EMPTY_ALLOW_BLOCK,
13
- categoryPolicy: EMPTY_ALLOW_BLOCK,
14
- cardSelections: [],
15
- limits: [],
16
- policiesReview: [],
17
- };
18
- const buildEmptyLimitRows = () => [
19
- { id: cardPolicyFormDraftTypes_1.CARD_POLICY_LIMIT_ROW_ID_TRANSACTION, isEnabled: false },
20
- { id: cardPolicyFormDraftTypes_1.CARD_POLICY_LIMIT_ROW_ID_REQUIRE_RECEIPT, isEnabled: false },
21
- ];
22
- exports.buildEmptyLimitRows = buildEmptyLimitRows;
23
- // Build the initial draft + seed context per `policyKind`:
24
- // - auto: 1-step review with chip groups built eagerly from `draftPolicies`.
25
- // - guided: 5-step wizard; Steps 1–4 from `draftPolicies[0]`, review re-derived.
26
- // - upload: empty scaffold pre-recommendation; post-recommendation seeds review.
27
- const buildAiCardPolicyFormDraftSeed = ({ initialData, cardsMasterList = [], categorySearchOptions, suggestedAllowMerchants, suggestedBlockMerchants, suggestedAllowCategories, suggestedBlockCategories, }) => {
28
- const suggestedPoliciesSeed = buildSuggestedPoliciesSeed(initialData);
29
- const wizardPlan = 'wizardPlan' in initialData ? initialData.wizardPlan : undefined;
30
- const source = initialData.policyKind === 'upload' ? initialData.source : undefined;
31
- const context = {
32
- policyKind: initialData.policyKind,
33
- cardsMasterList,
34
- categorySearchOptions: categorySearchOptions ?? [],
35
- suggestedAllowMerchants,
36
- suggestedBlockMerchants,
37
- suggestedAllowCategories,
38
- suggestedBlockCategories,
39
- suggestedPoliciesSeed,
40
- wizardPlan,
41
- source,
42
- };
43
- const draft = buildDraftFromInitialData({
44
- initialData,
45
- cardsMasterList,
46
- categorySearchOptions,
47
- suggestedAllowMerchants,
48
- suggestedBlockMerchants,
49
- suggestedAllowCategories,
50
- suggestedBlockCategories,
51
- });
52
- return { draft, context };
53
- };
54
- exports.buildAiCardPolicyFormDraftSeed = buildAiCardPolicyFormDraftSeed;
55
- const buildDraftFromInitialData = ({ initialData, cardsMasterList, categorySearchOptions, suggestedAllowMerchants, suggestedBlockMerchants, suggestedAllowCategories, suggestedBlockCategories, }) => {
56
- const vendorAllowSeed = merchantsToChips(suggestedAllowMerchants);
57
- const vendorBlockSeed = merchantsToChips(suggestedBlockMerchants);
58
- const categoryAllowSeed = categoriesToChips(suggestedAllowCategories);
59
- const categoryBlockSeed = categoriesToChips(suggestedBlockCategories);
60
- if (initialData.policyKind === 'auto') {
61
- const autoDraftPolicies = initialData.wizardPlan?.step5Review?.draftPolicies ?? [];
62
- return {
63
- ...EMPTY_FORM_VALUES,
64
- policyKind: 'auto',
65
- policiesReview: buildAutoReviewRows(autoDraftPolicies, cardsMasterList, categorySearchOptions),
66
- };
67
- }
68
- if (initialData.policyKind === 'upload') {
69
- const uploadDraftPolicies = initialData.wizardPlan?.step5Review?.draftPolicies;
70
- if (uploadDraftPolicies == null) {
71
- return {
72
- ...EMPTY_FORM_VALUES,
73
- policyKind: 'upload',
74
- cardSelections: cardsMasterList.map((row) => ({
75
- ...row,
76
- isChecked: false,
77
- })),
78
- limits: (0, exports.buildEmptyLimitRows)(),
79
- };
80
- }
81
- return {
82
- ...EMPTY_FORM_VALUES,
83
- policyKind: 'upload',
84
- cardSelections: cardsMasterList.map((row) => ({
85
- ...row,
86
- isChecked: false,
87
- })),
88
- limits: (0, exports.buildEmptyLimitRows)(),
89
- policiesReview: (0, exports.buildUploadReviewRows)(uploadDraftPolicies, cardsMasterList, categorySearchOptions),
90
- };
91
- }
92
- // Guided
93
- const draftPolicies = initialData.wizardPlan?.step5Review?.draftPolicies ?? [];
94
- const primary = draftPolicies[0];
95
- if (primary == null) {
96
- return {
97
- policyKind: 'guided',
98
- vendorPolicy: buildAllowBlockFromSeeds(vendorAllowSeed, vendorBlockSeed),
99
- categoryPolicy: buildAllowBlockFromSeeds(categoryAllowSeed, categoryBlockSeed),
100
- cardSelections: cardsMasterList.map((row) => ({
101
- ...row,
102
- isChecked: false,
103
- })),
104
- limits: (0, exports.buildEmptyLimitRows)(),
105
- policiesReview: [],
106
- };
107
- }
108
- const mccCodeToCategory = buildMccCodeToCategoryMap(categorySearchOptions);
109
- const vendorMode = inferAllowBlockMode(primary.allowedEntity.merchantNames.length, primary.blockedEntity.merchantNames.length);
110
- const aiVendorAllow = draftMerchantsToChips(primary.allowedEntity.merchantNames);
111
- const aiVendorBlock = draftMerchantsToChips(primary.blockedEntity.merchantNames);
112
- const vendorPolicy = {
113
- mode: vendorMode,
114
- allowItems: mergeAiAndSeedChips(aiVendorAllow, vendorAllowSeed),
115
- blockItems: mergeAiAndSeedChips(aiVendorBlock, vendorBlockSeed),
116
- };
117
- const categoryMode = inferAllowBlockMode(primary.allowedEntity.categoryCodes.length, primary.blockedEntity.categoryCodes.length);
118
- const aiCategoryAllow = draftCategoryCodesToChips(primary.allowedEntity.categoryCodes, mccCodeToCategory);
119
- const aiCategoryBlock = draftCategoryCodesToChips(primary.blockedEntity.categoryCodes, mccCodeToCategory);
120
- const categoryPolicy = {
121
- mode: categoryMode,
122
- allowItems: mergeAiAndSeedChips(aiCategoryAllow, categoryAllowSeed),
123
- blockItems: mergeAiAndSeedChips(aiCategoryBlock, categoryBlockSeed),
124
- };
125
- const cardSelections = cardsMasterList.map((row) => ({
126
- ...row,
127
- isChecked: primary.applyToCards.includes(row.id),
128
- }));
129
- const limits = [
130
- {
131
- id: cardPolicyFormDraftTypes_1.CARD_POLICY_LIMIT_ROW_ID_TRANSACTION,
132
- isEnabled: primary.spendLimits.transaction > 0,
133
- amount: primary.spendLimits.transaction > 0
134
- ? primary.spendLimits.transaction
135
- : undefined,
136
- },
137
- {
138
- id: cardPolicyFormDraftTypes_1.CARD_POLICY_LIMIT_ROW_ID_REQUIRE_RECEIPT,
139
- isEnabled: primary.requiredReceiptThreshold > 0,
140
- amount: primary.requiredReceiptThreshold > 0
141
- ? primary.requiredReceiptThreshold
142
- : undefined,
143
- },
144
- ];
145
- return {
146
- policyKind: 'guided',
147
- vendorPolicy,
148
- categoryPolicy,
149
- cardSelections,
150
- limits,
151
- policiesReview: draftPolicies.map((p) => ({
152
- id: p.id,
153
- isChecked: true,
154
- name: p.name,
155
- chipGroups: [],
156
- })),
157
- };
158
- };
159
- const buildSuggestedPoliciesSeed = (initialData) => (initialData.wizardPlan?.step5Review?.draftPolicies ?? []).map((draft) => ({
160
- id: draft.id,
161
- name: draft.name,
162
- isChecked: true,
163
- }));
164
- const merchantsToChips = (names) => (names ?? []).map((name) => (0, cardPolicyChipIds_1.toVendorChipFieldValue)(name, false));
165
- const categoriesToChips = (categories) => (categories ?? []).map((category) => (0, cardPolicyChipIds_1.toMccCategoryChipFieldValue)(category, false));
166
- const buildAllowBlockFromSeeds = (allowItems, blockItems) => {
167
- if (allowItems.length === 0 && blockItems.length === 0) {
168
- return EMPTY_ALLOW_BLOCK;
169
- }
170
- return { mode: 'allow', allowItems, blockItems };
171
- };
172
- const buildMccCodeToCategoryMap = (categories) => {
173
- const map = new Map();
174
- for (const category of categories ?? []) {
175
- for (const code of category.mccCodes) {
176
- if (!map.has(code)) {
177
- map.set(code, category);
178
- }
179
- }
180
- }
181
- return map;
182
- };
183
- const buildOwnerSummaries = (cardIds, cardsMasterList) => {
184
- const cardsById = new Map(cardsMasterList.map((card) => [card.id, card]));
185
- const summaries = new Map();
186
- for (const cardId of cardIds) {
187
- const card = cardsById.get(cardId);
188
- if (card == null) {
189
- continue;
190
- }
191
- const existing = summaries.get(card.owner.userId);
192
- if (existing != null) {
193
- existing.cardIds.push(cardId);
194
- continue;
195
- }
196
- summaries.set(card.owner.userId, {
197
- userId: card.owner.userId,
198
- displayName: card.owner.displayName,
199
- cardIds: [cardId],
200
- });
201
- }
202
- return Array.from(summaries.values());
203
- };
204
- const buildAutoReviewChipGroupsForDraft = (draft, cardsMasterList, mccCodeToCategory) => {
205
- const groups = [];
206
- if (draft.allowedEntity.merchantNames.length > 0) {
207
- groups.push({
208
- id: 'allowed-vendors',
209
- label: 'Allowed Vendors',
210
- chips: draft.allowedEntity.merchantNames.map((name) => ({
211
- id: (0, cardPolicyChipIds_1.buildVendorChipId)(name),
212
- label: name,
213
- chipKind: 'positive',
214
- isSelected: true,
215
- })),
216
- });
217
- }
218
- if (draft.blockedEntity.merchantNames.length > 0) {
219
- groups.push({
220
- id: 'blocked-vendors',
221
- label: 'Blocked Vendors',
222
- chips: draft.blockedEntity.merchantNames.map((name) => ({
223
- id: (0, cardPolicyChipIds_1.buildVendorChipId)(name),
224
- label: name,
225
- chipKind: 'negative',
226
- isSelected: true,
227
- })),
228
- });
229
- }
230
- if (draft.allowedEntity.categoryCodes.length > 0) {
231
- groups.push({
232
- id: 'allowed-categories',
233
- label: 'Allowed Categories',
234
- chips: draft.allowedEntity.categoryCodes.map((code) => {
235
- const category = mccCodeToCategory.get(code);
236
- const label = category != null ? `${category.name} (${code})` : code;
237
- return {
238
- id: code,
239
- label,
240
- chipKind: 'positive',
241
- isSelected: true,
242
- optionalCode: code,
243
- };
244
- }),
245
- });
246
- }
247
- if (draft.blockedEntity.categoryCodes.length > 0) {
248
- groups.push({
249
- id: 'restricted-categories',
250
- label: 'Restricted Categories',
251
- chips: draft.blockedEntity.categoryCodes.map((code) => {
252
- const category = mccCodeToCategory.get(code);
253
- const label = category != null ? `${category.name} (${code})` : code;
254
- return {
255
- id: code,
256
- label,
257
- chipKind: 'negative',
258
- isSelected: true,
259
- optionalCode: code,
260
- };
261
- }),
262
- });
263
- }
264
- if (draft.applyToCards.length > 0) {
265
- const owners = buildOwnerSummaries(draft.applyToCards, cardsMasterList);
266
- if (owners.length > 0) {
267
- groups.push({
268
- id: 'applied-to-cards',
269
- label: 'Applied to Cards',
270
- chips: owners.map((owner) => ({
271
- id: owner.userId,
272
- label: owner.displayName,
273
- chipKind: 'avatar',
274
- cardIds: owner.cardIds,
275
- isSelected: true,
276
- })),
277
- });
278
- }
279
- }
280
- return groups;
281
- };
282
- const buildAutoReviewRows = (draftPolicies, cardsMasterList, categorySearchOptions) => {
283
- const mccCodeToCategory = buildMccCodeToCategoryMap(categorySearchOptions);
284
- return draftPolicies.map((draft) => ({
285
- id: draft.id,
286
- isChecked: true,
287
- name: draft.name,
288
- chipGroups: buildAutoReviewChipGroupsForDraft(draft, cardsMasterList, mccCodeToCategory),
289
- }));
290
- };
291
- // Numeric value stashed on `optionalCode` so the bulk-submit builder can
292
- // recover it without re-parsing the label.
293
- const buildUploadLimitsChipGroup = (draft) => {
294
- const transactionEnabled = draft.spendLimits.transaction > 0;
295
- const receiptEnabled = draft.requiredReceiptThreshold > 0;
296
- return {
297
- id: 'limits',
298
- label: 'Limits',
299
- kind: 'limits',
300
- chips: [
301
- {
302
- id: 'limit-transaction',
303
- label: 'Transaction Limit',
304
- helperText: 'Maximum amount per single transaction',
305
- placeholder: '$0',
306
- chipKind: 'positive',
307
- isSelected: transactionEnabled,
308
- optionalCode: transactionEnabled
309
- ? String(draft.spendLimits.transaction)
310
- : undefined,
311
- },
312
- {
313
- id: 'limit-receipt',
314
- label: 'Require Receipt',
315
- helperText: 'Require a receipt above this amount',
316
- placeholder: '$0',
317
- chipKind: 'positive',
318
- isSelected: receiptEnabled,
319
- optionalCode: receiptEnabled
320
- ? String(draft.requiredReceiptThreshold)
321
- : undefined,
322
- },
323
- ],
324
- };
325
- };
326
- const buildUploadReviewRows = (draftPolicies, cardsMasterList, categorySearchOptions) => {
327
- const mccCodeToCategory = buildMccCodeToCategoryMap(categorySearchOptions);
328
- return draftPolicies.map((draft) => {
329
- const chipGroups = buildAutoReviewChipGroupsForDraft(draft, cardsMasterList, mccCodeToCategory);
330
- chipGroups.push(buildUploadLimitsChipGroup(draft));
331
- return {
332
- id: draft.id,
333
- isChecked: true,
334
- name: draft.name,
335
- chipGroups,
336
- };
337
- });
338
- };
339
- exports.buildUploadReviewRows = buildUploadReviewRows;
340
- // BE doesn't pre-select the radio: allow-wins when either side is populated,
341
- // otherwise default to allow. Matches `applyExtractedPolicyTo*FormValues`.
342
- const inferAllowBlockMode = (allowCount, blockCount) => {
343
- if (allowCount > 0) {
344
- return 'allow';
345
- }
346
- if (blockCount > 0) {
347
- return 'block';
348
- }
349
- return 'allow';
350
- };
351
- const draftMerchantsToChips = (names) => names.map((name) => (0, cardPolicyChipIds_1.toVendorChipFieldValue)(name, true));
352
- const draftCategoryCodesToChips = (codes, mccCodeToCategory) => codes.map((code) => {
353
- const category = mccCodeToCategory.get(code);
354
- if (category != null) {
355
- return (0, cardPolicyChipIds_1.toMccCategoryChipFieldValue)(category, true);
356
- }
357
- return {
358
- id: code,
359
- label: code,
360
- isSelected: true,
361
- optionalCode: code,
362
- optionalCodes: [code],
363
- };
364
- });
365
- const mergeAiAndSeedChips = (aiChips, seedChips) => {
366
- const seenIds = new Set(aiChips.map((chip) => chip.id));
367
- const extraSeeds = seedChips.filter((chip) => !seenIds.has(chip.id));
368
- return [...aiChips, ...extraSeeds];
369
- };
@@ -1,6 +0,0 @@
1
- import { CardPolicyCardSelectionRow, CardPolicyCreateFormDraft, CardPolicyDefaultSeedSuggestions } from './cardPolicyFormDraftTypes';
2
- export interface BuildManualCardPolicyFormDraftSeedArgs extends CardPolicyDefaultSeedSuggestions {
3
- cardsMasterList?: CardPolicyCardSelectionRow[];
4
- defaultRequireReceiptAmount?: number;
5
- }
6
- export declare const buildManualCardPolicyFormDraftSeed: ({ cardsMasterList, defaultRequireReceiptAmount, suggestedAllowMerchants, suggestedBlockMerchants, suggestedAllowCategories, suggestedBlockCategories, }: BuildManualCardPolicyFormDraftSeedArgs) => CardPolicyCreateFormDraft;
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildManualCardPolicyFormDraftSeed = void 0;
4
- const buildAiCardPolicyFormDraftSeed_1 = require("./buildAiCardPolicyFormDraftSeed");
5
- const cardPolicyChipIds_1 = require("./cardPolicyChipIds");
6
- const cardPolicyFormDraftTypes_1 = require("./cardPolicyFormDraftTypes");
7
- const EMPTY_ALLOW_BLOCK = {
8
- mode: 'allow',
9
- allowItems: [],
10
- blockItems: [],
11
- };
12
- // Mirrors the AI guided seed minus the wizard plan: BE suggestions land
13
- // `isSelected: false` so the user opts in explicitly.
14
- const buildManualCardPolicyFormDraftSeed = ({ cardsMasterList = [], defaultRequireReceiptAmount, suggestedAllowMerchants, suggestedBlockMerchants, suggestedAllowCategories, suggestedBlockCategories, }) => {
15
- const vendorAllow = (suggestedAllowMerchants ?? []).map((name) => (0, cardPolicyChipIds_1.toVendorChipFieldValue)(name, false));
16
- const vendorBlock = (suggestedBlockMerchants ?? []).map((name) => (0, cardPolicyChipIds_1.toVendorChipFieldValue)(name, false));
17
- const categoryAllow = (suggestedAllowCategories ?? []).map((category) => (0, cardPolicyChipIds_1.toMccCategoryChipFieldValue)(category, false));
18
- const categoryBlock = (suggestedBlockCategories ?? []).map((category) => (0, cardPolicyChipIds_1.toMccCategoryChipFieldValue)(category, false));
19
- const vendorPolicy = vendorAllow.length === 0 && vendorBlock.length === 0
20
- ? EMPTY_ALLOW_BLOCK
21
- : { mode: 'allow', allowItems: vendorAllow, blockItems: vendorBlock };
22
- const categoryPolicy = categoryAllow.length === 0 && categoryBlock.length === 0
23
- ? EMPTY_ALLOW_BLOCK
24
- : { mode: 'allow', allowItems: categoryAllow, blockItems: categoryBlock };
25
- const limits = (0, buildAiCardPolicyFormDraftSeed_1.buildEmptyLimitRows)().map((row) => row.id === cardPolicyFormDraftTypes_1.CARD_POLICY_LIMIT_ROW_ID_REQUIRE_RECEIPT &&
26
- defaultRequireReceiptAmount != null &&
27
- defaultRequireReceiptAmount > 0
28
- ? { ...row, amount: defaultRequireReceiptAmount }
29
- : row);
30
- return {
31
- name: '',
32
- description: '',
33
- mode: 'strict',
34
- vendorPolicy,
35
- categoryPolicy,
36
- cardSelections: cardsMasterList.map((row) => ({ ...row, isChecked: false })),
37
- limits,
38
- };
39
- };
40
- exports.buildManualCardPolicyFormDraftSeed = buildManualCardPolicyFormDraftSeed;
@@ -1,7 +0,0 @@
1
- import type { CardPolicyChipFieldValue, MccCategoryLike } from './cardPolicyFormDraftTypes';
2
- export declare const VENDOR_CHIP_ID_PREFIX = "vendor-";
3
- export declare const MCC_CHIP_ID_PREFIX = "mcc-";
4
- export declare const buildVendorChipId: (name: string) => string;
5
- export declare const buildMccCategoryChipId: (name: string) => string;
6
- export declare const toVendorChipFieldValue: (name: string, isSelected: boolean) => CardPolicyChipFieldValue;
7
- export declare const toMccCategoryChipFieldValue: (category: MccCategoryLike, isSelected: boolean) => CardPolicyChipFieldValue;