@zeniai/client-epic-state 5.1.4 → 5.1.5-betaJK1

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 (103) hide show
  1. package/lib/entity/company/companyPayload.d.ts +4 -0
  2. package/lib/entity/company/companyPayload.js +6 -0
  3. package/lib/entity/company/companyStateTypes.d.ts +7 -0
  4. package/lib/entity/paymentAccount/paymentAccountSelector.d.ts +1 -0
  5. package/lib/entity/paymentAccount/paymentAccountSelector.js +9 -0
  6. package/lib/entity/snackbar/snackbarTypes.d.ts +1 -1
  7. package/lib/entity/snackbar/snackbarTypes.js +1 -0
  8. package/lib/entity/task/taskPayload.d.ts +1 -0
  9. package/lib/entity/task/taskPayload.js +1 -0
  10. package/lib/entity/task/taskReducer.d.ts +5 -1
  11. package/lib/entity/task/taskReducer.js +8 -2
  12. package/lib/entity/task/taskState.d.ts +1 -0
  13. package/lib/entity/tenant/epic/deleteConnectionEpic.d.ts +1 -1
  14. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.d.ts +21 -0
  15. package/lib/entity/tenant/epic/initEmailConnectOAuthEpic.js +59 -0
  16. package/lib/entity/tenant/epic/saveAPIKeyConnectionEpic.d.ts +1 -1
  17. package/lib/entity/tenant/epic/saveConnectorCredentialsEpic.d.ts +3 -3
  18. package/lib/entity/tenant/epic/saveOAuthConnectionEpic.d.ts +1 -1
  19. package/lib/entity/tenant/tenantPayload.d.ts +1 -0
  20. package/lib/entity/tenant/tenantReducer.d.ts +38 -25
  21. package/lib/entity/tenant/tenantReducer.js +65 -5
  22. package/lib/entity/tenant/tenantState.d.ts +1 -0
  23. package/lib/epic.d.ts +8 -1
  24. package/lib/epic.js +9 -1
  25. package/lib/esm/entity/company/companyPayload.js +6 -0
  26. package/lib/esm/entity/paymentAccount/paymentAccountSelector.js +8 -0
  27. package/lib/esm/entity/snackbar/snackbarTypes.js +1 -0
  28. package/lib/esm/entity/task/taskPayload.js +1 -0
  29. package/lib/esm/entity/task/taskReducer.js +7 -1
  30. package/lib/esm/entity/tenant/epic/initEmailConnectOAuthEpic.js +55 -0
  31. package/lib/esm/entity/tenant/tenantReducer.js +63 -3
  32. package/lib/esm/epic.js +9 -1
  33. package/lib/esm/index.js +13 -9
  34. package/lib/esm/view/fileView/epic/deleteFileEpic.js +2 -2
  35. package/lib/esm/view/fileView/epic/deleteFileListEpic.js +2 -2
  36. package/lib/esm/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +40 -0
  37. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +29 -0
  38. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +40 -0
  39. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic.js +24 -18
  40. package/lib/esm/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.js +29 -17
  41. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewReducer.js +223 -51
  42. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewSelector.js +24 -12
  43. package/lib/esm/view/onboardingView/customerView/onboardingCustomerViewState.js +37 -6
  44. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +58 -0
  45. package/lib/esm/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +77 -0
  46. package/lib/esm/view/spendManagement/commonSetup/kycKybAutofillActions.js +14 -0
  47. package/lib/esm/view/spendManagement/commonSetup/kycKybParseMapper.js +207 -0
  48. package/lib/esm/view/spendManagement/commonSetup/setupViewReducer.js +106 -52
  49. package/lib/esm/view/spendManagement/commonSetup/setupViewSelector.js +6 -1
  50. package/lib/esm/view/spendManagement/commonSetup/types/kycKybAutofill.js +41 -0
  51. package/lib/esm/view/taskManager/taskDetailView/epics/createSubTaskEpic.js +80 -0
  52. package/lib/esm/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.js +36 -0
  53. package/lib/esm/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.js +13 -0
  54. package/lib/esm/view/taskManager/taskDetailView/taskDetailReducer.js +56 -2
  55. package/lib/esm/view/taskManager/taskDetailView/taskDetailSelector.js +19 -8
  56. package/lib/index.d.ts +17 -13
  57. package/lib/index.js +67 -35
  58. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +1 -1
  59. package/lib/view/fileView/epic/deleteFileEpic.js +1 -1
  60. package/lib/view/fileView/epic/deleteFileListEpic.js +1 -1
  61. package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.d.ts +7 -0
  62. package/lib/view/onboardingView/customerView/epic/aiAgentsActivation/fetchAiAgentsActivationStatusEpic.js +44 -0
  63. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.d.ts +8 -0
  64. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiActivationViewedEpic.js +33 -0
  65. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.d.ts +9 -0
  66. package/lib/view/onboardingView/customerView/epic/customerDetails/acknowledgeOnboardingAiFinanceTeamEpic.js +44 -0
  67. package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewEpic.js +24 -18
  68. package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.d.ts +2 -2
  69. package/lib/view/onboardingView/customerView/epic/customerDetails/updateOnboardingCustomerViewLocalStoreDataEpic.js +27 -15
  70. package/lib/view/onboardingView/customerView/onboardingCustomerViewPayload.d.ts +3 -0
  71. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.d.ts +44 -5
  72. package/lib/view/onboardingView/customerView/onboardingCustomerViewReducer.js +225 -52
  73. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.d.ts +6 -1
  74. package/lib/view/onboardingView/customerView/onboardingCustomerViewSelector.js +27 -12
  75. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.d.ts +52 -8
  76. package/lib/view/onboardingView/customerView/onboardingCustomerViewState.js +39 -7
  77. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.d.ts +28 -0
  78. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKybDocumentEpic.js +62 -0
  79. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.d.ts +9 -0
  80. package/lib/view/spendManagement/commonSetup/epic/setup/parseUploadedKycDocumentEpic.js +81 -0
  81. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.d.ts +24 -0
  82. package/lib/view/spendManagement/commonSetup/kycKybAutofillActions.js +17 -0
  83. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.d.ts +29 -0
  84. package/lib/view/spendManagement/commonSetup/kycKybParseMapper.js +215 -0
  85. package/lib/view/spendManagement/commonSetup/setupViewReducer.d.ts +28 -2
  86. package/lib/view/spendManagement/commonSetup/setupViewReducer.js +107 -53
  87. package/lib/view/spendManagement/commonSetup/setupViewSelector.d.ts +7 -2
  88. package/lib/view/spendManagement/commonSetup/setupViewSelector.js +6 -1
  89. package/lib/view/spendManagement/commonSetup/setupViewState.d.ts +19 -0
  90. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.d.ts +154 -0
  91. package/lib/view/spendManagement/commonSetup/types/kycKybAutofill.js +46 -0
  92. package/lib/view/taskManager/taskDetailView/epics/createSubTaskEpic.d.ts +9 -0
  93. package/lib/view/taskManager/taskDetailView/epics/createSubTaskEpic.js +84 -0
  94. package/lib/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.d.ts +8 -0
  95. package/lib/view/taskManager/taskDetailView/epics/fetchSubTasksEpic.js +40 -0
  96. package/lib/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.d.ts +2 -1
  97. package/lib/view/taskManager/taskDetailView/epics/fetchTaskDetailEpic.js +13 -0
  98. package/lib/view/taskManager/taskDetailView/taskDetail.d.ts +13 -0
  99. package/lib/view/taskManager/taskDetailView/taskDetailReducer.d.ts +14 -2
  100. package/lib/view/taskManager/taskDetailView/taskDetailReducer.js +57 -3
  101. package/lib/view/taskManager/taskDetailView/taskDetailSelector.d.ts +2 -1
  102. package/lib/view/taskManager/taskDetailView/taskDetailSelector.js +17 -6
  103. package/package.json +1 -1
@@ -0,0 +1,80 @@
1
+ import { from, of } from 'rxjs';
2
+ import { catchError, filter, mergeMap } from 'rxjs/operators';
3
+ import { convertHHMMStrToMinutes } from '../../../../commonStateTypes/fiscalYearHelpers/formatMinutesToFromHHMM';
4
+ import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
5
+ import { appendSubTaskId, updateTasks, } from '../../../../entity/task/taskReducer';
6
+ import { getTaskById } from '../../../../entity/task/taskSelector';
7
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
8
+ import { updateTaskListOnNewTaskCreationSuccess } from '../../taskListView/taskListReducer';
9
+ import { createSubTask, createSubTaskSuccessOrFailure, } from '../taskDetailReducer';
10
+ export const createSubTaskEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(createSubTask.match), mergeMap((action) => {
11
+ const state = state$.value;
12
+ const parentTask = getTaskById(state.taskState, action.payload.parentTaskId);
13
+ const parentTaskGroupId = parentTask?.taskGroupIds[0];
14
+ const isTaskListFetched = state.taskListState.fetchState === 'Completed';
15
+ const payload = prepareSubTaskPayload(action.payload, parentTaskGroupId);
16
+ return zeniAPI
17
+ .postAndGetJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks`, payload)
18
+ .pipe(mergeMap((response) => {
19
+ if (isSuccessResponse(response) &&
20
+ response.data != null &&
21
+ response.data.tasks.length > 0) {
22
+ const newTaskId = response.data.tasks[0].task_id;
23
+ const actions = [
24
+ updateTasks(response.data.tasks),
25
+ appendSubTaskId({
26
+ parentTaskId: action.payload.parentTaskId,
27
+ subTaskId: newTaskId,
28
+ }),
29
+ createSubTaskSuccessOrFailure({
30
+ fetchState: 'Completed',
31
+ newTaskId,
32
+ }),
33
+ openSnackbar({
34
+ messageSection: 'create_sub_task',
35
+ messageText: 'success',
36
+ type: 'success',
37
+ }),
38
+ ];
39
+ if (isTaskListFetched === true && parentTaskGroupId != null) {
40
+ actions.push(updateTaskListOnNewTaskCreationSuccess({
41
+ taskGroupId: parentTaskGroupId,
42
+ task: response.data.tasks[0],
43
+ }));
44
+ }
45
+ return from(actions);
46
+ }
47
+ else {
48
+ return of(createSubTaskSuccessOrFailure({
49
+ fetchState: 'Error',
50
+ error: response.status,
51
+ }), openSnackbar({
52
+ messageSection: 'create_sub_task',
53
+ messageText: 'failed',
54
+ type: 'error',
55
+ variables: [
56
+ {
57
+ variableName: '_api-error_',
58
+ variableValue: response.status.message,
59
+ },
60
+ ],
61
+ }));
62
+ }
63
+ }), catchError((error) => of(createSubTaskSuccessOrFailure({
64
+ fetchState: 'Error',
65
+ error: createZeniAPIStatus('Unexpected Error', 'Create Sub Task REST API call errored out' +
66
+ JSON.stringify(error)),
67
+ }))));
68
+ }));
69
+ const prepareSubTaskPayload = (subTask, parentTaskGroupId) => ({
70
+ name: subTask.name,
71
+ assignees: subTask.assignee,
72
+ description: subTask.description,
73
+ priority: subTask.priority,
74
+ status: subTask.status,
75
+ tags: subTask.tagIds,
76
+ time_spent: convertHHMMStrToMinutes(subTask.timeSpent),
77
+ group_assignees: subTask.groupAssignees,
78
+ parent_task_id: subTask.parentTaskId,
79
+ task_group_ids: parentTaskGroupId == null ? [] : [parentTaskGroupId],
80
+ });
@@ -0,0 +1,36 @@
1
+ import { of } from 'rxjs';
2
+ import { catchError, filter, mergeMap, switchMap } from 'rxjs/operators';
3
+ import { updateTasks } from '../../../../entity/task/taskReducer';
4
+ import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
5
+ import { fetchSubTasks, updateSubTasks, updateSubTasksFetchStatus, } from '../taskDetailReducer';
6
+ export const fetchSubTasksEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchSubTasks.match), switchMap((action) => {
7
+ const { parentTaskId } = action.payload;
8
+ const query = JSON.stringify({
9
+ task_type: 'subtasks',
10
+ parent_task_id: parentTaskId,
11
+ });
12
+ return zeniAPI
13
+ .getJSON(`${zeniAPI.apiEndPoints.taskMicroServiceBaseUrl}/1.0/task-manager/tasks?query=${encodeURIComponent(query)}`)
14
+ .pipe(mergeMap((response) => {
15
+ if (isSuccessResponse(response) && response.data != null) {
16
+ const { tasks } = response.data;
17
+ return of(updateTasks(tasks), updateSubTasks({
18
+ parentTaskId,
19
+ }));
20
+ }
21
+ else {
22
+ return of(updateSubTasksFetchStatus({
23
+ parentTaskId,
24
+ fetchState: 'Error',
25
+ error: response.status,
26
+ }));
27
+ }
28
+ }), catchError((error) => {
29
+ return of(updateSubTasksFetchStatus({
30
+ parentTaskId,
31
+ fetchState: 'Error',
32
+ error: createZeniAPIStatus('Unexpected Error', 'Fetch Sub Tasks REST API call errored out' +
33
+ JSON.stringify(error)),
34
+ }));
35
+ }));
36
+ }));
@@ -4,13 +4,16 @@ import { catchError, filter, mergeMap } from 'rxjs/operators';
4
4
  import { openSnackbar } from '../../../../entity/snackbar/snackbarReducer';
5
5
  import { updateTags } from '../../../../entity/tag/tagReducer';
6
6
  import { updateTasks } from '../../../../entity/task/taskReducer';
7
+ import { getTaskById } from '../../../../entity/task/taskSelector';
7
8
  import { createZeniAPIStatus, isSuccessResponse, } from '../../../../responsePayload';
8
9
  import { fetchFileList } from '../../../fileView/fileViewReducer';
10
+ import { updateTaskListOnNewTaskCreationSuccess } from '../../taskListView/taskListReducer';
9
11
  import { fetchTaskDetail, initializeTaskToLocalStore, removeTaskDetail, updateEditTaskFetchStatus, } from '../taskDetailReducer';
10
12
  export const fetchTaskDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe(filter(fetchTaskDetail.match), mergeMap((action) => {
11
13
  const { taskId, cacheOverride } = action.payload;
12
14
  const taskActions = [];
13
15
  const state = state$.value;
16
+ const isTaskListFetched = state.taskListState.fetchState === 'Completed';
14
17
  const taskDetail = recordGet(state.taskDetailState.editTaskStateById, taskId, undefined);
15
18
  if (cacheOverride === true) {
16
19
  taskActions.push(removeTaskDetail(taskId));
@@ -32,6 +35,16 @@ export const fetchTaskDetailEpic = (actions$, state$, zeniAPI) => actions$.pipe(
32
35
  updateTags(response.data.tasks.map((task) => task.tags).flat()),
33
36
  initializeTaskToLocalStore(taskId),
34
37
  ];
38
+ if (isTaskListFetched === true) {
39
+ const taskGroupId = response.data.tasks[0].task_group_ids?.[0];
40
+ if (taskGroupId != null) {
41
+ fetchActions.push(updateTaskListOnNewTaskCreationSuccess({
42
+ taskGroupId,
43
+ task: response.data.tasks[0],
44
+ currentTaskState: getTaskById(state.taskState, taskId),
45
+ }));
46
+ }
47
+ }
35
48
  const fileIds = response.data.tasks[0].file_ids;
36
49
  if (fileIds.length > 0) {
37
50
  fetchActions.push(fetchFileList(fileIds));
@@ -6,6 +6,11 @@ import { initialTaskDetail, } from './taskDetail';
6
6
  export const initialState = {
7
7
  newTaskState: initialTaskDetail,
8
8
  editTaskStateById: {},
9
+ subTaskCreateStatus: {
10
+ fetchState: 'Not-Started',
11
+ error: undefined,
12
+ },
13
+ subTaskListFetchStatusByParentId: {},
9
14
  taskHistoryById: {},
10
15
  };
11
16
  const taskDetailView = createSlice({
@@ -50,7 +55,7 @@ const taskDetailView = createSlice({
50
55
  updateEditTaskFetchStatus(draft, action) {
51
56
  const { taskId, fetchState, error } = action.payload;
52
57
  draft.editTaskStateById[taskId] = {
53
- ...draft.editTaskStateById[taskId],
58
+ ...(draft.editTaskStateById[taskId] ?? initialTaskDetail),
54
59
  fetchTaskStatus: {
55
60
  fetchState,
56
61
  error: fetchState === 'Error' ? error : undefined,
@@ -318,10 +323,59 @@ const taskDetailView = createSlice({
318
323
  error,
319
324
  };
320
325
  },
326
+ createSubTask: {
327
+ reducer(draft) {
328
+ draft.subTaskCreateStatus = {
329
+ fetchState: 'In-Progress',
330
+ error: undefined,
331
+ };
332
+ },
333
+ prepare(payload) {
334
+ return { payload };
335
+ },
336
+ },
337
+ createSubTaskSuccessOrFailure(draft, action) {
338
+ const { fetchState, error } = action.payload;
339
+ draft.subTaskCreateStatus = {
340
+ fetchState,
341
+ error,
342
+ };
343
+ },
344
+ resetSubTaskCreateStatus(draft) {
345
+ draft.subTaskCreateStatus = {
346
+ ...initialState.subTaskCreateStatus,
347
+ };
348
+ },
349
+ fetchSubTasks: {
350
+ reducer(draft, action) {
351
+ const { parentTaskId } = action.payload;
352
+ draft.subTaskListFetchStatusByParentId[parentTaskId] = {
353
+ fetchState: 'In-Progress',
354
+ error: undefined,
355
+ };
356
+ },
357
+ prepare(parentTaskId) {
358
+ return { payload: { parentTaskId } };
359
+ },
360
+ },
361
+ updateSubTasks(draft, action) {
362
+ const { parentTaskId } = action.payload;
363
+ draft.subTaskListFetchStatusByParentId[parentTaskId] = {
364
+ fetchState: 'Completed',
365
+ error: undefined,
366
+ };
367
+ },
368
+ updateSubTasksFetchStatus(draft, action) {
369
+ const { parentTaskId, fetchState, error } = action.payload;
370
+ draft.subTaskListFetchStatusByParentId[parentTaskId] = {
371
+ fetchState,
372
+ error,
373
+ };
374
+ },
321
375
  clearTaskDetail(draft) {
322
376
  Object.assign(draft, initialState);
323
377
  },
324
378
  },
325
379
  });
326
- export const { fetchTaskDetailPage, fetchTaskDetail, initializeTaskToLocalStore, updateEditTaskFetchStatus, saveTaskUpdatesToLocalStore, discardTaskUpdatesInLocalStore, saveTaskDetail, archiveTask, archiveTaskSuccessOrFailure, saveTaskSuccessOrFailure, deleteTask, removeTaskDetail, deleteTaskSuccessOrFailure, snoozeTask, snoozeTaskSuccessOrFailure, unsnoozeTask, fetchTaskHistory, updateTaskHistory, updateTaskHistoryFetchStatus, clearTaskDetail, updateCreatedTagToLocalStore, updateDeletedTagToLocalStore, } = taskDetailView.actions;
380
+ export const { fetchTaskDetailPage, fetchTaskDetail, initializeTaskToLocalStore, updateEditTaskFetchStatus, saveTaskUpdatesToLocalStore, discardTaskUpdatesInLocalStore, saveTaskDetail, archiveTask, archiveTaskSuccessOrFailure, saveTaskSuccessOrFailure, createSubTask, createSubTaskSuccessOrFailure, resetSubTaskCreateStatus, fetchSubTasks, updateSubTasks, updateSubTasksFetchStatus, deleteTask, removeTaskDetail, deleteTaskSuccessOrFailure, snoozeTask, snoozeTaskSuccessOrFailure, unsnoozeTask, fetchTaskHistory, updateTaskHistory, updateTaskHistoryFetchStatus, clearTaskDetail, updateCreatedTagToLocalStore, updateDeletedTagToLocalStore, } = taskDetailView.actions;
327
381
  export default taskDetailView.reducer;
@@ -1,8 +1,8 @@
1
1
  import isEqual from 'lodash/isEqual';
2
- import { reduceFetchState } from '../../../commonStateTypes/reduceFetchState';
2
+ import { reduceAnyFetchState } from '../../../commonStateTypes/reduceFetchState';
3
3
  import { getClassesByIds } from '../../../entity/class/classSelector';
4
4
  import { getFilesByFileIds } from '../../../entity/file/fileSelector';
5
- import { getTaskById } from '../../../entity/task/taskSelector';
5
+ import { getTaskById, getTasksByIds } from '../../../entity/task/taskSelector';
6
6
  import { getUserAndUserRole, } from '../../companyView/types/userAndRole';
7
7
  import { getFileDeleteStatusById, getFileUpdateNameStatusById, } from '../../fileView/fileViewSelector';
8
8
  import { getUserList, } from '../../userListView/userListViewSelector';
@@ -27,8 +27,13 @@ export const getTaskDetail = (state, taskId) => {
27
27
  let recurringSourceTaskId = undefined;
28
28
  let snoozedUntil = undefined;
29
29
  let taskGroupId = undefined;
30
+ let subtasks = [];
30
31
  if (taskId != null && sourceTaskDetail != null) {
31
32
  const taskEntity = getTaskById(taskState, taskId);
33
+ subtasks =
34
+ taskEntity != null
35
+ ? getTasksByIds(taskState, taskEntity.subTasksIds)
36
+ : [];
32
37
  const fileIdsInEntity = taskEntity?.fileIds ?? [];
33
38
  if (taskEntity != null) {
34
39
  createdByUser = getUserAndUserRole(userState, userRoleState, addressState, taskEntity.createdBy);
@@ -39,25 +44,27 @@ export const getTaskDetail = (state, taskId) => {
39
44
  taskGroupId = taskEntity.taskGroupIds[0];
40
45
  }
41
46
  if (fileIdsInEntity.length > 0) {
42
- fetchStatus = reduceFetchState([
47
+ fetchStatus = reduceAnyFetchState([
43
48
  fileViewState.fetchFilesStatus,
44
49
  sourceTaskDetail.fetchTaskStatus,
45
50
  userList,
46
51
  classListState,
52
+ taskDetailState.subTaskListFetchStatusByParentId[taskId] ?? fetchStatus,
47
53
  ]);
48
54
  }
49
55
  else {
50
- fetchStatus = reduceFetchState([
56
+ fetchStatus = reduceAnyFetchState([
51
57
  sourceTaskDetail.fetchTaskStatus,
52
58
  userList,
53
59
  classListState,
60
+ taskDetailState.subTaskListFetchStatusByParentId[taskId] ?? fetchStatus,
54
61
  ]);
55
62
  }
56
63
  showTaskDetailFormFooter = showFormFooter(sourceTaskDetail.taskDetailLocalData, taskEntity);
57
64
  taskHistory = taskDetailState.taskHistoryById[taskId]?.historicEvents ?? [];
58
65
  }
59
66
  else if (taskId == null) {
60
- fetchStatus = reduceFetchState([userList, classListState]);
67
+ fetchStatus = reduceAnyFetchState([userList, classListState]);
61
68
  }
62
69
  const { classIds } = classListState;
63
70
  const allAccountingClasses = getClassesByIds(classState, {
@@ -90,6 +97,7 @@ export const getTaskDetail = (state, taskId) => {
90
97
  showTaskDetailFormFooter,
91
98
  snoozedUntil,
92
99
  taskGroupId,
100
+ subtasks,
93
101
  };
94
102
  };
95
103
  export const allTaskStatus = [
@@ -137,13 +145,16 @@ export const allTaskPriority = [
137
145
  },
138
146
  ];
139
147
  const showFormFooter = (taskDetailLocalData, taskDetailInStore) => {
140
- if (taskDetailLocalData.name !== taskDetailInStore?.name ||
148
+ if (taskDetailInStore == null) {
149
+ return false;
150
+ }
151
+ if (taskDetailLocalData.name !== taskDetailInStore.name ||
141
152
  taskDetailLocalData.description !== taskDetailInStore.description ||
142
153
  taskDetailLocalData.priority !== taskDetailInStore.priority.code ||
143
154
  taskDetailLocalData.status !== taskDetailInStore.status.code ||
144
155
  !isEqual(taskDetailInStore.tagIds, taskDetailLocalData.tagIds) ||
145
- !isEqual(taskDetailLocalData.assignee, taskDetailInStore?.assignees ?? []) ||
146
- !isEqual(taskDetailLocalData.groupAssignees, taskDetailInStore?.groupAssignees ?? []) ||
156
+ !isEqual(taskDetailLocalData.assignee, taskDetailInStore.assignees ?? []) ||
157
+ !isEqual(taskDetailLocalData.groupAssignees, taskDetailInStore.groupAssignees ?? []) ||
147
158
  !isEqual(taskDetailLocalData.fileIds, taskDetailInStore.fileIds ?? []) ||
148
159
  !isEqual(taskDetailLocalData.dueDate, taskDetailInStore.dueDate) ||
149
160
  !isEqual(taskDetailLocalData.type, taskDetailInStore.type) ||
package/lib/index.d.ts CHANGED
@@ -70,7 +70,7 @@ import { updateChargeCardTransactionAttachments } from './entity/chargeCardTrans
70
70
  import { updateChargeCardTransactionFromPusher, updateChargeCardTransactionReceiptFromPusher, updateChargeCardTransactionStatusFromPusher } from './entity/chargeCardTransaction/chargeCardTransactionReducer';
71
71
  import { getControllersName, getFirstControllerEmail, getFirstControllerId } from './entity/company/companyHelper';
72
72
  import { CompanyWithSchema, ControllerUserDetails, getCompanyByCompanyId, getCompanyInfoForAllCockpitCompaniesInState, getControllersForCompany } from './entity/company/companySelector';
73
- import { ALL_ACCOUNTING_CONNECTION_CREATION_MODES, AccountingConnectionCreationMode, Company, CompanyBillPayInfo, CompanyChargeCardInfo, CompanyConfigInfo, CompanyDebitCardInfo, CompanyFeaturesActivationInfo, CompanyIncInfo, CompanyInfo, CompanyLocaleInfo, CompanyManagementInfo, CompanyManagementUserRole, CompanyMileageConfigInfo, CompanyQuestionaire, CompanyReimbursementInfo, CompanyTaxInfo, CompanyZeniAccountInfo, IdentityVerificationStatus, OnboardingIdentityVerficationStatus, OnboardingInfo, OnboardingStepInfo, OnboardingStepsInfo, ParentSubsidiaryInfo, UserReimbursementInfo, isCompanyEligibleForTreasury } from './entity/company/companyStateTypes';
73
+ import { ALL_ACCOUNTING_CONNECTION_CREATION_MODES, AccountingConnectionCreationMode, Company, CompanyBillPayInfo, CompanyChargeCardInfo, CompanyConfigInfo, CompanyDebitCardInfo, CompanyFeaturesActivationInfo, CompanyIncInfo, CompanyInfo, CompanyLocaleInfo, CompanyManagementInfo, CompanyManagementUserRole, CompanyMileageConfigInfo, CompanyOnboardingAiActivationInfo, CompanyQuestionaire, CompanyReimbursementInfo, CompanyTaxInfo, CompanyZeniAccountInfo, IdentityVerificationStatus, OnboardingIdentityVerficationStatus, OnboardingInfo, OnboardingStepInfo, OnboardingStepsInfo, ParentSubsidiaryInfo, UserReimbursementInfo, isCompanyEligibleForTreasury } from './entity/company/companyStateTypes';
74
74
  import { updateCompaniesHealth, updateCompanyHealth } from './entity/companyHealthMetric/companyHealthMetricReducer';
75
75
  import { AdditionalChurnFactor, AdditionalChurnFactors, CompanyHealthMetric, CompanyRunway, LastEngagement, VerticalProductServices } from './entity/companyHealthMetric/companyHealthMetricState';
76
76
  import { ConnectedAccount } from './entity/connectedAccount/connectedAccount';
@@ -105,6 +105,7 @@ import { updateCommentsNotifications, updateCommentsNotificationsStatuses } from
105
105
  import { NotificationWithAuthors } from './entity/notification/types/notificationSelectorTypes';
106
106
  import { Notification, NotificationActivity, NotificationEventData, NotificationMetaData, NotificationUpdates, NotificationValueFormat } from './entity/notification/types/notificationStateTypes';
107
107
  import { ExternalNotificationData, NotificationActivityType, NotificationGroup, NotificationIdentifierType, NotificationMode, NotificationStatus, NotificationUpdateValue, toNotificationModeStrict } from './entity/notification/types/notificationTypes';
108
+ import { getPlaidPaymentAccounts } from './entity/paymentAccount/paymentAccountSelector';
108
109
  import { Logo, PaymentAccount, VERIFIED_PAYMENT_ACCOUNT_PROVIDER_VERIFICATION_STATUS } from './entity/paymentAccount/paymentAccountState';
109
110
  import { PaymentInstrument } from './entity/paymentInstrument/paymentInstrument';
110
111
  import { AccountingSummary, Runway } from './entity/portfolio/accountingSummary/accountingSummaryState';
@@ -131,7 +132,7 @@ import { ALL_WEEK_DAYS, DayOfWeek, PriorityCodeType, Task, TaskCodeType, TaskPri
131
132
  import { getTaskGroupById } from './entity/taskGroup/taskGroupSelector';
132
133
  import { TaskGroupState } from './entity/taskGroup/taskGroupState';
133
134
  import { TaskGroupTemplate } from './entity/taskGroupTemplate/taskGroupTemplateState';
134
- import { DoSignInPayload, clearAll, deleteConnection, doMagicLinkSignIn, doSignIn, doSignOut, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, saveAPIKeyConnection, saveConnectorCredentials, saveExternalConnection as saveExternalConnectionForTenant, saveOAuthConnection, sendEmailMagicLinkToUser, sendSessionHeartbeat, toExternalIntegrationType, toExternalSupportedTool, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA } from './entity/tenant/tenantReducer';
135
+ import { DoSignInPayload, clearAll, deleteConnection, doMagicLinkSignIn, doSignIn, doSignOut, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, initEmailConnectOAuth, resendVerifyDeviceOTP, resetSignInState, saveAPIKeyConnection, saveConnectorCredentials, saveExternalConnection as saveExternalConnectionForTenant, saveOAuthConnection, sendEmailMagicLinkToUser, sendSessionHeartbeat, toExternalIntegrationType, toExternalSupportedTool, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA } from './entity/tenant/tenantReducer';
135
136
  import { CurrentTenant, TenantBaseView, TenantCoreDetailsView, TenantView, TenantsBaseOrdered, TenantsOrdered, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView } from './entity/tenant/tenantSelector';
136
137
  import { CapitalizableAccount, CapitalizableAccounts, CapitalizableClassificationType, CapitalizableMatchPattern, Connection, LoggedInUser, RoleResource, Tenant, TenantProductSettings } from './entity/tenant/tenantState';
137
138
  import { ToastNotificationPayload } from './entity/toastNotification/toastNotificationPayload';
@@ -340,9 +341,9 @@ import { clearOnboardingCustomerViewUpdateData, fetchCompanyOnboardingView, fetc
340
341
  import { NewOnboardingCustomerLocalData, NewOnboardingCustomerView, OnboardingCockpitView, ProductInfo, getNewOnboardingCustomerView, getOnboardingCockpitView } from './view/onboardingView/cockpitView/onboardingCockpitViewSelector';
341
342
  import { OnboardingCustomerListUIState, QBOConnectionPool } from './view/onboardingView/cockpitView/onboardingCockpitViewState';
342
343
  import { CustomerCreationStatus, NewOnboardingCustomer, OnboardingCompanyDetails, OnboardingCustomer, OnboardingCustomerCompletedStatus, ProductGroupType, ProductType, toProductType, toProductTypeStrict } from './view/onboardingView/cockpitView/types/onboardingCockpitViewTypes';
343
- import { clearOnboardingCustomerView, clearOnboardingCustomerViewDataInLocalStore, establishOnboardingPlaidConnection, fetchOnboardingCustomerSetupView, fetchOnboardingCustomerView, getOnboardingPlaidLinkToken, saveOnboardingCompnayOfficerPhoneInLocalStore, saveOnboardingCustomerViewDataInLocalStore, updateCurrentStep, updateOnboardingCustomerView, updateOnboardingCustomerViewAccountDetails, updateOnboardingCustomerViewCompleteStatus, updateOnboardingCustomerViewDashboardLoaded, updateOnboardingCustomerViewLocalStoreData, updateOnboardingCustomerViewUIState, updateOnboardingPaymentAccountLoginStatus, updateOnboardingPaymentAccountStatus } from './view/onboardingView/customerView/onboardingCustomerViewReducer';
344
- import { OnboardingCustomerView, getOnboardingCustomerView, getProductSettingsString } from './view/onboardingView/customerView/onboardingCustomerViewSelector';
345
- import { OnboardingCustomerViewLocalData, OnboardingCustomerViewUIState, OnboardingStep } from './view/onboardingView/customerView/onboardingCustomerViewState';
344
+ import { acknowledgeOnboardingAiActivationViewed, acknowledgeOnboardingAiFinanceTeam, aiAgentsActivationCountsUpdated, aiAgentsActivationPhaseChanged, applyKybDocumentAutofillForOnboarding, applyKycDocumentAutofillForOnboarding, clearKycKybAutofillForOnboarding, clearOnboardingCustomerView, clearOnboardingCustomerViewDataInLocalStore, establishOnboardingPlaidConnection, fetchAiAgentsActivationStatus, fetchOnboardingCustomerSetupView, fetchOnboardingCustomerView, getOnboardingPlaidLinkToken, saveOnboardingCompnayOfficerPhoneInLocalStore, saveOnboardingCustomerViewDataInLocalStore, updateCurrentStep, updateCurrentSubStep, updateOnboardingCustomerView, updateOnboardingCustomerViewAccountDetails, updateOnboardingCustomerViewCompleteStatus, updateOnboardingCustomerViewDashboardLoaded, updateOnboardingCustomerViewLocalStoreData, updateOnboardingCustomerViewUIState, updateOnboardingPaymentAccountLoginStatus, updateOnboardingPaymentAccountStatus } from './view/onboardingView/customerView/onboardingCustomerViewReducer';
345
+ import { OnboardingCustomerView, getAiAgentsActivationCounts, getAiAgentsActivationPhases, getAiAgentsActivationSubview, getOnboardingCustomerView, getProductSettingsString } from './view/onboardingView/customerView/onboardingCustomerViewSelector';
346
+ import { ALL_ONBOARDING_STEPS, ALL_ONBOARDING_SUB_STEPS, AiAgentsActivationCounts, AiAgentsActivationPhase, AiAgentsActivationPhaseStatus, AiAgentsActivationSubview, OnboardingCustomerViewLocalData, OnboardingCustomerViewUIState, OnboardingStep, OnboardingSubStep, toOnboardingStepType, toOnboardingSubStepType } from './view/onboardingView/customerView/onboardingCustomerViewState';
346
347
  import { fetchOpEx, fetchOpExWithForecast, updateOpExCOABalancesRange, updateOpExDownloadState, updateOpExUIState } from './view/opEx/opExReducer';
347
348
  import { getOperatingExpensesForHighlightedRange, getOperatingExpensesForSelectedRange, getOperatingExpensesReport, getOperatingExpensesReportFetchState, getOperatingExpensesUIState } from './view/opEx/opExSelector';
348
349
  import { OpExReport, OpExUIStateSelectorView } from './view/opEx/opExSelectorTypes';
@@ -486,7 +487,8 @@ import { ActiveChargeCardCount, ActiveDebitCardCount, ActiveDebitCardCountByUser
486
487
  import { toIssueChargeCardLocalDataFromDraft } from './view/spendManagement/chargeCards/issueChargeCard/toIssueChargeCardLocalDataFromDraft';
487
488
  import { CommonHistoryView, HistoricEvent, HistoricEventUpdate } from './view/spendManagement/commonHistoryView/commonHistory';
488
489
  import { ActivityHistorySelectorView } from './view/spendManagement/commonHistoryView/commonHistorySelector';
489
- import { clearSetupViewDataInLocalStore, enableSetup, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveIndustryAndIncDateInLocalStore, saveSetupViewDataInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, updateBusinessVerificationDetails, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData } from './view/spendManagement/commonSetup/setupViewReducer';
490
+ import { parseUploadedKybDocument, parseUploadedKycDocument } from './view/spendManagement/commonSetup/kycKybAutofillActions';
491
+ import { applyKybDocumentAutofillForSetup, applyKycDocumentAutofillForSetup, clearKycKybAutofillForSetup, clearSetupViewDataInLocalStore, enableSetup, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveIndustryAndIncDateInLocalStore, saveSetupViewDataInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, updateBusinessVerificationDetails, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData } from './view/spendManagement/commonSetup/setupViewReducer';
490
492
  import { BusinessVerificationDetails, CompanyDetails, CompanyOfficersDetails, FundingAccount, SetupView, getBusinessVerificationDetails, getCommonSetupViewDetails } from './view/spendManagement/commonSetup/setupViewSelector';
491
493
  import { SetupViewLocalData, SetupViewState } from './view/spendManagement/commonSetup/setupViewState';
492
494
  import { COMPANY_ONBOARDING_INDUSTRY_TYPE_CODES, COMPANY_ONBOARDING_SUB_INDUSTRY_CODES_BY_INDUSTRY, COMPANY_PURPOSE_OF_ACCOUNT_CODES, COMPANY_SOURCE_OF_FUNDS_CODES, COMPANY_TRANSACTION_VOLUME_CODES, COMPANY_US_NEXUS_TYPE_CODES, CompanyOnboardingIndustryTypeCode, CompanyOnboardingSubIndustryTypeCode, CompanyPurposeOfAccountCode, CompanySourceOfFundsCode, CompanyTransactionVolumeCode, CompanyUsNexusTypeCode, getCompanyOnboardingSubIndustryCodesForIndustry } from './view/spendManagement/commonSetup/types/businessVerification';
@@ -559,8 +561,8 @@ import { TagViewState } from './view/tagView/tagViewState';
559
561
  import { CannedResponse, CannedResponsesViewState } from './view/taskManager/cannedResponsesView/cannedResponses';
560
562
  import { deleteCannedResponse, fetchCannedResponses, saveCannedResponse } from './view/taskManager/cannedResponsesView/cannedResponsesReducer';
561
563
  import { getCannedResponsesView } from './view/taskManager/cannedResponsesView/cannedResponsesSelector';
562
- import { EditTaskLocalData, initialTaskDetail, initialTaskDetailLocalData } from './view/taskManager/taskDetailView/taskDetail';
563
- import { archiveTask, deleteTask, discardTaskUpdatesInLocalStore, fetchTaskDetailPage, saveTaskDetail, saveTaskUpdatesToLocalStore, snoozeTask, unsnoozeTask } from './view/taskManager/taskDetailView/taskDetailReducer';
564
+ import { CreateSubTaskPayload, EditTaskLocalData, initialTaskDetail, initialTaskDetailLocalData } from './view/taskManager/taskDetailView/taskDetail';
565
+ import { archiveTask, createSubTask, deleteTask, discardTaskUpdatesInLocalStore, fetchSubTasks, fetchTaskDetailPage, resetSubTaskCreateStatus, saveTaskDetail, saveTaskUpdatesToLocalStore, snoozeTask, unsnoozeTask } from './view/taskManager/taskDetailView/taskDetailReducer';
564
566
  import { TaskDetailSelectorView, allTaskPriority, allTaskStatus, getTaskDetail } from './view/taskManager/taskDetailView/taskDetailSelector';
565
567
  import { createTaskFromTaskGroupTemplate } from './view/taskManager/taskGroupTemplateView/taskGroupTemplateViewReducer';
566
568
  import { createNewTaskGroup, deleteTaskGroup, fetchAllTaskGroups, updateTaskGroupName } from './view/taskManager/taskGroupView/taskGroupViewReducer';
@@ -680,7 +682,7 @@ export { TimeframeTick, TimeframeTickWithMetaData, toTimeframeTick, mapTimePerio
680
682
  export { VendorSpendTrendFilterTabType, toVendorSpendTrendFilterTabsTypeStrict, } from './entity/vendorExpense/vendorExpenseSelector';
681
683
  export { getNumberOfPeriods };
682
684
  export { SCHEDULE_DAYS_OF_MONTH, ScheduleDaysOfMonth, toScheduleDaysOfMonth, Day, Month, toMonth, toMonthStrict, Quarter, toQuarter, toQuarterStrict, AbsoluteDay, TimePeriod, };
683
- export { CapitalizableAccount, CapitalizableAccounts, CapitalizableClassificationType, CapitalizableMatchPattern, Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, DoSignInPayload, doSignOut, sendSessionHeartbeat, resetSignInState, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, deleteConnection, saveAPIKeyConnection, saveConnectorCredentials, saveOAuthConnection, toExternalIntegrationType, toExternalSupportedTool, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
685
+ export { CapitalizableAccount, CapitalizableAccounts, CapitalizableClassificationType, CapitalizableMatchPattern, Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, DoSignInPayload, doSignOut, sendSessionHeartbeat, resetSignInState, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, deleteConnection, saveAPIKeyConnection, saveConnectorCredentials, saveOAuthConnection, initEmailConnectOAuth, toExternalIntegrationType, toExternalSupportedTool, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
684
686
  export { Account, AccountType, AccountBase, StatementCloseDay, toAccountType, AccountReport, NestedAccountReport, AccountWithBalanceReport, AccountGroup, AccountGroupReportV2, AccountGroupType, toAccountGroupType, AccountGroupReport, getAccountGroupKey, AccountGroupKey, RecommendedAccountBase, AccountFilterOption, getAllAccounts, getTransactionFilterAccountOptions, };
685
687
  export { Class, ClassBase, RecommendedClassBase, } from './entity/class/classState';
686
688
  export { ClassFilterOption, getAllClasses, getClassById, getClassFilterOptions, } from './entity/class/classSelector';
@@ -766,7 +768,7 @@ export { SubscriptionAddOn, SubscriptionAddOnWithSchema, SubscriptionAddOnSchema
766
768
  export { SubscriptionCoupon, SubscriptionCouponSchemaKeys };
767
769
  export { SubscriptionPlan, SubscriptionPlanSchemaKeys };
768
770
  export { SubscriptionSummary, SubscriptionSummarySchemaKeys };
769
- export { CompanyInfo, CompanyLocaleInfo, CompanyIncInfo, CompanyTaxInfo, CompanyQuestionaire, CompanyManagementInfo, CompanyManagementUserRole, Company, ParentSubsidiaryInfo, CompanyConfigInfo, CompanyReimbursementInfo, CompanyZeniAccountInfo, CompanyBillPayInfo, CompanyChargeCardInfo, CompanyDebitCardInfo, CompanyFeaturesActivationInfo, CompanyMileageConfigInfo, UserReimbursementInfo, OnboardingInfo, OnboardingStepsInfo, OnboardingStepInfo, AccountingConnectionCreationMode, ALL_ACCOUNTING_CONNECTION_CREATION_MODES, OnboardingIdentityVerficationStatus, IdentityVerificationStatus, isCompanyEligibleForTreasury, };
771
+ export { CompanyInfo, CompanyLocaleInfo, CompanyIncInfo, CompanyTaxInfo, CompanyQuestionaire, CompanyManagementInfo, CompanyManagementUserRole, Company, ParentSubsidiaryInfo, CompanyConfigInfo, CompanyReimbursementInfo, CompanyZeniAccountInfo, CompanyBillPayInfo, CompanyChargeCardInfo, CompanyDebitCardInfo, CompanyFeaturesActivationInfo, CompanyMileageConfigInfo, CompanyOnboardingAiActivationInfo, UserReimbursementInfo, OnboardingInfo, OnboardingStepsInfo, OnboardingStepInfo, AccountingConnectionCreationMode, ALL_ACCOUNTING_CONNECTION_CREATION_MODES, OnboardingIdentityVerficationStatus, IdentityVerificationStatus, isCompanyEligibleForTreasury, };
770
772
  export { getCompanyByCompanyId, CompanyWithSchema, getControllersForCompany, getCompanyInfoForAllCockpitCompaniesInState, ControllerUserDetails, getFirstControllerEmail, getFirstControllerId, getControllersName, };
771
773
  export type { ZeniUsersResponse } from './view/companyView/companyViewPayload';
772
774
  export { CompanyView };
@@ -810,7 +812,7 @@ export { AccountListSelectorView, ClassListSelectorView, getClassList, fetchClas
810
812
  export { BillTab, BillsSubTabType, SaveBillStageCode, BillPayReviewSelectorView, DuplicateBillsSelectorView, EditBillDetailSelectorView, LineItemRecommendationsLocalData, EditBillInitialDetails, BillableStatus, PaymentDetailsSection, BillListReport, BillListDownloadReport, WhatForSection, fetchBillList, fetchBillListPerTab, updateTab, updateSubTab, updateSelectedBillId, updateBillDetailSaveBillCode, fetchVendorByNameAndParseInvoice, saveBillUpdatesToLocalStore, discardBillUpdatesInLocalStore, saveBillDetail, approveOrRejectBill, updateApprovalStatusOnSuccess, deleteBill, cancelAndDeleteBill, retryOrRefundBill, getBillList, getBillDownloadList, BillDetailViewSelector, ActorActivityWithUser, BillActivity, StepWithStatus, getBillDetailView, checkApproveRejectBtnShowForBill, BillDetailView, getBillTransactionDetailKey, fetchBillDetail, fetchEditBillDetailPage, fetchAndUpdateVendorRecommendations, fetchDuplicateBill, clearBillPayReview, EditBillDetail, EditBillDetailViewState, getEditBillDetail, getReviewPageBillDetail, BillDetailLocalData, PaymentDetailsSectionView, fetchBillAndInitializeLocalStore, updateShowAutofill, saveVendorSuccessOrFailure, BillPaymentStatus, BillPaymentStatusCodeType, BillPaymentRefundStatus, BillPaymentRefundStatusCodeType, BillStatus, BillStatusCodeType, BillApprovalType, updateBillListUIState, BillListUIState, BillPayViewSortKey, BillPayFilters, BillPayFilterCategory, BillListViewFilterCategoryField, BILL_PAY_FILTER_CATEGORIES, updateVendorDetailLocalData, resetVendorDetailLocalData, resetVendorSaveStatus, updateContactsInVendorDetailLocalData, updateVendorTabDetailUIState, updateContactsInVendorTabDetailLocalData, updateBillUploadFetchState, updateBillListSearchResult, fetchUserDetails, verifyUser, updateVendorContact, PaymentToOption, toPaymentToOption, convertAmountToHomeCurrency, RecurringBillInstance, RecurringBillConfigLocalData, EditRecurringBillType, fetchVendorAndUpdateBillLocalData, markBillForRetry, updateWithdrawFromAccountId, removeBillFileFromLocalStore, replaceBillFileInLocalStore, updateShouldReplaceBillData, };
811
813
  export { SpendManagementFiltersType, SpendManagementFilterEntityType, FilterCategoryType, BillPayFilterCategoryDropdownOption, ReimbursementFilterCategoryDropdownOption, TaskFilterCategoryDropdownOption, SpendManagementFilterCategoryDropdownOption, MatchingOperatorDropdownOption, CategoryCombinationOperator, hideCreatedByFilter, };
812
814
  export { TRANSACTION_FILTER_CATEGORIES, TransactionFilterAmountMatchingOperator, TransactionFilterCategory, TransactionFilterCategoryDropdownOption, TransactionFilterCategoryField, TransactionFilterEntityType, TransactionFilters, applyTransactionFilters, };
813
- export { BillPaySetupViewState, ZeniAccountSetupViewState, BillPaySetupViewLocalData, ZeniAccountSetupViewLocalData, PlaidAccountState, fetchBillPaySetupView, fetchZeniAccountSetupView, enableSetup, getPaymentAccounts, getPlaidLinkToken, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData, updateBusinessVerificationDetails, updatePaymentAccount, updatePaymentAccountLoginStatus, updatePaymentAccountStatus, establishPlaidConnection, updateMappedCashAccount, updatePrimaryFundingAccount, acceptBillPayTerms, acceptZeniAccountTerms, acceptBillPayUpdatedTerms, saveSetupViewDataInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, saveIndustryAndIncDateInLocalStore, clearSetupViewDataInLocalStore, clearBillPaySetupView, clearZeniAccountSetupView, sendOtp, resendOtp, verifyOtp, CompanyDetails, CompanyOfficersDetails, BillPaySetupView, ZeniAccountSetupView, BillPayBusinessVerificationDetails, ZeniAccountBusinessVerificationDetails, TreasuryBusinessVerificationDetails, SetupViewState, SetupViewLocalData, SetupView, BusinessVerificationDetails, getBillPaySetupViewDetails, getPlaidAccountDetails, getZeniAccountSetupViewDetails, getBusinessVerificationDetails, getBillPayBusinessVerificationDetails, getZeniAccountBusinessVerificationDetails, getTreasuryBusinessVerificationDetails, getCommonSetupViewDetails, PlaidConnectionDetails, PlaidLinkTokenType, PlaidAccountKeyType, Token, FundingAccount, getTwoFactorAuthenticationView, getTwoFactorAuthenticationViewForCardUserOnboarding, getTwoFactorAuthenticationViewForChargeCardHolder, TwoFactorAuthenticationView, };
815
+ export { BillPaySetupViewState, ZeniAccountSetupViewState, BillPaySetupViewLocalData, ZeniAccountSetupViewLocalData, PlaidAccountState, fetchBillPaySetupView, fetchZeniAccountSetupView, enableSetup, getPaymentAccounts, getPlaidLinkToken, updateSelectedCompanyOfficer, updateSetupViewLocalStoreData, updateBusinessVerificationDetails, updatePaymentAccount, updatePaymentAccountLoginStatus, updatePaymentAccountStatus, establishPlaidConnection, updateMappedCashAccount, updatePrimaryFundingAccount, acceptBillPayTerms, acceptZeniAccountTerms, acceptBillPayUpdatedTerms, saveSetupViewDataInLocalStore, saveCompnayOfficerPhoneInLocalStore, saveCompnayOfficerAdditionalDocumentsInLocalStore, saveTreasuryAdditionalDocumentsInLocalStore, saveIndustryAndIncDateInLocalStore, clearSetupViewDataInLocalStore, clearBillPaySetupView, clearZeniAccountSetupView, applyKycDocumentAutofillForSetup, applyKybDocumentAutofillForSetup, clearKycKybAutofillForSetup, parseUploadedKycDocument, parseUploadedKybDocument, sendOtp, resendOtp, verifyOtp, CompanyDetails, CompanyOfficersDetails, BillPaySetupView, ZeniAccountSetupView, BillPayBusinessVerificationDetails, ZeniAccountBusinessVerificationDetails, TreasuryBusinessVerificationDetails, SetupViewState, SetupViewLocalData, SetupView, BusinessVerificationDetails, getBillPaySetupViewDetails, getPlaidAccountDetails, getPlaidPaymentAccounts, getZeniAccountSetupViewDetails, getBusinessVerificationDetails, getBillPayBusinessVerificationDetails, getZeniAccountBusinessVerificationDetails, getTreasuryBusinessVerificationDetails, getCommonSetupViewDetails, PlaidConnectionDetails, PlaidLinkTokenType, PlaidAccountKeyType, Token, FundingAccount, getTwoFactorAuthenticationView, getTwoFactorAuthenticationViewForCardUserOnboarding, getTwoFactorAuthenticationViewForChargeCardHolder, TwoFactorAuthenticationView, };
814
816
  export { BankConnectionsSetupView, IntegrationsView, getApprovalRuleViewDetails, getBankConnectionsSetupViewDetails, getIntegrationsView, };
815
817
  export { fetchUserFinancialAccount };
816
818
  export { getUserFinancialAccount, UserFinancialAccountSelectorView };
@@ -864,7 +866,7 @@ export { CountryWithCurrency };
864
866
  export { fetchCompanyConfig };
865
867
  export { getCompanyConfig };
866
868
  export { isZeniClearingAccountReport, ZENI_CLEARING_ACCOUNT, isZeniClearingAccount, };
867
- export { fetchOnboardingCustomerView, fetchOnboardingCustomerSetupView, getOnboardingPlaidLinkToken, establishOnboardingPlaidConnection, updateOnboardingCustomerViewAccountDetails, updateOnboardingCustomerViewCompleteStatus, updateOnboardingCustomerViewDashboardLoaded, updateOnboardingPaymentAccountLoginStatus, updateOnboardingPaymentAccountStatus, updateOnboardingCustomerView, updateOnboardingCustomerViewLocalStoreData, updateCurrentStep, updateOnboardingCustomerViewUIState, saveOnboardingCompnayOfficerPhoneInLocalStore, saveOnboardingCustomerViewDataInLocalStore, clearOnboardingCustomerView, clearOnboardingCustomerViewDataInLocalStore, getOnboardingCustomerView, getProductSettingsString, OnboardingCustomerView, OnboardingStep, OnboardingCustomerViewUIState, OnboardingCustomerViewLocalData, };
869
+ export { fetchOnboardingCustomerView, fetchOnboardingCustomerSetupView, getOnboardingPlaidLinkToken, establishOnboardingPlaidConnection, updateOnboardingCustomerViewAccountDetails, updateOnboardingCustomerViewCompleteStatus, updateOnboardingCustomerViewDashboardLoaded, updateOnboardingPaymentAccountLoginStatus, updateOnboardingPaymentAccountStatus, updateOnboardingCustomerView, updateOnboardingCustomerViewLocalStoreData, updateCurrentStep, updateCurrentSubStep, updateOnboardingCustomerViewUIState, saveOnboardingCompnayOfficerPhoneInLocalStore, saveOnboardingCustomerViewDataInLocalStore, clearOnboardingCustomerView, clearOnboardingCustomerViewDataInLocalStore, applyKycDocumentAutofillForOnboarding, applyKybDocumentAutofillForOnboarding, clearKycKybAutofillForOnboarding, acknowledgeOnboardingAiActivationViewed, acknowledgeOnboardingAiFinanceTeam, fetchAiAgentsActivationStatus, aiAgentsActivationCountsUpdated, aiAgentsActivationPhaseChanged, getAiAgentsActivationCounts, getAiAgentsActivationPhases, getAiAgentsActivationSubview, getOnboardingCustomerView, getProductSettingsString, OnboardingCustomerView, OnboardingStep, OnboardingSubStep, ALL_ONBOARDING_STEPS, ALL_ONBOARDING_SUB_STEPS, toOnboardingStepType, toOnboardingSubStepType, OnboardingCustomerViewUIState, OnboardingCustomerViewLocalData, AiAgentsActivationCounts, AiAgentsActivationPhase, AiAgentsActivationPhaseStatus, AiAgentsActivationSubview, };
868
870
  export { saveAccountMapping, saveAccountMappingLocalData, clearAccountMappingLocalData, AccountMappingLocalData, AccountMappingView, VendorAccountMappingView, getAccountMappingView, initializeAccountMappingView, ExpenseCategory1099Filing, };
869
871
  export { MagicLinkView, getMagicLinkView, getMagicLinkBankAccountView, getMagicLinkCurrentAddressState, };
870
872
  export { fetchMagicLinkTenant, fetchBillAttachment, saveBankAccount, updateMagicLinkBankAccountLocalStoreData, updateMagicLinkInternationalBankAccountLocalStoreData, fetchMagicLinkBankNameByRouting, fetchMagicLinkBankNameBySwift, saveMagicLinkAddressInLocalStore, };
@@ -889,7 +891,7 @@ export { fetchGlobalMerchantRecommendation, createGlobalMerchant, updateCreateGl
889
891
  export { approveVendorGlobalReview, rejectVendorGlobalReview, fetchVendorGlobalReviewView, updateSelectedGlobalMerchant, updateVendorGlobalReviewViewUIState, getVendorGlobalReviewView, getTenantMerchantByMerchantId, toVendorGlobalReviewColumnSortKeyType, VendorGlobalReview, VendorGlobalReviewViewUIState, VendorGlobalReviewViewColumnSortKey, VendorGlobalReviewViewSelectorView, VendorGlobalReviewViewState, VendorGlobalReviewViewLocalData, updateVendorGlobalReviewViewLocalData, GlobalReviewPageCurrentSelectionByColumn, GlobalRecommendationFetchSource, };
890
892
  export { fetchArAging, updateArAgingUIState, fetchArAgingDetail, updateArAgingDetailUIState, ArAgingReport, ArAgingDetail, NestedAgingBalancesByCustomer, getArAgingReport, getArAgingDetailForCustomer, updateArAgingNodeCollapseState, };
891
893
  export { toRecurringBillFrequency, toRecurringBillFrequencyStrict, RecurringBillFrequency, RecurringBillDetail, RecurringBillConfig, RecurringBillStatus, RecurringBillPaymentStatus, };
892
- export { Task, TaskPayload, TaskListSelectorView, TaskWithUserDetails, TaskListViewSortKey, TaskListUIState, TaskDetailSelectorView, EditTaskLocalData, TaskStatusCodeType, PriorityCodeType, getTaskGroupById, TaskStatus, TaskPriority, TaskCodeType, getAllTasks, fetchTaskListPage, getTaskDetail, fetchTaskDetailPage, saveTaskUpdatesToLocalStore, saveTaskDetail, archiveTask, CannedResponse, CannedResponsesViewState, fetchCannedResponses, saveCannedResponse, deleteCannedResponse, getCannedResponsesView, updateTaskListSearchText, updateTaskListUIState, allTaskStatus, allTaskPriority, TaskListFilters, updateTaskFilters, TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CATEGORIES, TaskListFilterCategoryField, deleteTask, discardTaskUpdatesInLocalStore, TaskFilterCategory, TaskType, TaskGroupWithTasksList, TaskListLocalData, bulkUpdateTaskList, createNewTaskGroup, initiateTaskListLocalData, deleteTaskGroup, updateTaskListLocalData, dragNDropTasks, updateTaskGroupName, TaskGroupState, TaskGroupKey, toTaskListGroupByKeyType, toTaskListGroupByKeyTypeStrict, getTaskUpdates, fetchAllTaskGroups, initialTaskDetail, getDueDateValueFromDueDateGroupId, toPriorityCodeType, toTaskStatusCodeType, DueDateGroupKey, toDueDateGroupKeyType, updateTaskFromListView, updateTaskListTab, removeTaskFromList, snoozeTask, unsnoozeTask, convertHHMMStrToMinutes, initialTaskDetailLocalData, TaskListTab, ALL_TASK_LIST_TABS, };
894
+ export { Task, TaskPayload, TaskListSelectorView, TaskWithUserDetails, TaskListViewSortKey, TaskListUIState, TaskDetailSelectorView, EditTaskLocalData, TaskStatusCodeType, PriorityCodeType, getTaskGroupById, TaskStatus, TaskPriority, TaskCodeType, getAllTasks, fetchTaskListPage, getTaskDetail, fetchTaskDetailPage, saveTaskUpdatesToLocalStore, saveTaskDetail, createSubTask, resetSubTaskCreateStatus, fetchSubTasks, CreateSubTaskPayload, archiveTask, CannedResponse, CannedResponsesViewState, fetchCannedResponses, saveCannedResponse, deleteCannedResponse, getCannedResponsesView, updateTaskListSearchText, updateTaskListUIState, allTaskStatus, allTaskPriority, TaskListFilters, updateTaskFilters, TASK_LIST_FILTER_CATEGORIES, TASK_LIST_GROUP_BY_CATEGORIES, TaskListFilterCategoryField, deleteTask, discardTaskUpdatesInLocalStore, TaskFilterCategory, TaskType, TaskGroupWithTasksList, TaskListLocalData, bulkUpdateTaskList, createNewTaskGroup, initiateTaskListLocalData, deleteTaskGroup, updateTaskListLocalData, dragNDropTasks, updateTaskGroupName, TaskGroupState, TaskGroupKey, toTaskListGroupByKeyType, toTaskListGroupByKeyTypeStrict, getTaskUpdates, fetchAllTaskGroups, initialTaskDetail, getDueDateValueFromDueDateGroupId, toPriorityCodeType, toTaskStatusCodeType, DueDateGroupKey, toDueDateGroupKeyType, updateTaskFromListView, updateTaskListTab, removeTaskFromList, snoozeTask, unsnoozeTask, convertHHMMStrToMinutes, initialTaskDetailLocalData, TaskListTab, ALL_TASK_LIST_TABS, };
893
895
  export { Tag, TagState, TagViewState, getAllTags, TagViewSelectorView, fetchTagList, createTag, deleteTag, };
894
896
  export { CardPayment, CardPaymentViewState, SetupIntentData, CardPaymentSelectorView, getAllCardsAndBankPaymentMethods, createCardSetupIntent, confirmCardSetupIntent, addCardPaymentSource, fetchPaymentSources, resetCardPaymentErrorStatuses, clearCardPaymentView, AddCardPaymentSourceType, };
895
897
  export { getAuditReportGroupViewSelectorView, getAuditRuleGroupViewSelectorView, getUserFromAllUsers, AuditReportGroupSelectorView, AuditReportGroupViewSelectorView, AuditRuleGroupViewSelectorView, fetchAuditRuleGroupView, fetchAuditReportGroupView, saveReasonForAuditRule, AuditRuleGroup, AuditRuleGroupReport, AuditReportRule, AuditRuleEntityType, AuditRuleEntityIdType, AuditRuleBypassReason, clearAuditReportGroupViewByCompanyId, };
@@ -977,6 +979,8 @@ export { UserGroup } from './entity/userGroups/userGroupsState';
977
979
  export { SessionManager } from './entity/tenant/SessionManager';
978
980
  export type { SessionCallbacks, SessionConfig, } from './entity/tenant/sessionTypes';
979
981
  export { DEFAULT_SESSION_CONFIG } from './entity/tenant/sessionTypes';
982
+ export type { KybProvidedDocumentType, KycKybAutofillTarget, KycKybProvidedDocumentType, KycProvidedDocumentType, KycSelectDocumentType, } from './view/spendManagement/commonSetup/types/kycKybAutofill';
983
+ export { toKycProvidedDocumentType, toKycProvidedDocumentTypeFromAllowed, } from './view/spendManagement/commonSetup/types/kycKybAutofill';
980
984
  export { fetchCashManagementBanner, fetchCashManagementOverviewPage, } from './view/spendManagement/cashManagement/cashManagementOverview/cashManagementOverviewReducer';
981
985
  export { clearAutoSweepFlow, saveAutoSweepSettings, updateAutoSweepDraft, updateAutoSweepRisk, updateAutoSweepSettingsFetchStatus, updateCashManagementSettings, updateCashManagementSettingsFetchStatus, } from './view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowReducer';
982
986
  export { getAutoSweepFlow } from './view/spendManagement/cashManagement/autoSweepFlow/autoSweepFlowSelector';