@zeniai/client-epic-state 5.0.72 → 5.0.73

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 (129) hide show
  1. package/lib/commonStateTypes/cacheOverrideFetchReducer.d.ts +17 -0
  2. package/lib/commonStateTypes/cacheOverrideFetchReducer.js +20 -0
  3. package/lib/commonStateTypes/pusherActions.d.ts +11 -0
  4. package/lib/commonStateTypes/pusherActions.js +6 -0
  5. package/lib/coreEpics.js +1 -1
  6. package/lib/entity/account/accountSelector.d.ts +1 -1
  7. package/lib/entity/account/accountState.d.ts +1 -1
  8. package/lib/entity/account/subAccountSelector.d.ts +1 -1
  9. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerPayload.js +1 -3
  10. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerReducer.js +1 -2
  11. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerSelector.d.ts +1 -1
  12. package/lib/entity/chargeCard/chargeCardReducer.d.ts +19 -2
  13. package/lib/entity/chargeCard/chargeCardReducer.js +35 -2
  14. package/lib/entity/chargeCardTransaction/chargeCardTransactionReducer.d.ts +14 -1
  15. package/lib/entity/chargeCardTransaction/chargeCardTransactionReducer.js +36 -2
  16. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksPayload.d.ts +2 -0
  17. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksPayload.js +2 -0
  18. package/lib/entity/monthEndCloseChecks/monthEndCloseChecksState.d.ts +2 -0
  19. package/lib/entity/sectionProjectView/sectionProjectViewReducer.d.ts +1 -1
  20. package/lib/entity/sectionProjectView/sectionProjectViewSelector.js +1 -1
  21. package/lib/entity/tenant/SessionManager.js +6 -3
  22. package/lib/entity/tenant/clearAllEpic.d.ts +2 -2
  23. package/lib/entity/tenant/clearAllEpic.js +2 -2
  24. package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.js +6 -2
  25. package/lib/entity/tenant/epic/saveOAuthConnectionEpic.js +6 -2
  26. package/lib/entity/tenant/tenantReducer.js +6 -1
  27. package/lib/entity/transaction/payloadTypes/transactionLinePayload.js +3 -1
  28. package/lib/epic.d.ts +9 -9
  29. package/lib/epic.js +10 -10
  30. package/lib/esm/commonStateTypes/cacheOverrideFetchReducer.js +16 -0
  31. package/lib/esm/commonStateTypes/pusherActions.js +3 -0
  32. package/lib/esm/coreEpics.js +1 -1
  33. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerPayload.js +1 -3
  34. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerReducer.js +1 -2
  35. package/lib/esm/entity/chargeCard/chargeCardReducer.js +34 -1
  36. package/lib/esm/entity/chargeCardTransaction/chargeCardTransactionReducer.js +35 -1
  37. package/lib/esm/entity/monthEndCloseChecks/monthEndCloseChecksPayload.js +2 -0
  38. package/lib/esm/entity/sectionProjectView/sectionProjectViewSelector.js +1 -1
  39. package/lib/esm/entity/tenant/SessionManager.js +4 -1
  40. package/lib/esm/entity/tenant/clearAllEpic.js +2 -2
  41. package/lib/esm/entity/tenant/epic/saveAPIKeyConnectionEpic.js +6 -2
  42. package/lib/esm/entity/tenant/epic/saveOAuthConnectionEpic.js +6 -2
  43. package/lib/esm/entity/tenant/tenantReducer.js +6 -1
  44. package/lib/esm/entity/transaction/payloadTypes/transactionLinePayload.js +3 -1
  45. package/lib/esm/epic.js +10 -10
  46. package/lib/esm/index.js +17 -13
  47. package/lib/esm/reducer.js +2 -2
  48. package/lib/esm/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.js +2 -5
  49. package/lib/esm/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.js +2 -5
  50. package/lib/esm/view/aiAccountantView/epics/triggerAiAccountantJobEpic.js +4 -1
  51. package/lib/esm/view/companyTaskManagerView/companyTaskManagerViewSelector.js +1 -1
  52. package/lib/esm/view/companyTaskManagerView/epics/fetchTaskManagerMetricsEpic.js +1 -1
  53. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/fetchBulkUploadBatchesEpic.js +2 -2
  54. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/fetchCompletedTransactionsEpic.js +2 -1
  55. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/restoreBulkUploadAutomatchingOnMountEpic.js +8 -6
  56. package/lib/esm/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +7 -1
  57. package/lib/esm/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +11 -1
  58. package/lib/esm/view/expenseAutomationView/reducers/missingReceiptsViewReducer.js +2 -1
  59. package/lib/esm/view/expenseAutomationView/reducers/transactionsViewReducer.js +127 -1
  60. package/lib/esm/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +20 -1
  61. package/lib/esm/view/expenseAutomationView/types/completedSubTab.js +17 -0
  62. package/lib/esm/view/expenseAutomationView/types/missingReceiptsViewState.js +0 -2
  63. package/lib/esm/view/financeStatement/financeStatementSelector.js +1 -1
  64. package/lib/esm/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailReducer.js +3 -2
  65. package/lib/esm/view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigReducer.js +3 -2
  66. package/lib/esm/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.js +55 -18
  67. package/lib/esm/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardDetailEpic.js +16 -2
  68. package/lib/esm/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardDetailPageEpic.js +5 -4
  69. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.js +26 -9
  70. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/fetchChargeCardListPageEpic.js +9 -6
  71. package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryReducer.js +3 -2
  72. package/lib/esm/view/spendManagement/chargeCards/chargeCardPaymentHistory/fetchChargeCardPaymentPageEpic.js +1 -1
  73. package/lib/esm/view/spendManagement/chargeCards/chargeCardRepaymentDetail/chargeCardRepaymentDetailReducer.js +7 -3
  74. package/lib/esm/view/taskManager/cannedResponsesView/epics/fetchCannedResponsesEpic.js +1 -1
  75. package/lib/esm/view/taskManager/cannedResponsesView/epics/saveCannedResponseEpic.js +1 -1
  76. package/lib/esm/view/taskManager/taskDetailView/epics/unsnoozeTaskEpic.js +1 -1
  77. package/lib/esm/view/transactionDetail/transactionDetailSelector.js +7 -1
  78. package/lib/index.d.ts +19 -15
  79. package/lib/index.js +72 -58
  80. package/lib/reducer.d.ts +2 -2
  81. package/lib/reducer.js +2 -2
  82. package/lib/view/aiAccountantView/aiAccountantViewPayload.d.ts +2 -2
  83. package/lib/view/aiAccountantView/aiAccountantViewReducer.d.ts +1 -1
  84. package/lib/view/aiAccountantView/epics/fetchAiAccountantCustomersEpic.js +2 -5
  85. package/lib/view/aiAccountantView/epics/fetchAiAccountantJobsEpic.js +2 -5
  86. package/lib/view/aiAccountantView/epics/triggerAiAccountantJobEpic.js +4 -1
  87. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.d.ts +1 -1
  88. package/lib/view/companyTaskManagerView/companyTaskManagerViewSelector.js +1 -1
  89. package/lib/view/expenseAutomationView/epics/missingReceipts/fetchBulkUploadBatchesEpic.js +2 -2
  90. package/lib/view/expenseAutomationView/epics/missingReceipts/fetchCompletedTransactionsEpic.js +2 -1
  91. package/lib/view/expenseAutomationView/epics/missingReceipts/restoreBulkUploadAutomatchingOnMountEpic.js +8 -6
  92. package/lib/view/expenseAutomationView/epics/missingReceipts/searchTransactionsForManualMatchEpic.js +7 -1
  93. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.d.ts +2 -2
  94. package/lib/view/expenseAutomationView/epics/transactionCategorization/fetchTransactionCategorizationEpic.js +10 -0
  95. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  96. package/lib/view/expenseAutomationView/payload/transactionCategorizationPayload.d.ts +21 -0
  97. package/lib/view/expenseAutomationView/reducers/missingReceiptsViewReducer.d.ts +2 -1
  98. package/lib/view/expenseAutomationView/reducers/missingReceiptsViewReducer.js +2 -1
  99. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +9 -3
  100. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.js +128 -2
  101. package/lib/view/expenseAutomationView/selectorTypes/missingReceiptsSelectorTypes.d.ts +2 -1
  102. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +14 -0
  103. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +20 -1
  104. package/lib/view/expenseAutomationView/types/completedSubTab.d.ts +10 -0
  105. package/lib/view/expenseAutomationView/types/completedSubTab.js +21 -0
  106. package/lib/view/expenseAutomationView/types/missingReceiptsViewState.d.ts +1 -2
  107. package/lib/view/expenseAutomationView/types/missingReceiptsViewState.js +1 -4
  108. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +41 -2
  109. package/lib/view/financeStatement/financeStatementSelector.js +1 -1
  110. package/lib/view/profitAndLossProjectView/profitAndLossProjectViewSelectorTypes.d.ts +1 -1
  111. package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailReducer.d.ts +3 -1
  112. package/lib/view/spendManagement/chargeCards/cashbackDetail/cashbackDetailReducer.js +3 -2
  113. package/lib/view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigReducer.d.ts +3 -1
  114. package/lib/view/spendManagement/chargeCards/chargeCardConfig/chargeCardConfigReducer.js +3 -2
  115. package/lib/view/spendManagement/chargeCards/chargeCardDetail/chargeCardDetailReducer.js +55 -18
  116. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardDetailEpic.js +16 -2
  117. package/lib/view/spendManagement/chargeCards/chargeCardDetail/fetchChargeCardDetailPageEpic.js +5 -4
  118. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.d.ts +18 -3
  119. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListReducer.js +27 -10
  120. package/lib/view/spendManagement/chargeCards/chargeCardList/fetchChargeCardListPageEpic.js +9 -6
  121. package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryReducer.d.ts +3 -1
  122. package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/chargeCardPaymentHistoryReducer.js +3 -2
  123. package/lib/view/spendManagement/chargeCards/chargeCardPaymentHistory/fetchChargeCardPaymentPageEpic.js +1 -1
  124. package/lib/view/spendManagement/chargeCards/chargeCardRepaymentDetail/chargeCardRepaymentDetailReducer.d.ts +3 -1
  125. package/lib/view/spendManagement/chargeCards/chargeCardRepaymentDetail/chargeCardRepaymentDetailReducer.js +7 -3
  126. package/lib/view/transactionDetail/transactionDetailSelector.js +7 -1
  127. package/lib/view/zeniOAuthView/zeniOAuthSelector.d.ts +1 -1
  128. package/package.json +9 -4
  129. package/lib/tsconfig.typecheck.tsbuildinfo +0 -1
package/lib/epic.js CHANGED
@@ -9,6 +9,7 @@ const sectionAccountsViewEpic_1 = require("./entity/sectionAccountsView/sectionA
9
9
  const sectionClassesViewEpic_1 = require("./entity/sectionClassesViewV2/sectionClassesViewEpic");
10
10
  const sectionProjectViewEpic_1 = require("./entity/sectionProjectView/sectionProjectViewEpic");
11
11
  const clearAllEpic_1 = require("./entity/tenant/clearAllEpic");
12
+ const deleteConnectionEpic_1 = require("./entity/tenant/epic/deleteConnectionEpic");
12
13
  const doMagicLinkSignInEpic_1 = require("./entity/tenant/epic/doMagicLinkSignInEpic");
13
14
  const fetchActiveTenantEpic_1 = require("./entity/tenant/epic/fetchActiveTenantEpic");
14
15
  const fetchAllTenantsEpic_1 = require("./entity/tenant/epic/fetchAllTenantsEpic");
@@ -16,7 +17,6 @@ const fetchExcludedResourcesEpic_1 = require("./entity/tenant/epic/fetchExcluded
16
17
  const fetchExternalConnectionsEpic_1 = require("./entity/tenant/epic/fetchExternalConnectionsEpic");
17
18
  const fetchSubscriptionSummaryForTenantEpic_1 = require("./entity/tenant/epic/fetchSubscriptionSummaryForTenantEpic");
18
19
  const resendVerifyDeviceOTPEpic_1 = require("./entity/tenant/epic/resendVerifyDeviceOTPEpic");
19
- const deleteConnectionEpic_1 = require("./entity/tenant/epic/deleteConnectionEpic");
20
20
  const saveAPIKeyConnectionEpic_1 = require("./entity/tenant/epic/saveAPIKeyConnectionEpic");
21
21
  const saveConnectorCredentialsEpic_1 = require("./entity/tenant/epic/saveConnectorCredentialsEpic");
22
22
  const saveExternalConnectionEpic_1 = require("./entity/tenant/epic/saveExternalConnectionEpic");
@@ -190,6 +190,8 @@ const saveTransactionCategorizationEpic_1 = require("./view/expenseAutomationVie
190
190
  const triggerReviewTabRefetchEpic_1 = require("./view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic");
191
191
  const updateTransactionCategorizationEpic_1 = require("./view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic");
192
192
  const uploadTransactionReceiptSuccessEpic_1 = require("./view/expenseAutomationView/epics/transactionCategorization/uploadTransactionReceiptSuccessEpic");
193
+ const fetchRegisteredInterestsEpic_1 = require("./view/featureNotificationView/epics/fetchRegisteredInterestsEpic");
194
+ const notifyMeForFeatureEpic_1 = require("./view/featureNotificationView/epics/notifyMeForFeatureEpic");
193
195
  const deleteFileEpic_1 = require("./view/fileView/epic/deleteFileEpic");
194
196
  const deleteFileListEpic_1 = require("./view/fileView/epic/deleteFileListEpic");
195
197
  const fetchFileEpic_1 = require("./view/fileView/epic/fetchFileEpic");
@@ -215,8 +217,6 @@ const fetchNotificationUnreadCountEpic_1 = require("./view/notificationView/epic
215
217
  const fetchNotificationViewEpic_1 = require("./view/notificationView/epics/fetchNotificationViewEpic");
216
218
  const updateNotificationViewAllNotificationsStatusEpic_1 = require("./view/notificationView/epics/updateNotificationViewAllNotificationsStatusEpic");
217
219
  const updateNotificationViewNotificationStatusEpic_1 = require("./view/notificationView/epics/updateNotificationViewNotificationStatusEpic");
218
- const fetchRegisteredInterestsEpic_1 = require("./view/featureNotificationView/epics/fetchRegisteredInterestsEpic");
219
- const notifyMeForFeatureEpic_1 = require("./view/featureNotificationView/epics/notifyMeForFeatureEpic");
220
220
  const fetchCompanyOnboardingViewEpic_1 = require("./view/onboardingView/cockpitView/epic/fetchCompanyOnboardingViewEpic");
221
221
  const fetchOnboardingCompletedCompaniesEpic_1 = require("./view/onboardingView/cockpitView/epic/fetchOnboardingCompletedCompaniesEpic");
222
222
  const fetchQBOConnectionPoolEpic_1 = require("./view/onboardingView/cockpitView/epic/fetchQBOConnectionPoolEpic");
@@ -506,15 +506,18 @@ const saveSubscriptionUpdatesEpic_1 = require("./view/subscriptionView/epic/save
506
506
  const createTagEpic_1 = require("./view/tagView/epics/createTagEpic");
507
507
  const deleteTagEpic_1 = require("./view/tagView/epics/deleteTagEpic");
508
508
  const fetchAllTagsEpic_1 = require("./view/tagView/epics/fetchAllTagsEpic");
509
+ const deleteCannedResponseEpic_1 = require("./view/taskManager/cannedResponsesView/epics/deleteCannedResponseEpic");
510
+ const fetchCannedResponsesEpic_1 = require("./view/taskManager/cannedResponsesView/epics/fetchCannedResponsesEpic");
511
+ const saveCannedResponseEpic_1 = require("./view/taskManager/cannedResponsesView/epics/saveCannedResponseEpic");
509
512
  const archiveTaskEpic_1 = require("./view/taskManager/taskDetailView/epics/archiveTaskEpic");
510
513
  const deleteTaskEpic_1 = require("./view/taskManager/taskDetailView/epics/deleteTaskEpic");
511
- const snoozeTaskEpic_1 = require("./view/taskManager/taskDetailView/epics/snoozeTaskEpic");
512
- const unsnoozeTaskEpic_1 = require("./view/taskManager/taskDetailView/epics/unsnoozeTaskEpic");
513
514
  const fetchTaskDetailEpic_1 = require("./view/taskManager/taskDetailView/epics/fetchTaskDetailEpic");
514
515
  const fetchTaskDetailPageEpic_1 = require("./view/taskManager/taskDetailView/epics/fetchTaskDetailPageEpic");
515
516
  const fetchTaskHistoryEpic_1 = require("./view/taskManager/taskDetailView/epics/fetchTaskHistoryEpic");
516
517
  const initializeTaskToLocalStoreEpic_1 = require("./view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic");
517
518
  const saveTaskDetailEpic_1 = require("./view/taskManager/taskDetailView/epics/saveTaskDetailEpic");
519
+ const snoozeTaskEpic_1 = require("./view/taskManager/taskDetailView/epics/snoozeTaskEpic");
520
+ const unsnoozeTaskEpic_1 = require("./view/taskManager/taskDetailView/epics/unsnoozeTaskEpic");
518
521
  const createTaskFromTaskGroupTemplateEpic_1 = require("./view/taskManager/taskGroupTemplateView/epics/createTaskFromTaskGroupTemplateEpic");
519
522
  const fetchTaskGroupTemplatesEpic_1 = require("./view/taskManager/taskGroupTemplateView/epics/fetchTaskGroupTemplatesEpic");
520
523
  const createNewTaskGroupEpic_1 = require("./view/taskManager/taskGroupView/epics/createNewTaskGroupEpic");
@@ -526,9 +529,6 @@ const dragNDropTasksEpic_1 = require("./view/taskManager/taskListView/epics/drag
526
529
  const fetchTaskListEpic_1 = require("./view/taskManager/taskListView/epics/fetchTaskListEpic");
527
530
  const fetchTaskListPageEpic_1 = require("./view/taskManager/taskListView/epics/fetchTaskListPageEpic");
528
531
  const updateTaskFromListViewEpic_1 = require("./view/taskManager/taskListView/epics/updateTaskFromListViewEpic");
529
- const fetchCannedResponsesEpic_1 = require("./view/taskManager/cannedResponsesView/epics/fetchCannedResponsesEpic");
530
- const saveCannedResponseEpic_1 = require("./view/taskManager/cannedResponsesView/epics/saveCannedResponseEpic");
531
- const deleteCannedResponseEpic_1 = require("./view/taskManager/cannedResponsesView/epics/deleteCannedResponseEpic");
532
532
  const fetchTasksCardEpic_1 = require("./view/tasksCard/fetchTasksCardEpic");
533
533
  const topExEpic_1 = require("./view/topEx/topExEpic");
534
534
  const fetchTransactionActivityLogEpic_1 = require("./view/transactionActivityLogView/fetchTransactionActivityLogEpic");
@@ -542,13 +542,13 @@ const updateTransactionDetailEpic_1 = require("./view/transactionDetail/epics/up
542
542
  const uploadMissingAttachmentSuccessEpic_1 = require("./view/transactionDetail/epics/uploadMissingAttachmentSuccessEpic");
543
543
  const fetchTransactionListByAccountEpic_1 = require("./view/transactionList/fetchTransactionListByAccountEpic");
544
544
  const fetchTransactionListByClassEpic_1 = require("./view/transactionList/fetchTransactionListByClassEpic");
545
- const fetchTransactionListByProjectEpic_1 = require("./view/transactionList/fetchTransactionListByProjectEpic");
546
545
  const fetchTransactionListByEntityEpic_1 = require("./view/transactionList/fetchTransactionListByEntityEpic");
546
+ const fetchTransactionListByProjectEpic_1 = require("./view/transactionList/fetchTransactionListByProjectEpic");
547
547
  const fetchTransactionsListByCategoryTypeEpic_1 = require("./view/transactionList/fetchTransactionsListByCategoryTypeEpic");
548
548
  const parallelFetchAccountTransactionListEpic_1 = require("./view/transactionList/parallelFetchAccountTransactionListEpic");
549
549
  const parallelFetchClassTransactionListEpic_1 = require("./view/transactionList/parallelFetchClassTransactionListEpic");
550
- const parallelFetchProjectTransactionListEpic_1 = require("./view/transactionList/parallelFetchProjectTransactionListEpic");
551
550
  const parallelFetchEntityTransactionListEpic_1 = require("./view/transactionList/parallelFetchEntityTransactionListEpic");
551
+ const parallelFetchProjectTransactionListEpic_1 = require("./view/transactionList/parallelFetchProjectTransactionListEpic");
552
552
  const parallelFetchTransactionListByCategoryTypeEpic_1 = require("./view/transactionList/parallelFetchTransactionListByCategoryTypeEpic");
553
553
  const fetchExpenseTrendEpic_1 = require("./view/trend/fetchExpenseTrendEpic");
554
554
  const fetchIncomeTrendEpic_1 = require("./view/trend/fetchIncomeTrendEpic");
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Factory for `fetchXxx` reducers that support Pusher-driven silent refresh.
3
+ * When `cacheOverride=true`, fetchState and error are left untouched so the
4
+ * UI doesn't flash a skeleton. When `false`, `applyTo` runs the normal
5
+ * 'In-Progress' transition.
6
+ */
7
+ export const createCacheOverrideFetchReducer = (applyTo) => ({
8
+ reducer(draft, action) {
9
+ if (action.payload.cacheOverride !== true) {
10
+ applyTo(draft);
11
+ }
12
+ },
13
+ prepare(cacheOverride = false) {
14
+ return { payload: { cacheOverride } };
15
+ },
16
+ });
@@ -0,0 +1,3 @@
1
+ import { createAction } from '@reduxjs/toolkit';
2
+ export const addChargeCardTransactionFromPusher = createAction('chargeCardDetail/addChargeCardTransactionFromPusher');
3
+ export const addDeclinedChargeCardTransactionFromPusher = createAction('chargeCardDetail/addDeclinedChargeCardTransactionFromPusher');
@@ -21,8 +21,8 @@ import { fetchSubscriptionSummaryForTenantEpic } from './entity/tenant/epic/fetc
21
21
  import { resendVerifyDeviceOTPEpic } from './entity/tenant/epic/resendVerifyDeviceOTPEpic';
22
22
  import { saveExternalConnectionEpic } from './entity/tenant/epic/saveExternalConnectionEpic';
23
23
  import { sendEmailMagicLinkToUserEpic } from './entity/tenant/epic/sendEmailMagicLinkToUserEpic';
24
- import { doSignInEpic } from './entity/tenant/epic/signInUserEpic';
25
24
  import { sessionHeartbeatEpic } from './entity/tenant/epic/sessionHeartbeatEpic';
25
+ import { doSignInEpic } from './entity/tenant/epic/signInUserEpic';
26
26
  import { doSignOutEpic } from './entity/tenant/epic/signOutUserEpic';
27
27
  import { verifyDeviceWithTwoFAEpic } from './entity/tenant/epic/verifyDeviceWithTwoFAEpic';
28
28
  // ── Toast Notification Epic ──────────────────────────────────────────
@@ -19,9 +19,7 @@ const toAccuracyByModel = (accuracyPayload) => {
19
19
  export const toAiAccountantEnrollment = (payload) => ({
20
20
  status: toAiAccountantEnrollmentStatus(payload.status),
21
21
  accuracy: toAccuracyByModel(payload.accuracy),
22
- latestTraining: payload.latest_training != null
23
- ? date(payload.latest_training)
24
- : undefined,
22
+ latestTraining: payload.latest_training != null ? date(payload.latest_training) : undefined,
25
23
  latestTransactionSync: payload.latest_transaction_sync != null
26
24
  ? date(payload.latest_transaction_sync)
27
25
  : undefined,
@@ -27,8 +27,7 @@ const aiAccountantCustomer = createSlice({
27
27
  const existing = draft.jobsByTenantId[action.payload.tenantId] ?? [];
28
28
  const jobMap = new Map(existing.map((job) => [job.jobId, job]));
29
29
  mappedJobs.forEach((job) => jobMap.set(job.jobId, job));
30
- draft.jobsByTenantId[action.payload.tenantId] =
31
- Array.from(jobMap.values());
30
+ draft.jobsByTenantId[action.payload.tenantId] = Array.from(jobMap.values());
32
31
  }
33
32
  else {
34
33
  draft.jobsByTenantId[action.payload.tenantId] = mappedJobs;
@@ -1,5 +1,7 @@
1
1
  import { createSlice } from '@reduxjs/toolkit';
2
2
  import assignWith from 'lodash/assignWith';
3
+ import { toAmount } from '../../commonStateTypes/amount';
4
+ import { toCardStatusCodeType } from './chargeCard';
3
5
  import { mapChargeCardPayloadToChargeCard, } from './chargeCardPayload';
4
6
  export const initialState = {
5
7
  chargeCardByID: {},
@@ -35,6 +37,37 @@ const chargeCard = createSlice({
35
37
  const latestChargeCard = mapChargeCardPayloadToChargeCard(action.payload);
36
38
  draft.chargeCardByID[latestChargeCard.id] = latestChargeCard;
37
39
  },
40
+ updateChargeCardStatusFromPusher(draft, action) {
41
+ const { cardId, cardStatus, isLockedByAdmin } = action.payload;
42
+ const card = draft.chargeCardByID[cardId];
43
+ if (card != null) {
44
+ card.status = {
45
+ code: toCardStatusCodeType(cardStatus.code),
46
+ name: cardStatus.name,
47
+ };
48
+ if (isLockedByAdmin !== undefined) {
49
+ card.isLockedByAdmin = isLockedByAdmin;
50
+ }
51
+ }
52
+ },
53
+ updateChargeCardSpendingFromPusher(draft, action) {
54
+ const { cardId, currencyCode, currencySymbol } = action.payload;
55
+ const card = draft.chargeCardByID[cardId];
56
+ if (card == null) {
57
+ return;
58
+ }
59
+ const amt = (v) => v !== undefined ? toAmount(v, currencyCode, currencySymbol) : undefined;
60
+ card.balance = amt(action.payload.balance) ?? card.balance;
61
+ card.hold = amt(action.payload.hold) ?? card.hold;
62
+ card.dailyPurchaseSpends =
63
+ amt(action.payload.dailyPurchaseSpends) ?? card.dailyPurchaseSpends;
64
+ card.monthlyPurchaseSpends =
65
+ amt(action.payload.monthlyPurchaseSpends) ?? card.monthlyPurchaseSpends;
66
+ card.dailyWithdrawals =
67
+ amt(action.payload.dailyWithdrawals) ?? card.dailyWithdrawals;
68
+ card.monthlyWithdrawals =
69
+ amt(action.payload.monthlyWithdrawals) ?? card.monthlyWithdrawals;
70
+ },
38
71
  removeChargeCard(draft, action) {
39
72
  delete draft.chargeCardByID[action.payload];
40
73
  },
@@ -43,5 +76,5 @@ const chargeCard = createSlice({
43
76
  },
44
77
  },
45
78
  });
46
- export const { updateChargeCards, updateChargeCard, removeChargeCard, clearAllChargeCards, } = chargeCard.actions;
79
+ export const { updateChargeCards, updateChargeCard, updateChargeCardStatusFromPusher, updateChargeCardSpendingFromPusher, removeChargeCard, clearAllChargeCards, } = chargeCard.actions;
47
80
  export default chargeCard.reducer;
@@ -1,4 +1,6 @@
1
1
  import { createSlice } from '@reduxjs/toolkit';
2
+ import { addChargeCardTransactionFromPusher, addDeclinedChargeCardTransactionFromPusher, } from '../../commonStateTypes/pusherActions';
3
+ import { toCardTransactionStatusCode, } from './chargeCardTransaction';
2
4
  import { toChargeCardTransaction, } from './chargeCardTransactionPayload';
3
5
  export const initialState = {
4
6
  chargeCardTransactionById: {},
@@ -46,10 +48,42 @@ const chargeCardTransaction = createSlice({
46
48
  }
47
49
  }
48
50
  },
51
+ updateChargeCardTransactionStatusFromPusher(draft, action) {
52
+ const { transactionId, transactionStatus } = action.payload;
53
+ const transaction = draft.chargeCardTransactionById[transactionId];
54
+ if (transaction != null) {
55
+ transaction.transactionStatus = {
56
+ code: toCardTransactionStatusCode(transactionStatus.code),
57
+ name: transactionStatus.name,
58
+ };
59
+ }
60
+ },
61
+ updateChargeCardTransactionFromPusher(draft, action) {
62
+ const entity = toChargeCardTransaction(action.payload.transaction);
63
+ draft.chargeCardTransactionById[entity.id] = entity;
64
+ },
65
+ updateChargeCardTransactionReceiptFromPusher(draft, action) {
66
+ const { transactionId, attachmentFilePaths } = action.payload;
67
+ const transaction = draft.chargeCardTransactionById[transactionId];
68
+ if (transaction != null) {
69
+ transaction.attachmentFilePaths = attachmentFilePaths;
70
+ }
71
+ },
49
72
  clearAllChargeCardTransactions(draft) {
50
73
  draft.chargeCardTransactionById = {};
51
74
  },
52
75
  },
76
+ extraReducers: (builder) => {
77
+ builder
78
+ .addCase(addChargeCardTransactionFromPusher, (draft, action) => {
79
+ const entity = toChargeCardTransaction(action.payload.transaction);
80
+ draft.chargeCardTransactionById[entity.id] = entity;
81
+ })
82
+ .addCase(addDeclinedChargeCardTransactionFromPusher, (draft, action) => {
83
+ const entity = toChargeCardTransaction(action.payload.transaction);
84
+ draft.chargeCardTransactionById[entity.id] = entity;
85
+ });
86
+ },
53
87
  });
54
- export const { updateChargeCardTransactions, updateChargeCardTransaction, updateChargeCardTransactionAttachments, removeChargeCardTransaction, removeChargeCardTransactionAttachmentByThirdPartyTransactionId, clearAllChargeCardTransactions, } = chargeCardTransaction.actions;
88
+ export const { updateChargeCardTransactions, updateChargeCardTransaction, updateChargeCardTransactionAttachments, updateChargeCardTransactionStatusFromPusher, updateChargeCardTransactionFromPusher, updateChargeCardTransactionReceiptFromPusher, removeChargeCardTransaction, removeChargeCardTransactionAttachmentByThirdPartyTransactionId, clearAllChargeCardTransactions, } = chargeCardTransaction.actions;
55
89
  export default chargeCardTransaction.reducer;
@@ -18,6 +18,7 @@ const toMonthEndCloseCheck = (monthCloseCheck) => {
18
18
  title: monthCloseCheck.month_close_check_title,
19
19
  frequency: toMonthEndCloseCheckFrequency(monthCloseCheck.action_frequency),
20
20
  progress: monthCloseCheck.progress_percentage,
21
+ progressAI: monthCloseCheck.progress_percentage_ai ?? 0,
21
22
  sequence: monthCloseCheck.sequence,
22
23
  isDisabled: toExpenseAutomationViewType(monthCloseCheck.month_close_check_type) ===
23
24
  'month_end_insights',
@@ -58,6 +59,7 @@ export const toMonthEndCloseChecksInfo = (payload, period) => ({
58
59
  monthEndCloseCheckList: payload.month_close_checks.map((monthCloseCheck) => toMonthEndCloseCheck(monthCloseCheck)),
59
60
  auditSummary: {
60
61
  auditScorePercentage: payload.audit_summary.audit_score_percentage,
62
+ auditScorePercentageAI: payload.audit_summary.audit_score_percentage_ai ?? 0,
61
63
  auditReportLastGeneratedDate: payload.audit_summary.audit_report_last_generated_date != null
62
64
  ? date(payload.audit_summary.audit_report_last_generated_date)
63
65
  : null,
@@ -1,6 +1,6 @@
1
1
  import recordGet from 'lodash/get';
2
- import { getCOABalances, } from '../../commonStateTypes/coaBalance/coaBalance';
3
2
  import { getSumOfBalancesByGroupedByPeriod } from '../../commonStateTypes/coaBalance/classBalances/getSumOfBalancesGroupedByPeriod';
3
+ import { getCOABalances, } from '../../commonStateTypes/coaBalance/coaBalance';
4
4
  import { getNestedAccountReportForAccount, } from '../account/subAccountSelector';
5
5
  import { getProjectById } from '../project/projectSelector';
6
6
  import { getSectionProjectViewKey } from './sectionProjectView';
@@ -260,7 +260,10 @@ export class SessionManager {
260
260
  this.callbacks?.onHeartbeat();
261
261
  // Let other tabs know we just fired a heartbeat — they can skip theirs
262
262
  // this cycle to avoid N tabs all firing heartbeats.
263
- this.broadcast({ type: 'heartbeat-fired', timestamp: this.lastHeartbeatTime });
263
+ this.broadcast({
264
+ type: 'heartbeat-fired',
265
+ timestamp: this.lastHeartbeatTime,
266
+ });
264
267
  }
265
268
  // ─── BroadcastChannel (cross-tab activity sync) ───────────
266
269
  setupBroadcastChannel() {
@@ -3,13 +3,13 @@ import { filter, mergeMap } from 'rxjs/operators';
3
3
  import { clearAllAiAccountantCustomers } from '../../entity/aiAccountantCustomer/aiAccountantCustomerReducer';
4
4
  import { clearAiCfo } from '../../entity/aiCfo/aiCfoReducer';
5
5
  import { clearAllApprovalRules } from '../../entity/approvalRule/approvalRuleReducer';
6
+ import { clearAllCreditAgent } from '../../entity/creditAgent/creditAgentReducer';
6
7
  import { clearAllEntityApprovalStatus } from '../../entity/entityApprovalStatus/entityApprovalStatusReducer';
7
8
  import { clearAllMonthEndCloseChecks } from '../../entity/monthEndCloseChecks/monthEndCloseChecksReducer';
8
9
  import { clearAllNotifications } from '../../entity/notification/notificationReducer';
9
10
  import { clearAllSectionsClassesViewV2 } from '../../entity/sectionClassesViewV2/sectionClassesViewReducer';
10
11
  import { clearAllSectionsProjectView } from '../../entity/sectionProjectView/sectionProjectViewReducer';
11
12
  import { clearAllTaskGroups } from '../../entity/taskGroup/taskGroupReducer';
12
- import { clearCannedResponses } from '../../view/taskManager/cannedResponsesView/cannedResponsesReducer';
13
13
  import { clearAllToastNotifications } from '../../entity/toastNotification/toastNotificationReducer';
14
14
  import { clearAccountList } from '../../view/accountList/accountListReducer';
15
15
  import { clearAccountMappingView } from '../../view/accountMappingView/accountMappingReducer';
@@ -40,7 +40,6 @@ import { clearCompanyHealthMetricView } from '../../view/companyHealthMetricView
40
40
  import { clearCompanyMonthEndReportView } from '../../view/companyMonthEndReportView/companyMonthEndReportViewReducer';
41
41
  import { clearCompanyTaskManagerView } from '../../view/companyTaskManagerView/companyTaskManagerViewReducer';
42
42
  import { clearCompanyView } from '../../view/companyView/companyViewReducer';
43
- import { clearAllCreditAgent } from '../../entity/creditAgent/creditAgentReducer';
44
43
  import { clearCreditAgentView } from '../../view/creditAgentView/creditAgentViewReducer';
45
44
  import { clearDashboard } from '../../view/dashboard/dashboardReducer';
46
45
  import { clearDashboardLayout } from '../../view/dashboardLayout/dashboardLayoutReducer';
@@ -135,6 +134,7 @@ import { clearZeniAccountSetupView } from '../../view/spendManagement/zeniAccoun
135
134
  import { clearZeniAccountsConfig } from '../../view/spendManagement/zeniAccounts/zeniAccountsConfig/zeniAccountsConfigReducer';
136
135
  import { clearSubscriptionView } from '../../view/subscriptionView/subscriptionViewReducer';
137
136
  import { clearTagView } from '../../view/tagView/tagViewReducer';
137
+ import { clearCannedResponses } from '../../view/taskManager/cannedResponsesView/cannedResponsesReducer';
138
138
  import { clearTaskDetail } from '../../view/taskManager/taskDetailView/taskDetailReducer';
139
139
  import { clearTaskGroupTemplatesView } from '../../view/taskManager/taskGroupTemplateView/taskGroupTemplateViewReducer';
140
140
  import { clearTaskGroupView } from '../../view/taskManager/taskGroupView/taskGroupViewReducer';
@@ -18,9 +18,13 @@ export const saveAPIKeyConnectionEpic = (actions$, _, zeniAPI) => actions$.pipe(
18
18
  }
19
19
  const status = response.status ??
20
20
  createZeniAPIStatus('Failed to save connection. Please try again.');
21
- return from([saveAPIKeyConnectionFailure(action.payload.tenantId, status)]);
21
+ return from([
22
+ saveAPIKeyConnectionFailure(action.payload.tenantId, status),
23
+ ]);
22
24
  }), catchError((error) => {
23
- const message = error instanceof Error ? error.message : 'Unexpected error saving connection.';
25
+ const message = error instanceof Error
26
+ ? error.message
27
+ : 'Unexpected error saving connection.';
24
28
  return from([
25
29
  saveAPIKeyConnectionFailure(action.payload.tenantId, createZeniAPIStatus(message)),
26
30
  ]);
@@ -20,9 +20,13 @@ export const saveOAuthConnectionEpic = (actions$, _, zeniAPI) => actions$.pipe(f
20
20
  }
21
21
  const status = response.status ??
22
22
  createZeniAPIStatus('Failed to save connection. Please try again.');
23
- return from([saveOAuthConnectionFailure(action.payload.tenantId, status)]);
23
+ return from([
24
+ saveOAuthConnectionFailure(action.payload.tenantId, status),
25
+ ]);
24
26
  }), catchError((error) => {
25
- const message = error instanceof Error ? error.message : 'Unexpected error saving connection.';
27
+ const message = error instanceof Error
28
+ ? error.message
29
+ : 'Unexpected error saving connection.';
26
30
  return from([
27
31
  saveOAuthConnectionFailure(action.payload.tenantId, createZeniAPIStatus(message)),
28
32
  ]);
@@ -563,7 +563,12 @@ const tenant = createSlice({
563
563
  saveConnectorCredentialsSuccess: {
564
564
  prepare(tenantId, connectionType, connectionName, connectionPayload) {
565
565
  return {
566
- payload: { tenantId, connectionType, connectionName, connectionPayload },
566
+ payload: {
567
+ tenantId,
568
+ connectionType,
569
+ connectionName,
570
+ connectionPayload,
571
+ },
567
572
  };
568
573
  },
569
574
  reducer(draft, action) {
@@ -23,7 +23,9 @@ const toTransactionLineBase = (payload, lineType, currency) => ({
23
23
  });
24
24
  const toLinkedTransactionLine = (payload, currency) => ({
25
25
  ...toTransactionLineBase(payload, 'linked_transaction_line', currency),
26
- linkedTransactions: payload.linked_transactions != null ? payload.linked_transactions.map((transactionIDPayload) => toTransactionID(transactionIDPayload)) : [],
26
+ linkedTransactions: payload.linked_transactions != null
27
+ ? payload.linked_transactions.map((transactionIDPayload) => toTransactionID(transactionIDPayload))
28
+ : [],
27
29
  });
28
30
  /**
29
31
  * Transaction with account and class line payload with COT tracking
package/lib/esm/epic.js CHANGED
@@ -7,6 +7,7 @@ import { updateSectionAccountsViewEpic, } from './entity/sectionAccountsView/sec
7
7
  import { updateSectionClassesViewEpic as updateSectionClassesViewEpicV2, } from './entity/sectionClassesViewV2/sectionClassesViewEpic';
8
8
  import { updateSectionProjectViewEpic, } from './entity/sectionProjectView/sectionProjectViewEpic';
9
9
  import { clearAllEpic, } from './entity/tenant/clearAllEpic';
10
+ import { deleteConnectionEpic } from './entity/tenant/epic/deleteConnectionEpic';
10
11
  import { doMagicLinkSignInEpic, } from './entity/tenant/epic/doMagicLinkSignInEpic';
11
12
  import { fetchActiveTenantEpic, } from './entity/tenant/epic/fetchActiveTenantEpic';
12
13
  import { fetchAllTenantsEpic, } from './entity/tenant/epic/fetchAllTenantsEpic';
@@ -14,7 +15,6 @@ import { fetchExcludedResourcesEpic, } from './entity/tenant/epic/fetchExcludedR
14
15
  import { fetchExternalConnectionsEpic, } from './entity/tenant/epic/fetchExternalConnectionsEpic';
15
16
  import { fetchSubscriptionSummaryForTenantEpic, } from './entity/tenant/epic/fetchSubscriptionSummaryForTenantEpic';
16
17
  import { resendVerifyDeviceOTPEpic, } from './entity/tenant/epic/resendVerifyDeviceOTPEpic';
17
- import { deleteConnectionEpic } from './entity/tenant/epic/deleteConnectionEpic';
18
18
  import { saveAPIKeyConnectionEpic } from './entity/tenant/epic/saveAPIKeyConnectionEpic';
19
19
  import { saveConnectorCredentialsEpic } from './entity/tenant/epic/saveConnectorCredentialsEpic';
20
20
  import { saveExternalConnectionEpic, } from './entity/tenant/epic/saveExternalConnectionEpic';
@@ -188,6 +188,8 @@ import { saveTransactionCategorizationEpic as fetchExpenseAutomationSaveTransact
188
188
  import { triggerReviewTabRefetchEpic, } from './view/expenseAutomationView/epics/transactionCategorization/triggerReviewTabRefetchEpic';
189
189
  import { updateTransactionCategorizationEpic as fetchExpenseAutomationUpdateTransactionCategorizationEpic, } from './view/expenseAutomationView/epics/transactionCategorization/updateTransactionCategorizationEpic';
190
190
  import { uploadTransactionReceiptSuccessEpic, } from './view/expenseAutomationView/epics/transactionCategorization/uploadTransactionReceiptSuccessEpic';
191
+ import { fetchRegisteredInterestsEpic, } from './view/featureNotificationView/epics/fetchRegisteredInterestsEpic';
192
+ import { notifyMeForFeatureEpic, } from './view/featureNotificationView/epics/notifyMeForFeatureEpic';
191
193
  import { deleteFileEpic, } from './view/fileView/epic/deleteFileEpic';
192
194
  import { deleteFileListEpic, } from './view/fileView/epic/deleteFileListEpic';
193
195
  import { fetchFileEpic, } from './view/fileView/epic/fetchFileEpic';
@@ -213,8 +215,6 @@ import { fetchNotificationUnreadCountEpic, } from './view/notificationView/epics
213
215
  import { fetchNotificationViewEpic, } from './view/notificationView/epics/fetchNotificationViewEpic';
214
216
  import { updateNotificationViewAllNotificationsStatusEpic, } from './view/notificationView/epics/updateNotificationViewAllNotificationsStatusEpic';
215
217
  import { updateNotificationViewNotificationStatusEpic, } from './view/notificationView/epics/updateNotificationViewNotificationStatusEpic';
216
- import { fetchRegisteredInterestsEpic, } from './view/featureNotificationView/epics/fetchRegisteredInterestsEpic';
217
- import { notifyMeForFeatureEpic, } from './view/featureNotificationView/epics/notifyMeForFeatureEpic';
218
218
  import { fetchCompanyOnboardingViewEpic, } from './view/onboardingView/cockpitView/epic/fetchCompanyOnboardingViewEpic';
219
219
  import { fetchOnboardingCompletedCompaniesEpic, } from './view/onboardingView/cockpitView/epic/fetchOnboardingCompletedCompaniesEpic';
220
220
  import { fetchQBOConnectionPoolEpic, } from './view/onboardingView/cockpitView/epic/fetchQBOConnectionPoolEpic';
@@ -504,15 +504,18 @@ import { saveSubscriptionUpdatesEpic, } from './view/subscriptionView/epic/saveS
504
504
  import { createTagEpic, } from './view/tagView/epics/createTagEpic';
505
505
  import { deleteTagEpic, } from './view/tagView/epics/deleteTagEpic';
506
506
  import { fetchAllTagsEpic, } from './view/tagView/epics/fetchAllTagsEpic';
507
+ import { deleteCannedResponseEpic, } from './view/taskManager/cannedResponsesView/epics/deleteCannedResponseEpic';
508
+ import { fetchCannedResponsesEpic, } from './view/taskManager/cannedResponsesView/epics/fetchCannedResponsesEpic';
509
+ import { saveCannedResponseEpic, } from './view/taskManager/cannedResponsesView/epics/saveCannedResponseEpic';
507
510
  import { archiveTaskEpic, } from './view/taskManager/taskDetailView/epics/archiveTaskEpic';
508
511
  import { deleteTaskEpic, } from './view/taskManager/taskDetailView/epics/deleteTaskEpic';
509
- import { snoozeTaskEpic, } from './view/taskManager/taskDetailView/epics/snoozeTaskEpic';
510
- import { unsnoozeTaskEpic, } from './view/taskManager/taskDetailView/epics/unsnoozeTaskEpic';
511
512
  import { fetchTaskDetailEpic, } from './view/taskManager/taskDetailView/epics/fetchTaskDetailEpic';
512
513
  import { fetchTaskDetailPageEpic, } from './view/taskManager/taskDetailView/epics/fetchTaskDetailPageEpic';
513
514
  import { fetchTaskHistoryEpic, } from './view/taskManager/taskDetailView/epics/fetchTaskHistoryEpic';
514
515
  import { initializeTaskToLocalStoreEpic, } from './view/taskManager/taskDetailView/epics/initializeTaskToLocalStoreEpic';
515
516
  import { saveTaskDetailEpic, } from './view/taskManager/taskDetailView/epics/saveTaskDetailEpic';
517
+ import { snoozeTaskEpic, } from './view/taskManager/taskDetailView/epics/snoozeTaskEpic';
518
+ import { unsnoozeTaskEpic, } from './view/taskManager/taskDetailView/epics/unsnoozeTaskEpic';
516
519
  import { createTaskFromTaskGroupTemplateEpic, } from './view/taskManager/taskGroupTemplateView/epics/createTaskFromTaskGroupTemplateEpic';
517
520
  import { fetchTaskGroupTemplatesEpic, } from './view/taskManager/taskGroupTemplateView/epics/fetchTaskGroupTemplatesEpic';
518
521
  import { createNewTaskGroupEpic, } from './view/taskManager/taskGroupView/epics/createNewTaskGroupEpic';
@@ -524,9 +527,6 @@ import { dragNDropTasksEpic, } from './view/taskManager/taskListView/epics/dragN
524
527
  import { fetchTaskListEpic, } from './view/taskManager/taskListView/epics/fetchTaskListEpic';
525
528
  import { fetchTaskListPageEpic, } from './view/taskManager/taskListView/epics/fetchTaskListPageEpic';
526
529
  import { updateTaskFromListViewEpic, } from './view/taskManager/taskListView/epics/updateTaskFromListViewEpic';
527
- import { fetchCannedResponsesEpic, } from './view/taskManager/cannedResponsesView/epics/fetchCannedResponsesEpic';
528
- import { saveCannedResponseEpic, } from './view/taskManager/cannedResponsesView/epics/saveCannedResponseEpic';
529
- import { deleteCannedResponseEpic, } from './view/taskManager/cannedResponsesView/epics/deleteCannedResponseEpic';
530
530
  import { fetchTasksCardEpic, } from './view/tasksCard/fetchTasksCardEpic';
531
531
  import { fetchTopExEpic, } from './view/topEx/topExEpic';
532
532
  import { fetchTransactionActivityLogEpic, } from './view/transactionActivityLogView/fetchTransactionActivityLogEpic';
@@ -540,13 +540,13 @@ import { updateTransactionDetailEpic, } from './view/transactionDetail/epics/upd
540
540
  import { uploadMissingAttachmentSuccessEpic, } from './view/transactionDetail/epics/uploadMissingAttachmentSuccessEpic';
541
541
  import { fetchTransactionListByAccountEpic, } from './view/transactionList/fetchTransactionListByAccountEpic';
542
542
  import { fetchTransactionListByClassEpic, } from './view/transactionList/fetchTransactionListByClassEpic';
543
- import { fetchTransactionListByProjectEpic, } from './view/transactionList/fetchTransactionListByProjectEpic';
544
543
  import { fetchTransactionListByEntityEpic, } from './view/transactionList/fetchTransactionListByEntityEpic';
544
+ import { fetchTransactionListByProjectEpic, } from './view/transactionList/fetchTransactionListByProjectEpic';
545
545
  import { fetchTransactionsListByCategoryTypeEpic, } from './view/transactionList/fetchTransactionsListByCategoryTypeEpic';
546
546
  import { parallelFetchAccountTransactionListEpic, } from './view/transactionList/parallelFetchAccountTransactionListEpic';
547
547
  import { parallelFetchClassTransactionListEpic, } from './view/transactionList/parallelFetchClassTransactionListEpic';
548
- import { parallelFetchProjectTransactionListEpic, } from './view/transactionList/parallelFetchProjectTransactionListEpic';
549
548
  import { parallelFetchEntityTransactionListEpic, } from './view/transactionList/parallelFetchEntityTransactionListEpic';
549
+ import { parallelFetchProjectTransactionListEpic, } from './view/transactionList/parallelFetchProjectTransactionListEpic';
550
550
  import { parallelFetchTransactionListByCategoryTypeEpic, } from './view/transactionList/parallelFetchTransactionListByCategoryTypeEpic';
551
551
  import { fetchExpenseTrendEpic, } from './view/trend/fetchExpenseTrendEpic';
552
552
  import { fetchIncomeTrendEpic, } from './view/trend/fetchIncomeTrendEpic';