@zeniai/client-epic-state 5.0.95 → 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 (219) 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 +10 -40
  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/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +0 -25
  42. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +2 -2
  43. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +4 -42
  44. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +0 -35
  45. package/lib/index.d.ts +12 -47
  46. package/lib/index.js +22 -193
  47. package/lib/reducer.d.ts +0 -12
  48. package/lib/reducer.js +0 -12
  49. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +2 -11
  50. package/lib/view/aiCfoView/aiCfoViewReducer.js +3 -6
  51. package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +2 -5
  52. package/lib/view/aiCfoView/epics/createSessionEpic.js +1 -2
  53. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.d.ts +1 -8
  54. package/lib/view/aiCfoView/epics/fetchSuggestedQuestionsEpic.js +2 -12
  55. package/lib/view/companyTaskManagerView/companyTaskManagerViewPayload.d.ts +11 -19
  56. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +4 -10
  57. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.js +12 -40
  58. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +0 -2
  59. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +3 -13
  60. package/lib/view/companyTaskManagerView/companyTaskManagerViewState.d.ts +3 -11
  61. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.d.ts +3 -1
  62. package/lib/view/companyTaskManagerView/epics/fetchCompanyTaskManagerViewEpic.js +28 -37
  63. package/lib/view/companyView/epic/fetchAllCockpitViewsEpic.js +2 -2
  64. package/lib/view/companyView/types/cockpitTypes.d.ts +1 -2
  65. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  66. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +1 -1
  67. package/lib/view/people/peopleTypes.d.ts +1 -1
  68. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  69. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  70. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +0 -14
  71. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +1 -27
  72. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.d.ts +2 -2
  73. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardEpic.js +1 -1
  74. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.d.ts +2 -12
  75. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardReducer.js +5 -43
  76. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.d.ts +0 -7
  77. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardSelector.js +1 -42
  78. package/lib/view/spendManagement/chargeCards/issueChargeCard/issueChargeCardState.d.ts +0 -5
  79. package/lib/view/taskManager/taskListView/taskListReducer.d.ts +1 -1
  80. package/lib/view/transactionDetail/journalEntryLinesViewModel.d.ts +1 -1
  81. package/package.json +1 -1
  82. package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +0 -277
  83. package/lib/entity/cardPolicy/cardPolicyPayload.js +0 -143
  84. package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +0 -19
  85. package/lib/entity/cardPolicy/cardPolicyReducer.js +0 -175
  86. package/lib/entity/cardPolicy/cardPolicySelector.d.ts +0 -32
  87. package/lib/entity/cardPolicy/cardPolicySelector.js +0 -99
  88. package/lib/entity/cardPolicy/cardPolicyState.d.ts +0 -205
  89. package/lib/entity/cardPolicy/cardPolicyState.js +0 -14
  90. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.d.ts +0 -18
  91. package/lib/entity/cardPolicy/extractPolicyDocumentEpic.js +0 -68
  92. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.d.ts +0 -26
  93. package/lib/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +0 -47
  94. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +0 -25
  95. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +0 -39
  96. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +0 -24
  97. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +0 -105
  98. package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +0 -130
  99. package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +0 -171
  100. package/lib/esm/entity/cardPolicy/cardPolicySelector.js +0 -75
  101. package/lib/esm/entity/cardPolicy/cardPolicyState.js +0 -9
  102. package/lib/esm/entity/cardPolicy/extractPolicyDocumentEpic.js +0 -64
  103. package/lib/esm/entity/cardPolicy/fetchCardPolicyVendorOptionsEpic.js +0 -43
  104. package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +0 -35
  105. package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +0 -101
  106. package/lib/esm/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +0 -38
  107. package/lib/esm/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +0 -16
  108. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +0 -52
  109. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +0 -22
  110. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +0 -1
  111. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +0 -36
  112. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +0 -39
  113. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +0 -34
  114. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +0 -58
  115. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +0 -21
  116. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +0 -1
  117. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +0 -38
  118. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +0 -289
  119. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +0 -109
  120. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +0 -44
  121. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +0 -111
  122. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +0 -25
  123. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +0 -363
  124. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +0 -36
  125. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +0 -19
  126. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +0 -6
  127. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +0 -119
  128. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +0 -154
  129. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +0 -22
  130. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +0 -1
  131. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +0 -39
  132. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +0 -140
  133. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +0 -20
  134. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +0 -100
  135. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +0 -96
  136. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +0 -59
  137. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +0 -24
  138. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +0 -1
  139. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +0 -34
  140. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +0 -57
  141. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +0 -35
  142. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +0 -62
  143. package/lib/esm/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +0 -44
  144. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.d.ts +0 -10
  145. package/lib/view/companyTaskManagerView/epics/fetchCockpitContextEpic.js +0 -42
  146. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.d.ts +0 -6
  147. package/lib/view/companyTaskManagerView/epics/updateCompanyTaskManagerViewFiltersEpic.js +0 -20
  148. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.d.ts +0 -14
  149. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailReducer.js +0 -56
  150. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.d.ts +0 -15
  151. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailSelector.js +0 -28
  152. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.d.ts +0 -8
  153. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/cardPolicyDetailState.js +0 -2
  154. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.d.ts +0 -8
  155. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/fetchCardPolicyDetailEpic.js +0 -40
  156. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.d.ts +0 -8
  157. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyDetail/updateCardPolicyEpic.js +0 -43
  158. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.d.ts +0 -8
  159. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic.js +0 -38
  160. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.d.ts +0 -15
  161. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListReducer.js +0 -62
  162. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.d.ts +0 -15
  163. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListSelector.js +0 -27
  164. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.d.ts +0 -7
  165. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/cardPolicyListState.js +0 -2
  166. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.d.ts +0 -8
  167. package/lib/view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic.js +0 -42
  168. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.d.ts +0 -8
  169. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyAiCardPolicyFormDraftUpdate.js +0 -294
  170. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.d.ts +0 -8
  171. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToAiCardPolicyDraft.js +0 -113
  172. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.d.ts +0 -9
  173. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToDraftEpic.js +0 -48
  174. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.d.ts +0 -8
  175. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyExtractedPolicyToManualCardPolicyDraft.js +0 -115
  176. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.d.ts +0 -13
  177. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/applyUploadPlanToAiCardPolicyDraft.js +0 -29
  178. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.d.ts +0 -14
  179. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildAiCardPolicyFormDraftSeed.js +0 -369
  180. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.d.ts +0 -6
  181. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/buildManualCardPolicyFormDraftSeed.js +0 -40
  182. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.d.ts +0 -7
  183. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyChipIds.js +0 -26
  184. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.d.ts +0 -116
  185. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyFormDraftTypes.js +0 -10
  186. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.d.ts +0 -33
  187. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/cardPolicyRequestParts.js +0 -126
  188. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +0 -52
  189. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +0 -158
  190. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +0 -11
  191. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +0 -31
  192. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +0 -12
  193. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.js +0 -2
  194. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +0 -8
  195. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +0 -43
  196. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.d.ts +0 -10
  197. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/deriveAiPolicyReviewRowsFromInputs.js +0 -144
  198. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.d.ts +0 -7
  199. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic.js +0 -24
  200. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.d.ts +0 -11
  201. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/seedAiCardPolicyFormDraftEpic.js +0 -104
  202. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.d.ts +0 -22
  203. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toBulkCardPolicyTemplateRequestsFromDraft.js +0 -100
  204. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.d.ts +0 -8
  205. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toCardPolicyTemplateRequestFromDraft.js +0 -63
  206. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.d.ts +0 -3
  207. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/toManualCardPolicyTemplateRequestFromDraft.js +0 -28
  208. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.d.ts +0 -34
  209. package/lib/view/spendManagement/chargeCards/issueChargeCard/aiCardCreationFormDraftTypes.js +0 -2
  210. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.d.ts +0 -7
  211. package/lib/view/spendManagement/chargeCards/issueChargeCard/applyAiCardCreationFormDraftUpdate.js +0 -38
  212. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.d.ts +0 -12
  213. package/lib/view/spendManagement/chargeCards/issueChargeCard/buildAiCardCreationFormDraftSeed.js +0 -61
  214. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.d.ts +0 -9
  215. package/lib/view/spendManagement/chargeCards/issueChargeCard/deriveAiCardRowsFromTeams.js +0 -39
  216. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.d.ts +0 -11
  217. package/lib/view/spendManagement/chargeCards/issueChargeCard/seedAiCardCreationFormDraftEpic.js +0 -66
  218. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.d.ts +0 -3
  219. package/lib/view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft.js +0 -48
@@ -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;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toMccCategoryChipFieldValue = exports.toVendorChipFieldValue = exports.buildMccCategoryChipId = exports.buildVendorChipId = exports.MCC_CHIP_ID_PREFIX = exports.VENDOR_CHIP_ID_PREFIX = void 0;
4
- // All chip-id producers MUST funnel through here — the picker's dedupe is content-blind
5
- // (`existing.id === option.id`), so vendors collapse on display name and MCC ids must
6
- // match the legacy convention saved templates use.
7
- exports.VENDOR_CHIP_ID_PREFIX = 'vendor-';
8
- exports.MCC_CHIP_ID_PREFIX = 'mcc-';
9
- const buildVendorChipId = (name) => `${exports.VENDOR_CHIP_ID_PREFIX}${name.trim().toLowerCase()}`;
10
- exports.buildVendorChipId = buildVendorChipId;
11
- const buildMccCategoryChipId = (name) => `${exports.MCC_CHIP_ID_PREFIX}${name}`;
12
- exports.buildMccCategoryChipId = buildMccCategoryChipId;
13
- const toVendorChipFieldValue = (name, isSelected) => ({
14
- id: (0, exports.buildVendorChipId)(name),
15
- label: name,
16
- isSelected,
17
- });
18
- exports.toVendorChipFieldValue = toVendorChipFieldValue;
19
- const toMccCategoryChipFieldValue = (category, isSelected) => ({
20
- id: (0, exports.buildMccCategoryChipId)(category.name),
21
- label: category.name,
22
- isSelected,
23
- optionalCode: category.mccCodes[0],
24
- optionalCodes: [...category.mccCodes],
25
- });
26
- exports.toMccCategoryChipFieldValue = toMccCategoryChipFieldValue;