@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
@@ -16,4 +16,4 @@
16
16
  *
17
17
  * @see README.md in this directory for maintenance expectations.
18
18
  */
19
- export type AiCfoSuggestedQuestionsPageContext = 'balance_sheet' | 'profit_loss' | 'vendors' | 'transactions' | 'cash_flow' | 'accounts_receivable' | 'accounts_payable' | 'transaction_details' | 'dashboard' | 'cash_balance' | 'card_balance' | 'cash_in_cash_out' | 'net_burn_or_income' | 'cash_position' | 'top_expenses' | 'revenue' | 'operating_expenses' | 'command_centre' | 'je_schedules' | 'reconciliation' | 'flux_analysis' | 'receipts' | 'mei' | 'task_checklist' | 'performance' | 'bills_list' | 'bills_details' | 'reimbursement_list' | 'reimbursement_details' | 'vendors_summary' | 'opex_by_vendor' | 'prepaid_expenses' | 'fixed_assets' | 'form_1099' | 'accrued_expenses' | 'forecast' | 'checking' | 'checking_details' | 'treasury' | 'cards' | 'cards_creation' | 'cards_detail' | 'card_policy' | 'card_policy_detail' | 'people' | 'rewards' | 'notifications';
19
+ export type AiCfoSuggestedQuestionsPageContext = 'balance_sheet' | 'profit_loss' | 'vendors' | 'transactions' | 'cash_flow' | 'accounts_receivable' | 'accounts_payable' | 'transaction_details' | 'dashboard' | 'cash_balance' | 'card_balance' | 'cash_in_cash_out' | 'net_burn_or_income' | 'cash_position' | 'top_expenses' | 'revenue' | 'operating_expenses' | 'command_centre' | 'je_schedules' | 'reconciliation' | 'flux_analysis' | 'receipts' | 'mei' | 'task_checklist' | 'performance' | 'bills_list' | 'bills_details' | 'reimbursement_list' | 'reimbursement_details' | 'vendors_summary' | 'opex_by_vendor' | 'prepaid_expenses' | 'fixed_assets' | 'form_1099' | 'accrued_expenses' | 'forecast' | 'checking' | 'checking_details' | 'treasury' | 'cards' | 'cards_detail' | 'people' | 'rewards' | 'notifications';
@@ -12,74 +12,16 @@ export interface YFormatPayload {
12
12
  export interface ChartVisualizationPayload {
13
13
  values: Array<Record<string, string | number>>;
14
14
  x: string;
15
+ /**
16
+ * y can be a string or an array of strings in the API payload.
17
+ * We will normalize it to string[] in state.
18
+ */
15
19
  y: string | string[];
16
20
  lines?: string[] | null;
17
21
  y_format?: YFormatPayload;
18
22
  }
19
- export interface SuggestedCardPayload {
20
- avg_spend: number;
21
- card_name: string;
22
- card_name_id: string;
23
- card_type: 'vendor' | 'department' | 'category';
24
- credit_limit: number;
25
- is_suggested: boolean;
26
- owner_id: string | null;
27
- }
28
- export interface CardsCreationInitialDataPayload {
29
- mode: 'review' | 'create';
30
- suggested_cards: SuggestedCardPayload[];
31
- }
32
- export interface DraftPolicyEntityPayload {
33
- category_codes: string[];
34
- merchant_names: string[];
35
- }
36
- export interface DraftPolicySpendLimitsPayload {
37
- transaction: number;
38
- [cadence: string]: number | undefined;
39
- }
40
- export interface DraftPolicyPayload {
41
- allowed_entity: DraftPolicyEntityPayload;
42
- apply_to_cards: string[];
43
- blocked_entity: DraftPolicyEntityPayload;
44
- description: string;
45
- mode: string;
46
- name: string;
47
- required_receipt_threshold: number;
48
- spend_limits: DraftPolicySpendLimitsPayload;
49
- }
50
- export interface CardPolicyStep5ReviewPayload {
51
- draft_policies: DraftPolicyPayload[];
52
- prompt: string;
53
- grouping_source?: string;
54
- }
55
- export interface CardPolicyWizardPlanPayload {
56
- step_5_review: CardPolicyStep5ReviewPayload;
57
- }
58
- export interface CardPolicyUploadSourcePayload {
59
- confidence_score: number;
60
- file_name: string;
61
- low_confidence_fields: string[];
62
- }
63
- export type CardPolicyInitialDataPayload = {
64
- mode: 'auto';
65
- wizard_plan: CardPolicyWizardPlanPayload;
66
- } | {
67
- mode: 'guided';
68
- wizard_plan: CardPolicyWizardPlanPayload;
69
- } | {
70
- mode: 'upload';
71
- source?: CardPolicyUploadSourcePayload;
72
- wizard_plan?: CardPolicyWizardPlanPayload;
73
- };
74
- export type InteractiveFormVisualizationPayload = {
75
- form_type: 'cards_creation';
76
- payload: CardsCreationInitialDataPayload;
77
- } | {
78
- form_type: 'card_policy';
79
- payload: CardPolicyInitialDataPayload;
80
- };
81
23
  export interface AiCfoVisualizationPayload {
82
- data: TableVisualizationPayload | ChartVisualizationPayload | InteractiveFormVisualizationPayload | null;
24
+ data: TableVisualizationPayload | ChartVisualizationPayload | null;
83
25
  type: string | null;
84
26
  }
85
27
  export interface AiCfoAnswerPayload {
@@ -1,8 +1,7 @@
1
1
  import { ID } from '../../commonStateTypes/common';
2
2
  import { ZeniDate } from '../../zeniDayJS';
3
3
  import { AiCfoAnswerPayload, AiCfoVisualizationPayload, ChatSessionPayload, MessagePayload } from './aiCfoPayload';
4
- import { AiCfoState, AiCfoVisualization, FileAttachmentMetadata, SyntheticAiCfoAnswerKind } from './aiCfoState';
5
- import type { CardPolicyUploadSource, CardPolicyWizardPlan } from './aiCfoState';
4
+ import { AiCfoState, AiCfoVisualization, FileAttachmentMetadata } from './aiCfoState';
6
5
  export declare const initialAiCfoState: AiCfoState;
7
6
  export declare const toAiCfoVisualization: (visualization: AiCfoVisualizationPayload) => AiCfoVisualization | undefined;
8
7
  export declare const setNewSession: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -42,26 +41,6 @@ export declare const setNewSession: import("@reduxjs/toolkit").ActionCreatorWith
42
41
  }, "aiCfo/addQuestionPayload">, clearAiCfo: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"aiCfo/clearAiCfo">, deleteQuestion: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
43
42
  chatSessionId: ID;
44
43
  questionAnswerId: ID;
45
- }, "aiCfo/deleteQuestion">, updateAiCfoAnswerCardPolicyWizardPlan: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
46
- answerId: ID;
47
- chatSessionId: ID;
48
- wizardPlan: CardPolicyWizardPlan;
49
- source?: CardPolicyUploadSource;
50
- }, "aiCfo/updateAiCfoAnswerCardPolicyWizardPlan">, appendSyntheticAiCfoAnswer: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
51
- chatSessionId: ID;
52
- createdAt: ZeniDate;
53
- id: ID;
54
- kind: SyntheticAiCfoAnswerKind;
55
- sourceQuestionAnswerId: ID;
56
- entityIds?: ID[];
57
- }, "aiCfo/appendSyntheticAiCfoAnswer">, updateSyntheticAiCfoAnswer: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
58
- chatSessionId: ID;
59
- id: ID;
60
- kind: SyntheticAiCfoAnswerKind;
61
- entityIds?: ID[];
62
- }, "aiCfo/updateSyntheticAiCfoAnswer">, removeSyntheticAiCfoAnswer: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
63
- chatSessionId: ID;
64
- id: ID;
65
- }, "aiCfo/removeSyntheticAiCfoAnswer">, clearSyntheticAiCfoAnswers: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "aiCfo/clearSyntheticAiCfoAnswers">;
44
+ }, "aiCfo/deleteQuestion">;
66
45
  declare const _default: import("redux").Reducer<AiCfoState>;
67
46
  export default _default;
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearSyntheticAiCfoAnswers = exports.removeSyntheticAiCfoAnswer = exports.updateSyntheticAiCfoAnswer = exports.appendSyntheticAiCfoAnswer = exports.updateAiCfoAnswerCardPolicyWizardPlan = exports.deleteQuestion = exports.clearAiCfo = exports.addQuestionPayload = exports.upsertOrAddQuestionAnswerPayload = exports.upsertAnswerPayload = exports.setChatHistory = exports.setSessions = exports.clearSession = exports.setNewSession = exports.toAiCfoVisualization = exports.initialAiCfoState = void 0;
4
+ exports.deleteQuestion = exports.clearAiCfo = exports.addQuestionPayload = exports.upsertOrAddQuestionAnswerPayload = exports.upsertAnswerPayload = exports.setChatHistory = exports.setSessions = exports.clearSession = exports.setNewSession = exports.toAiCfoVisualization = exports.initialAiCfoState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const zeniDayJS_1 = require("../../zeniDayJS");
7
7
  const aiCfoState_1 = require("./aiCfoState");
8
8
  exports.initialAiCfoState = {
9
9
  aiCfoByChatSessionId: {},
10
10
  partialQuestionAnswers: {},
11
- syntheticAnswersByChatSessionId: {},
12
11
  };
13
12
  // Utility: Merge two arrays of Q&A pairs, combining responses for the same question
14
13
  function mergeQuestionAnswerPairs(existing, newQAs) {
@@ -141,174 +140,12 @@ const toAiCfoVisualization = (visualization) => {
141
140
  if (visualization.type == null || visualization.data == null) {
142
141
  return undefined;
143
142
  }
144
- // Reject unknown viz types; `?? 'table'` used to throw in the chart/table decoder
145
- // when interactive-form payloads (no `values`) hit it.
146
- const normalizedType = (0, aiCfoState_1.toAiCfoVisualizationTypeStrict)(visualization.type);
147
- if (normalizedType == null) {
148
- return undefined;
149
- }
150
143
  return {
151
- type: normalizedType,
152
- data: normalizedType === 'interactive_form'
153
- ? toInteractiveFormVisualization(visualization.data)
154
- : toAiCfoVisualizationData(visualization.data),
144
+ type: (0, aiCfoState_1.toAiCfoVisualizationTypeStrict)(visualization.type) ?? 'table',
145
+ data: toAiCfoVisualizationData(visualization.data),
155
146
  };
156
147
  };
157
148
  exports.toAiCfoVisualization = toAiCfoVisualization;
158
- const toInteractiveFormVisualization = (data) => {
159
- // When `form_type` is missing / mistyped, infer from payload shape so a malformed
160
- // card-policy answer doesn't get decoded as cards_creation (wrong form + submit path).
161
- const formType = (0, aiCfoState_1.toInteractiveFormTypeStrict)(data.form_type) ??
162
- inferInteractiveFormTypeFromPayload(data.payload);
163
- if (formType === 'card_policy') {
164
- return {
165
- formType: 'card_policy',
166
- payload: toCardPolicyInitialData(data.payload),
167
- };
168
- }
169
- return {
170
- formType: 'cards_creation',
171
- payload: toCardsCreationInitialData(data.payload),
172
- };
173
- };
174
- const inferInteractiveFormTypeFromPayload = (payload) => {
175
- if (payload != null && typeof payload === 'object' && 'mode' in payload) {
176
- const mode = payload.mode;
177
- if (mode === 'auto' || mode === 'guided' || mode === 'upload') {
178
- return 'card_policy';
179
- }
180
- }
181
- return 'cards_creation';
182
- };
183
- const toCardsCreationInitialData = (payload) => {
184
- const suggestedCards = payload.suggested_cards ?? [];
185
- const ordered = [...suggestedCards].sort((a, b) => KIND_RANK[a.card_type] - KIND_RANK[b.card_type]);
186
- const withUniqueIds = withSynthesizedIds(ordered);
187
- const suggestedOnly = withUniqueIds.filter(({ card }) => card.is_suggested);
188
- const cardNameOptions = withUniqueIds.map(({ card, uniqueId }) => ({
189
- id: uniqueId,
190
- kind: toCardKind(card.card_type),
191
- label: card.card_name,
192
- }));
193
- const suggestedOwnerUserIdByTeamId = Object.fromEntries(suggestedOnly.map(({ card, uniqueId }) => [
194
- uniqueId,
195
- normalizeOwnerId(card.owner_id),
196
- ]));
197
- const common = {
198
- cardNameOptions,
199
- suggestedOwnerUserIdByTeamId,
200
- };
201
- if (payload.mode === 'create') {
202
- return {
203
- ...common,
204
- mode: 'create',
205
- cardRows: suggestedOnly.map(({ card, uniqueId }) => ({
206
- cardKind: toCardKind(card.card_type),
207
- id: uniqueId,
208
- label: card.card_name,
209
- recommendedLimit: card.credit_limit > 0 ? card.credit_limit : undefined,
210
- suggestedOwnerUserId: normalizeOwnerId(card.owner_id),
211
- })),
212
- };
213
- }
214
- return {
215
- ...common,
216
- mode: 'review',
217
- teamRows: suggestedOnly.map(({ card, uniqueId }) => ({
218
- avgMonthlySpend: CURRENCY_FORMATTER.format(card.avg_spend),
219
- cardKind: toCardKind(card.card_type),
220
- id: uniqueId,
221
- label: card.card_name,
222
- recommendedLimit: CURRENCY_FORMATTER.format(card.credit_limit),
223
- recommendedLimitCadence: 'Monthly',
224
- })),
225
- };
226
- };
227
- const CURRENCY_FORMATTER = new Intl.NumberFormat('en-US', {
228
- style: 'currency',
229
- currency: 'USD',
230
- maximumFractionDigits: 0,
231
- });
232
- // BE emits `null` or `""` for "no owner picked"; collapse both to `undefined`.
233
- const normalizeOwnerId = (ownerId) => (ownerId != null && ownerId !== '' ? ownerId : undefined);
234
- const KIND_RANK = {
235
- vendor: 0,
236
- category: 1,
237
- department: 2,
238
- };
239
- const toCardKind = (cardType) => {
240
- if (cardType === 'department') {
241
- return 'class';
242
- }
243
- if (cardType === 'category') {
244
- return 'category';
245
- }
246
- return 'vendor';
247
- };
248
- // Falls back to `${kind}__${card_name_id}__${index}` when `card_name_id` collides
249
- // (sample payloads ship the literal `"vendor_uuid"`), to keep RHF row keys unique.
250
- const withSynthesizedIds = (cards) => {
251
- const seen = new Set();
252
- return cards.map((card, index) => {
253
- const preferred = card.card_name_id;
254
- if (preferred != null && preferred !== '' && !seen.has(preferred)) {
255
- seen.add(preferred);
256
- return { card, uniqueId: preferred };
257
- }
258
- const synthesized = `${card.card_type}__${preferred ?? 'unknown'}__${index}`;
259
- seen.add(synthesized);
260
- return { card, uniqueId: synthesized };
261
- });
262
- };
263
- const toCardPolicyDraftPolicy = (payload, index) => ({
264
- id: `draft-${index}`,
265
- name: payload.name,
266
- description: payload.description ?? '',
267
- mode: payload.mode,
268
- allowedEntity: {
269
- categoryCodes: payload.allowed_entity?.category_codes ?? [],
270
- merchantNames: payload.allowed_entity?.merchant_names ?? [],
271
- },
272
- blockedEntity: {
273
- categoryCodes: payload.blocked_entity?.category_codes ?? [],
274
- merchantNames: payload.blocked_entity?.merchant_names ?? [],
275
- },
276
- applyToCards: payload.apply_to_cards ?? [],
277
- requiredReceiptThreshold: payload.required_receipt_threshold ?? 0,
278
- spendLimits: {
279
- transaction: payload.spend_limits?.transaction ?? 0,
280
- },
281
- });
282
- const toCardPolicyStep5Review = (payload) => ({
283
- draftPolicies: (payload.draft_policies ?? []).map(toCardPolicyDraftPolicy),
284
- groupingSource: payload.grouping_source ?? 'none',
285
- prompt: payload.prompt ?? '',
286
- });
287
- const toCardPolicyWizardPlan = (payload) => ({
288
- step5Review: toCardPolicyStep5Review(payload.step_5_review),
289
- });
290
- const toCardPolicyUploadSource = (payload) => ({
291
- confidenceScore: payload.confidence_score,
292
- fileName: payload.file_name,
293
- lowConfidenceFields: payload.low_confidence_fields ?? [],
294
- });
295
- const toCardPolicyInitialData = (payload) => {
296
- if (payload.mode === 'upload') {
297
- return {
298
- policyKind: 'upload',
299
- wizardPlan: payload.wizard_plan != null
300
- ? toCardPolicyWizardPlan(payload.wizard_plan)
301
- : undefined,
302
- source: payload.source != null
303
- ? toCardPolicyUploadSource(payload.source)
304
- : undefined,
305
- };
306
- }
307
- return {
308
- policyKind: payload.mode,
309
- wizardPlan: toCardPolicyWizardPlan(payload.wizard_plan),
310
- };
311
- };
312
149
  const toAiCfoVisualizationData = (data) => {
313
150
  if ('x' in data && 'y' in data) {
314
151
  // Normalize y to always be an array
@@ -543,8 +380,10 @@ const aiCfo = (0, toolkit_1.createSlice)({
543
380
  // Update state - append new complete Q&As to existing ones
544
381
  session.questionAnswers = mergeQuestionAnswerPairs(session.questionAnswers, completeQAs);
545
382
  },
546
- // Upserts the response block when `questionAnswerId` exists; otherwise adds the Q/A
547
- // entry. Used for push notification payloads that may introduce a new question.
383
+ /**
384
+ * Upsert a Q/A pair: if the questionAnswerId exists, upsert the response block; if not, add a new Q/A entry.
385
+ * Used for push notification payloads that may introduce a new question.
386
+ */
548
387
  upsertOrAddQuestionAnswerPayload(draft, action) {
549
388
  const { chatSessionId, questionAnswerId, question: { questionId, createdAt, text }, answerPayload, userId, insertQuestionAnswer, } = action.payload;
550
389
  const session = draft.aiCfoByChatSessionId[chatSessionId];
@@ -621,82 +460,10 @@ const aiCfo = (0, toolkit_1.createSlice)({
621
460
  session.questionAnswers.push(qa);
622
461
  }
623
462
  },
624
- // Patches an upload-mode card-policy answer with the wizard plan + source returned
625
- // by `policy-recommendation-from-upload`. No-op for non-upload / missing targets.
626
- updateAiCfoAnswerCardPolicyWizardPlan(draft, action) {
627
- const { answerId, chatSessionId, source, wizardPlan } = action.payload;
628
- const session = draft.aiCfoByChatSessionId[chatSessionId];
629
- if (session == null) {
630
- return;
631
- }
632
- const qa = session.questionAnswers.find((entry) => entry.questionAnswerId === answerId);
633
- if (qa == null) {
634
- return;
635
- }
636
- for (const response of Object.values(qa.responses)) {
637
- const visualization = response?.content.visualization;
638
- if (visualization == null ||
639
- visualization.type !== 'interactive_form') {
640
- continue;
641
- }
642
- const data = visualization.data;
643
- if (data.formType !== 'card_policy' ||
644
- data.payload.policyKind !== 'upload') {
645
- continue;
646
- }
647
- data.payload = {
648
- ...data.payload,
649
- wizardPlan,
650
- source: source ?? data.payload.source,
651
- };
652
- }
653
- },
654
- // Renders a "Creating…" placeholder while the cards/policy create mutation runs.
655
- // Caller supplies a stable `id` (updated in place by `updateSyntheticAiCfoAnswer`).
656
- appendSyntheticAiCfoAnswer(draft, action) {
657
- const { chatSessionId, id, kind, createdAt, entityIds, sourceQuestionAnswerId, } = action.payload;
658
- if (draft.syntheticAnswersByChatSessionId[chatSessionId] == null) {
659
- draft.syntheticAnswersByChatSessionId[chatSessionId] = [];
660
- }
661
- draft.syntheticAnswersByChatSessionId[chatSessionId].push({
662
- id,
663
- kind,
664
- entityIds: entityIds ?? [],
665
- createdAt,
666
- sourceQuestionAnswerId,
667
- });
668
- },
669
- // Transitions a bubble from `creating_*` to `created_*` once the mutation completes.
670
- updateSyntheticAiCfoAnswer(draft, action) {
671
- const { chatSessionId, id, kind, entityIds } = action.payload;
672
- const list = draft.syntheticAnswersByChatSessionId[chatSessionId];
673
- if (list == null) {
674
- return;
675
- }
676
- const entry = list.find((item) => item.id === id);
677
- if (entry == null) {
678
- return;
679
- }
680
- entry.kind = kind;
681
- if (entityIds != null) {
682
- entry.entityIds = entityIds;
683
- }
684
- },
685
- removeSyntheticAiCfoAnswer(draft, action) {
686
- const { chatSessionId, id } = action.payload;
687
- const list = draft.syntheticAnswersByChatSessionId[chatSessionId];
688
- if (list == null) {
689
- return;
690
- }
691
- draft.syntheticAnswersByChatSessionId[chatSessionId] = list.filter((item) => item.id !== id);
692
- },
693
- clearSyntheticAiCfoAnswers(draft, action) {
694
- delete draft.syntheticAnswersByChatSessionId[action.payload];
695
- },
696
463
  clearSession(draft, action) {
697
464
  const sessionId = action.payload;
698
465
  delete draft.aiCfoByChatSessionId[sessionId];
699
- delete draft.syntheticAnswersByChatSessionId[sessionId];
466
+ // Clear partial Q&A if it belongs to the cleared session
700
467
  if (draft.partialQuestionAnswers?.[sessionId] != null) {
701
468
  draft.partialQuestionAnswers[sessionId] = undefined;
702
469
  }
@@ -704,7 +471,6 @@ const aiCfo = (0, toolkit_1.createSlice)({
704
471
  clearAiCfo(draft) {
705
472
  draft.aiCfoByChatSessionId = {};
706
473
  draft.partialQuestionAnswers = {};
707
- draft.syntheticAnswersByChatSessionId = {};
708
474
  },
709
475
  deleteQuestion(draft, action) {
710
476
  const { chatSessionId, questionAnswerId } = action.payload;
@@ -717,12 +483,6 @@ const aiCfo = (0, toolkit_1.createSlice)({
717
483
  if (idx !== -1) {
718
484
  session.questionAnswers.splice(idx, 1);
719
485
  }
720
- // Drop synthetic bubbles whose sourceQuestionAnswerId is the deleted Q/A; otherwise "Creating…" / "Created" tiles outlive their Q/A.
721
- const syntheticAnswers = draft.syntheticAnswersByChatSessionId[chatSessionId];
722
- if (syntheticAnswers != null) {
723
- draft.syntheticAnswersByChatSessionId[chatSessionId] =
724
- syntheticAnswers.filter((answer) => answer.sourceQuestionAnswerId !== questionAnswerId);
725
- }
726
486
  },
727
487
  },
728
488
  });
@@ -735,5 +495,5 @@ const toChatSession = (chatSessionPayload) => {
735
495
  createdAt: (0, zeniDayJS_1.date)(created_at),
736
496
  };
737
497
  };
738
- _a = aiCfo.actions, exports.setNewSession = _a.setNewSession, exports.clearSession = _a.clearSession, exports.setSessions = _a.setSessions, exports.setChatHistory = _a.setChatHistory, exports.upsertAnswerPayload = _a.upsertAnswerPayload, exports.upsertOrAddQuestionAnswerPayload = _a.upsertOrAddQuestionAnswerPayload, exports.addQuestionPayload = _a.addQuestionPayload, exports.clearAiCfo = _a.clearAiCfo, exports.deleteQuestion = _a.deleteQuestion, exports.updateAiCfoAnswerCardPolicyWizardPlan = _a.updateAiCfoAnswerCardPolicyWizardPlan, exports.appendSyntheticAiCfoAnswer = _a.appendSyntheticAiCfoAnswer, exports.updateSyntheticAiCfoAnswer = _a.updateSyntheticAiCfoAnswer, exports.removeSyntheticAiCfoAnswer = _a.removeSyntheticAiCfoAnswer, exports.clearSyntheticAiCfoAnswers = _a.clearSyntheticAiCfoAnswers;
498
+ _a = aiCfo.actions, exports.setNewSession = _a.setNewSession, exports.clearSession = _a.clearSession, exports.setSessions = _a.setSessions, exports.setChatHistory = _a.setChatHistory, exports.upsertAnswerPayload = _a.upsertAnswerPayload, exports.upsertOrAddQuestionAnswerPayload = _a.upsertOrAddQuestionAnswerPayload, exports.addQuestionPayload = _a.addQuestionPayload, exports.clearAiCfo = _a.clearAiCfo, exports.deleteQuestion = _a.deleteQuestion;
739
499
  exports.default = aiCfo.reducer;
@@ -1,16 +1,13 @@
1
1
  import { ID } from '../../commonStateTypes/common';
2
- import { AiCfoQuestionWithAnswer, AiCfoState, ChatSession, SyntheticAiCfoAnswer } from './aiCfoState';
2
+ import { AiCfoQuestionWithAnswer, AiCfoState, ChatSession } from './aiCfoState';
3
3
  export declare function getAllQuestionAnswersForChatSession(state: AiCfoState, chatSessionId: ID): AiCfoQuestionWithAnswer[];
4
4
  export declare function getQuestionAnswerByIdForChatSession(state: AiCfoState, chatSessionId: ID, questionAnswerId: ID): AiCfoQuestionWithAnswer | undefined;
5
5
  export declare function getAllQuestionsForChatSession(state: AiCfoState, chatSessionId: ID): string[];
6
6
  export interface AiCfoSelectorView {
7
7
  allSessionsWithOrderedQuestionAnswers: ChatSessionWithOrderedQuestionAnswers[];
8
- syntheticAnswersByChatSessionId: Record<ID, SyntheticAiCfoAnswer[]>;
9
8
  }
10
9
  export interface ChatSessionWithOrderedQuestionAnswers {
11
10
  chatSession: ChatSession;
12
11
  questionAnswers: AiCfoQuestionWithAnswer[];
13
12
  }
14
13
  export declare function getAiCfoSelectorView(state: AiCfoState): AiCfoSelectorView;
15
- export declare function getSyntheticAiCfoAnswersForChatSession(state: AiCfoState, chatSessionId: ID): SyntheticAiCfoAnswer[];
16
- export declare function getSyntheticAiCfoAnswerByQuestionAnswerId(state: AiCfoState, chatSessionId: ID, questionAnswerId: ID): SyntheticAiCfoAnswer | undefined;
@@ -4,8 +4,6 @@ exports.getAllQuestionAnswersForChatSession = getAllQuestionAnswersForChatSessio
4
4
  exports.getQuestionAnswerByIdForChatSession = getQuestionAnswerByIdForChatSession;
5
5
  exports.getAllQuestionsForChatSession = getAllQuestionsForChatSession;
6
6
  exports.getAiCfoSelectorView = getAiCfoSelectorView;
7
- exports.getSyntheticAiCfoAnswersForChatSession = getSyntheticAiCfoAnswersForChatSession;
8
- exports.getSyntheticAiCfoAnswerByQuestionAnswerId = getSyntheticAiCfoAnswerByQuestionAnswerId;
9
7
  function getAllQuestionAnswersForChatSession(state, chatSessionId) {
10
8
  const arr = state.aiCfoByChatSessionId[chatSessionId]?.questionAnswers ?? [];
11
9
  return arr
@@ -40,21 +38,5 @@ function getAiCfoSelectorView(state) {
40
38
  : [],
41
39
  }))
42
40
  .sort((a, b) => b.chatSession.createdAt.valueOf() - a.chatSession.createdAt.valueOf());
43
- return {
44
- allSessionsWithOrderedQuestionAnswers,
45
- syntheticAnswersByChatSessionId: state.syntheticAnswersByChatSessionId ?? {},
46
- };
47
- }
48
- function getSyntheticAiCfoAnswersForChatSession(state, chatSessionId) {
49
- const arr = state.syntheticAnswersByChatSessionId?.[chatSessionId] ?? [];
50
- return arr
51
- .slice()
52
- .sort((a, b) => a.createdAt.valueOf() - b.createdAt.valueOf());
53
- }
54
- function getSyntheticAiCfoAnswerByQuestionAnswerId(state, chatSessionId, questionAnswerId) {
55
- const arr = state.syntheticAnswersByChatSessionId?.[chatSessionId];
56
- if (arr == null) {
57
- return undefined;
58
- }
59
- return arr.find((answer) => answer.sourceQuestionAnswerId === questionAnswerId);
41
+ return { allSessionsWithOrderedQuestionAnswers };
60
42
  }
@@ -9,13 +9,9 @@ export interface AiCfoAnswerParagraph {
9
9
  }>;
10
10
  }
11
11
  export declare const ALL_AI_CFO_CHARTS_TYPES: readonly ["bar_chart", "pie_chart", "line_chart"];
12
- export declare const ALL_AI_CFO_VISUALIZATION_TYPES: readonly ["bar_chart", "pie_chart", "line_chart", "table", "interactive_form"];
13
- export declare const ALL_INTERACTIVE_FORM_TYPES: readonly ["cards_creation", "card_policy"];
14
- export declare const toInteractiveFormType: (v: string) => "cards_creation" | "card_policy";
15
- export declare const toInteractiveFormTypeStrict: (v: string) => "cards_creation" | "card_policy" | undefined;
16
- export type InteractiveFormType = ReturnType<typeof toInteractiveFormType>;
17
- export declare const toAiCfoVisualizationType: (v: string) => "bar_chart" | "pie_chart" | "line_chart" | "table" | "interactive_form";
18
- export declare const toAiCfoVisualizationTypeStrict: (v: string) => "bar_chart" | "pie_chart" | "line_chart" | "table" | "interactive_form" | undefined;
12
+ export declare const ALL_AI_CFO_VISUALIZATION_TYPES: readonly ["bar_chart", "pie_chart", "line_chart", "table"];
13
+ export declare const toAiCfoVisualizationType: (v: string) => "bar_chart" | "pie_chart" | "line_chart" | "table";
14
+ export declare const toAiCfoVisualizationTypeStrict: (v: string) => "bar_chart" | "pie_chart" | "line_chart" | "table" | undefined;
19
15
  export type AiCfoVisualizationType = ReturnType<typeof toAiCfoVisualizationType>;
20
16
  export declare const toAiCfoChartType: (v: string) => "bar_chart" | "pie_chart" | "line_chart";
21
17
  export declare const toAiCfoChartTypeStrict: (v: string) => "bar_chart" | "pie_chart" | "line_chart" | undefined;
@@ -57,87 +53,8 @@ export interface ChartVisualization {
57
53
  lines?: string[];
58
54
  yFormat?: YFormat;
59
55
  }
60
- export type CardsCardKind = 'vendor' | 'class' | 'category';
61
- export interface CardNameOption {
62
- id: string;
63
- kind: CardsCardKind;
64
- label: string;
65
- }
66
- export interface CardsCreationCommonData {
67
- cardNameOptions: CardNameOption[];
68
- suggestedOwnerUserIdByTeamId: Record<string, ID | undefined>;
69
- }
70
- export type CardsCreationInitialData = (CardsCreationCommonData & {
71
- mode: 'review';
72
- teamRows: Array<{
73
- avgMonthlySpend: string;
74
- cardKind: CardsCardKind;
75
- id: string;
76
- label: string;
77
- recommendedLimit: string;
78
- recommendedLimitCadence?: string;
79
- }>;
80
- }) | (CardsCreationCommonData & {
81
- cardRows: Array<{
82
- cardKind: CardsCardKind;
83
- id: string;
84
- label: string;
85
- recommendedLimit?: number;
86
- suggestedOwnerUserId?: ID;
87
- }>;
88
- mode: 'create';
89
- });
90
- export interface CardPolicyDraftPolicyEntity {
91
- categoryCodes: string[];
92
- merchantNames: string[];
93
- }
94
- export interface CardPolicySpendLimits {
95
- transaction: number;
96
- }
97
- export interface CardPolicyDraftPolicy {
98
- allowedEntity: CardPolicyDraftPolicyEntity;
99
- applyToCards: string[];
100
- blockedEntity: CardPolicyDraftPolicyEntity;
101
- description: string;
102
- id: string;
103
- mode: string;
104
- name: string;
105
- requiredReceiptThreshold: number;
106
- spendLimits: CardPolicySpendLimits;
107
- }
108
- export interface CardPolicyStep5Review {
109
- draftPolicies: CardPolicyDraftPolicy[];
110
- groupingSource: string;
111
- prompt: string;
112
- }
113
- export interface CardPolicyWizardPlan {
114
- step5Review: CardPolicyStep5Review;
115
- }
116
- export interface CardPolicyUploadSource {
117
- confidenceScore: number;
118
- fileName: string;
119
- lowConfidenceFields: string[];
120
- }
121
- export type CardPolicyInitialData = {
122
- policyKind: 'auto';
123
- wizardPlan: CardPolicyWizardPlan;
124
- } | {
125
- policyKind: 'guided';
126
- wizardPlan: CardPolicyWizardPlan;
127
- } | {
128
- policyKind: 'upload';
129
- source?: CardPolicyUploadSource;
130
- wizardPlan?: CardPolicyWizardPlan;
131
- };
132
- export type InteractiveFormVisualization = {
133
- formType: 'cards_creation';
134
- payload: CardsCreationInitialData;
135
- } | {
136
- formType: 'card_policy';
137
- payload: CardPolicyInitialData;
138
- };
139
56
  export interface AiCfoVisualization {
140
- data: TableVisualization | ChartVisualization | InteractiveFormVisualization;
57
+ data: TableVisualization | ChartVisualization;
141
58
  type: AiCfoVisualizationType;
142
59
  }
143
60
  export declare const toMessageSender: (v: string) => "user" | "agent";
@@ -196,17 +113,7 @@ export interface ChatSessionWithMessages {
196
113
  chatSession: ChatSession;
197
114
  questionAnswers: AiCfoQuestionWithAnswer[];
198
115
  }
199
- export declare const ALL_SYNTHETIC_AI_CFO_ANSWER_KINDS: readonly ["creating_cards", "creating_policy", "created_cards", "created_policy"];
200
- export type SyntheticAiCfoAnswerKind = (typeof ALL_SYNTHETIC_AI_CFO_ANSWER_KINDS)[number];
201
- export interface SyntheticAiCfoAnswer {
202
- createdAt: ZeniDate;
203
- entityIds: ID[];
204
- id: ID;
205
- kind: SyntheticAiCfoAnswerKind;
206
- sourceQuestionAnswerId: ID;
207
- }
208
116
  export interface AiCfoState {
209
117
  aiCfoByChatSessionId: Record<ID, ChatSessionWithMessages>;
210
118
  partialQuestionAnswers: Record<ID, AiCfoQuestionWithAnswer | undefined>;
211
- syntheticAnswersByChatSessionId: Record<ID, SyntheticAiCfoAnswer[]>;
212
119
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ALL_SYNTHETIC_AI_CFO_ANSWER_KINDS = exports.toMessageTypeStrict = exports.toMessageSenderStrict = exports.toMessageType = exports.toMessageSender = exports.toAiCfoAnswerResponseTypeStrict = exports.toAiCfoAnswerStateTypeStrict = exports.toAiCfoAnswerResponseType = exports.toAiCfoAnswerStateType = exports.toYFormatScaleStrict = exports.toYFormatUnitStrict = exports.toYFormatTypeStrict = exports.toYFormatScale = exports.toYFormatUnit = exports.toYFormatType = exports.ALL_Y_FORMAT_SCALES = exports.ALL_Y_FORMAT_NON_CURRENCY_UNITS = exports.ALL_Y_FORMAT_TYPES = exports.ALL_AI_CFO_ANSWER_RESPONSE_TYPES = exports.ALL_AI_CFO_ANSWER_STATE_TYPES = exports.toAiCfoChartTypeStrict = exports.toAiCfoChartType = exports.toAiCfoVisualizationTypeStrict = exports.toAiCfoVisualizationType = exports.toInteractiveFormTypeStrict = exports.toInteractiveFormType = exports.ALL_INTERACTIVE_FORM_TYPES = exports.ALL_AI_CFO_VISUALIZATION_TYPES = exports.ALL_AI_CFO_CHARTS_TYPES = void 0;
3
+ exports.toMessageTypeStrict = exports.toMessageSenderStrict = exports.toMessageType = exports.toMessageSender = exports.toAiCfoAnswerResponseTypeStrict = exports.toAiCfoAnswerStateTypeStrict = exports.toAiCfoAnswerResponseType = exports.toAiCfoAnswerStateType = exports.toYFormatScaleStrict = exports.toYFormatUnitStrict = exports.toYFormatTypeStrict = exports.toYFormatScale = exports.toYFormatUnit = exports.toYFormatType = exports.ALL_Y_FORMAT_SCALES = exports.ALL_Y_FORMAT_NON_CURRENCY_UNITS = exports.ALL_Y_FORMAT_TYPES = exports.ALL_AI_CFO_ANSWER_RESPONSE_TYPES = exports.ALL_AI_CFO_ANSWER_STATE_TYPES = exports.toAiCfoChartTypeStrict = exports.toAiCfoChartType = exports.toAiCfoVisualizationTypeStrict = exports.toAiCfoVisualizationType = exports.ALL_AI_CFO_VISUALIZATION_TYPES = exports.ALL_AI_CFO_CHARTS_TYPES = void 0;
4
4
  const stringToUnion_1 = require("../../commonStateTypes/stringToUnion");
5
5
  exports.ALL_AI_CFO_CHARTS_TYPES = [
6
6
  'bar_chart',
@@ -10,16 +10,7 @@ exports.ALL_AI_CFO_CHARTS_TYPES = [
10
10
  exports.ALL_AI_CFO_VISUALIZATION_TYPES = [
11
11
  ...exports.ALL_AI_CFO_CHARTS_TYPES,
12
12
  'table',
13
- 'interactive_form',
14
13
  ];
15
- exports.ALL_INTERACTIVE_FORM_TYPES = [
16
- 'cards_creation',
17
- 'card_policy',
18
- ];
19
- const toInteractiveFormType = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_INTERACTIVE_FORM_TYPES);
20
- exports.toInteractiveFormType = toInteractiveFormType;
21
- const toInteractiveFormTypeStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v, exports.ALL_INTERACTIVE_FORM_TYPES);
22
- exports.toInteractiveFormTypeStrict = toInteractiveFormTypeStrict;
23
14
  const toAiCfoVisualizationType = (v) => (0, stringToUnion_1.stringToUnion)(v, exports.ALL_AI_CFO_VISUALIZATION_TYPES);
24
15
  exports.toAiCfoVisualizationType = toAiCfoVisualizationType;
25
16
  const toAiCfoVisualizationTypeStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v, exports.ALL_AI_CFO_VISUALIZATION_TYPES);
@@ -88,11 +79,3 @@ const toMessageSenderStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v,
88
79
  exports.toMessageSenderStrict = toMessageSenderStrict;
89
80
  const toMessageTypeStrict = (v) => (0, stringToUnion_1.stringToUnionStrict)(v, ALL_MESSAGE_TYPES);
90
81
  exports.toMessageTypeStrict = toMessageTypeStrict;
91
- // Client-synthesized AI CFO answer bubbles (Creating…/Created) pushed when the user
92
- // submits an interactive form; not streamed from the backend.
93
- exports.ALL_SYNTHETIC_AI_CFO_ANSWER_KINDS = [
94
- 'creating_cards',
95
- 'creating_policy',
96
- 'created_cards',
97
- 'created_policy',
98
- ];
@@ -16,7 +16,6 @@ export interface JEScheduleOtherAttributesPayload {
16
16
  export interface JEScheduleAISummaryFieldPayload {
17
17
  confidence: number;
18
18
  reasoning: string;
19
- cot?: string[];
20
19
  predicted_value?: number | string;
21
20
  }
22
21
  export interface JEScheduleAISummariesPayload {