@zeniai/client-epic-state 5.0.65-betaRR5 → 5.0.65-betaRR7

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 (51) hide show
  1. package/lib/entity/aiCfo/aiCfoPayload.d.ts +67 -64
  2. package/lib/entity/aiCfo/aiCfoReducer.d.ts +7 -1
  3. package/lib/entity/aiCfo/aiCfoReducer.js +87 -56
  4. package/lib/entity/aiCfo/aiCfoState.d.ts +58 -59
  5. package/lib/entity/cardPolicy/cardPolicyPayload.d.ts +106 -5
  6. package/lib/entity/cardPolicy/cardPolicyPayload.js +35 -4
  7. package/lib/entity/cardPolicy/cardPolicyReducer.d.ts +9 -3
  8. package/lib/entity/cardPolicy/cardPolicyReducer.js +57 -4
  9. package/lib/entity/cardPolicy/cardPolicySelector.d.ts +4 -0
  10. package/lib/entity/cardPolicy/cardPolicySelector.js +17 -0
  11. package/lib/entity/cardPolicy/cardPolicyState.d.ts +33 -0
  12. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.d.ts +25 -0
  13. package/lib/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +39 -0
  14. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.d.ts +23 -0
  15. package/lib/entity/cardPolicy/policyRecommendationFromUploadEpic.js +92 -0
  16. package/lib/epic.d.ts +3 -1
  17. package/lib/epic.js +3 -1
  18. package/lib/esm/entity/aiCfo/aiCfoReducer.js +86 -55
  19. package/lib/esm/entity/cardPolicy/cardPolicyPayload.js +32 -3
  20. package/lib/esm/entity/cardPolicy/cardPolicyReducer.js +56 -3
  21. package/lib/esm/entity/cardPolicy/cardPolicySelector.js +13 -0
  22. package/lib/esm/entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic.js +35 -0
  23. package/lib/esm/entity/cardPolicy/policyRecommendationFromUploadEpic.js +88 -0
  24. package/lib/esm/epic.js +4 -2
  25. package/lib/esm/index.js +10 -9
  26. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +6 -3
  27. package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  28. package/lib/esm/view/aiCfoView/epics/createSessionEpic.js +2 -1
  29. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +22 -13
  30. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +26 -1
  31. package/lib/esm/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +27 -8
  32. package/lib/esm/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +25 -0
  33. package/lib/index.d.ts +10 -10
  34. package/lib/index.js +29 -15
  35. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +4 -2
  36. package/lib/view/aiCfoView/aiCfoViewReducer.js +6 -3
  37. package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +5 -2
  38. package/lib/view/aiCfoView/epics/createSessionEpic.js +2 -1
  39. package/lib/view/companyHealthMetricView/companyHealthMetricViewSelector.d.ts +1 -1
  40. package/lib/view/onboardingView/cockpitView/types/onboardingCockpitViewTypes.d.ts +1 -1
  41. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.d.ts +4 -3
  42. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyReducer.js +23 -14
  43. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.d.ts +22 -0
  44. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicySelector.js +28 -1
  45. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyState.d.ts +29 -8
  46. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.d.ts +20 -3
  47. package/lib/view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic.js +27 -8
  48. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardList.d.ts +1 -1
  49. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.d.ts +14 -0
  50. package/lib/view/spendManagement/chargeCards/chargeCardList/chargeCardListSelector.js +27 -1
  51. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toExtractedCardPolicyRules = exports.toCardPolicyEditFormDraft = exports.toUpdateCardPolicyTemplateRequestBody = exports.toCreateCardPolicyTemplateRequestBody = exports.toCardPolicyTemplate = exports.toCardPolicyTemplateList = exports.toCardPolicyStats = exports.toCardPolicyVendorSearchOption = exports.toMccCategory = void 0;
3
+ exports.toExtractedCardPolicyRules = exports.toCardPolicyEditFormDraft = exports.toUpdateCardPolicyTemplateRequestBody = exports.toBulkCreateCardPolicyTemplateError = exports.toCreateCardPolicyTemplatesRequestBody = exports.toCreateCardPolicyTemplateRequestBody = exports.toCardPolicyTemplate = exports.toCardPolicyTemplateList = exports.toCardPolicyStats = exports.toCardPolicyVendorSearchOption = exports.toMccCategory = void 0;
4
4
  const zeniDayJS_1 = require("../../zeniDayJS");
5
5
  const cardPolicyState_1 = require("./cardPolicyState");
6
6
  const toMccCategory = (payload) => ({
@@ -48,8 +48,10 @@ const toCardPolicyTemplate = (payload) => ({
48
48
  });
49
49
  exports.toCardPolicyTemplate = toCardPolicyTemplate;
50
50
  /**
51
- * Re-shape a camelCase create request into the snake_case wire body.
52
- * Used by the epic at request time.
51
+ * Re-shape a single camelCase create request into the snake_case wire
52
+ * body. Used by the bulk-create mapper to build each entry of the
53
+ * `templates` array, and directly by the update epic (PUT) since the
54
+ * update endpoint still consumes a single object.
53
55
  */
54
56
  const toCreateCardPolicyTemplateRequestBody = (request) => ({
55
57
  allowed_entity: {
@@ -70,8 +72,37 @@ const toCreateCardPolicyTemplateRequestBody = (request) => ({
70
72
  },
71
73
  });
72
74
  exports.toCreateCardPolicyTemplateRequestBody = toCreateCardPolicyTemplateRequestBody;
75
+ /**
76
+ * Re-shape a bulk create request into the snake_case wire body for
77
+ * `POST /cards/1.0/policy-templates`. Maps each entry through
78
+ * `toCreateCardPolicyTemplateRequestBody` and only emits
79
+ * `source_chat_session_id` when the camelCase counterpart is defined,
80
+ * so manual-create callers don't ship a stray `undefined` over the wire.
81
+ */
82
+ const toCreateCardPolicyTemplatesRequestBody = (request) => {
83
+ const body = {
84
+ templates: request.templates.map(exports.toCreateCardPolicyTemplateRequestBody),
85
+ };
86
+ if (request.sourceChatSessionId != null) {
87
+ body.source_chat_session_id = request.sourceChatSessionId;
88
+ }
89
+ return body;
90
+ };
91
+ exports.toCreateCardPolicyTemplatesRequestBody = toCreateCardPolicyTemplatesRequestBody;
92
+ /**
93
+ * Map a single bulk-response error payload to its camelCased view shape.
94
+ * Defensive against missing optional fields (see `BulkCreateCardPolicyTemplateErrorPayload`
95
+ * docstring — the BE contract isn't fully locked yet).
96
+ */
97
+ const toBulkCreateCardPolicyTemplateError = (payload) => ({
98
+ message: payload.message,
99
+ code: payload.code,
100
+ index: payload.index,
101
+ name: payload.name,
102
+ });
103
+ exports.toBulkCreateCardPolicyTemplateError = toBulkCreateCardPolicyTemplateError;
73
104
  // Update body uses the exact same wire shape as create — the PUT
74
- // endpoint is a full replace.
105
+ // endpoint is a full replace and was not affected by the bulk migration.
75
106
  exports.toUpdateCardPolicyTemplateRequestBody = exports.toCreateCardPolicyTemplateRequestBody;
76
107
  /**
77
108
  * Seed an edit-form draft (`CreateCardPolicyTemplateRequest`) from an
@@ -1,13 +1,19 @@
1
1
  import { ZeniAPIStatus } from '../../responsePayload';
2
2
  import { CardPolicyMccCategoriesPayload, CardPolicyTemplatePayload, CardPolicyVendorSearchData, ExtractedCardPolicyRulesPayload } from './cardPolicyPayload';
3
- import { CardPolicyState, CardPolicyStats, CardPolicyTemplate } from './cardPolicyState';
3
+ import { CardPolicyState, CardPolicyStats, CardPolicyTemplate, ExtractedCardPolicyRules } from './cardPolicyState';
4
4
  export declare const initialState: CardPolicyState;
5
5
  export declare const fetchCardPolicyMccCategories: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cardPolicy/fetchCardPolicyMccCategories">, fetchCardPolicyVendorOptions: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[searchString?: string | undefined], {
6
6
  searchString: string;
7
- }, "cardPolicy/fetchCardPolicyVendorOptions", never, never>, updateCardPolicyMccCategories: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardPolicyMccCategoriesPayload, "cardPolicy/updateCardPolicyMccCategories">, updateCardPolicyMccCategoriesFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "cardPolicy/updateCardPolicyMccCategoriesFailure">, updateCardPolicyVendorOptions: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardPolicyVendorSearchData, "cardPolicy/updateCardPolicyVendorOptions">, updateCardPolicyVendorOptionsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "cardPolicy/updateCardPolicyVendorOptionsFailure">, updateCreatedCardPolicyTemplate: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardPolicyTemplatePayload, "cardPolicy/updateCreatedCardPolicyTemplate">, updateCardPolicyTemplates: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardPolicyTemplate[], "cardPolicy/updateCardPolicyTemplates">, removeCardPolicyTemplate: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "cardPolicy/removeCardPolicyTemplate">, updateCardPolicyStats: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardPolicyStats, "cardPolicy/updateCardPolicyStats">, extractPolicyDocument: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[files: File[]], {
7
+ }, "cardPolicy/fetchCardPolicyVendorOptions", never, never>, updateCardPolicyMccCategories: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardPolicyMccCategoriesPayload, "cardPolicy/updateCardPolicyMccCategories">, updateCardPolicyMccCategoriesFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "cardPolicy/updateCardPolicyMccCategoriesFailure">, updateCardPolicyVendorOptions: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardPolicyVendorSearchData, "cardPolicy/updateCardPolicyVendorOptions">, updateCardPolicyVendorOptionsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "cardPolicy/updateCardPolicyVendorOptionsFailure">, updateCreatedCardPolicyTemplate: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardPolicyTemplatePayload, "cardPolicy/updateCreatedCardPolicyTemplate">, updateCardPolicyTemplates: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardPolicyTemplate[], "cardPolicy/updateCardPolicyTemplates">, removeCardPolicyTemplate: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "cardPolicy/removeCardPolicyTemplate">, updateCardPolicyStats: import("@reduxjs/toolkit").ActionCreatorWithPayload<CardPolicyStats, "cardPolicy/updateCardPolicyStats">, extractPolicyDocument: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[files: File[], aiCfoAnswerId?: string | undefined, aiCfoChatSessionId?: string | undefined], {
8
8
  files: File[];
9
+ aiCfoAnswerId: string | undefined;
10
+ aiCfoChatSessionId: string | undefined;
9
11
  }, "cardPolicy/extractPolicyDocument", never, {
10
12
  uploadedFileName: string;
11
- }>, updatePolicyDocumentExtractionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<ExtractedCardPolicyRulesPayload, "cardPolicy/updatePolicyDocumentExtractionSuccess">, updatePolicyDocumentExtractionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "cardPolicy/updatePolicyDocumentExtractionFailure">, clearPolicyDocumentExtraction: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cardPolicy/clearPolicyDocumentExtraction">, clearCardPolicy: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cardPolicy/clearCardPolicy">;
13
+ }>, updatePolicyDocumentExtractionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<ExtractedCardPolicyRulesPayload, "cardPolicy/updatePolicyDocumentExtractionSuccess">, updatePolicyDocumentExtractionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "cardPolicy/updatePolicyDocumentExtractionFailure">, clearPolicyDocumentExtraction: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cardPolicy/clearPolicyDocumentExtraction">, fetchCardPolicyRecommendationFromUpload: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[answerId: string, chatSessionId: string, extractedRules: ExtractedCardPolicyRules], {
14
+ answerId: string;
15
+ chatSessionId: string;
16
+ extractedRules: ExtractedCardPolicyRules;
17
+ }, "cardPolicy/fetchCardPolicyRecommendationFromUpload", never, never>, updatePolicyRecommendationFromUploadSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cardPolicy/updatePolicyRecommendationFromUploadSuccess">, updatePolicyRecommendationFromUploadFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "cardPolicy/updatePolicyRecommendationFromUploadFailure">, clearCardPolicy: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"cardPolicy/clearCardPolicy">;
12
18
  declare const _default: import("redux").Reducer<CardPolicyState>;
13
19
  export default _default;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearCardPolicy = exports.clearPolicyDocumentExtraction = exports.updatePolicyDocumentExtractionFailure = exports.updatePolicyDocumentExtractionSuccess = exports.extractPolicyDocument = exports.updateCardPolicyStats = exports.removeCardPolicyTemplate = exports.updateCardPolicyTemplates = exports.updateCreatedCardPolicyTemplate = exports.updateCardPolicyVendorOptionsFailure = exports.updateCardPolicyVendorOptions = exports.updateCardPolicyMccCategoriesFailure = exports.updateCardPolicyMccCategories = exports.fetchCardPolicyVendorOptions = exports.fetchCardPolicyMccCategories = exports.initialState = void 0;
4
+ exports.clearCardPolicy = exports.updatePolicyRecommendationFromUploadFailure = exports.updatePolicyRecommendationFromUploadSuccess = exports.fetchCardPolicyRecommendationFromUpload = exports.clearPolicyDocumentExtraction = exports.updatePolicyDocumentExtractionFailure = exports.updatePolicyDocumentExtractionSuccess = exports.extractPolicyDocument = exports.updateCardPolicyStats = exports.removeCardPolicyTemplate = exports.updateCardPolicyTemplates = exports.updateCreatedCardPolicyTemplate = exports.updateCardPolicyVendorOptionsFailure = exports.updateCardPolicyVendorOptions = exports.updateCardPolicyMccCategoriesFailure = exports.updateCardPolicyMccCategories = exports.fetchCardPolicyVendorOptions = exports.fetchCardPolicyMccCategories = exports.initialState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  const cardPolicyPayload_1 = require("./cardPolicyPayload");
7
7
  /**
@@ -20,6 +20,12 @@ const initialPolicyDocumentExtractionState = {
20
20
  extractedRules: undefined,
21
21
  uploadedFileName: undefined,
22
22
  };
23
+ const initialPolicyRecommendationFromUploadState = {
24
+ fetchState: 'Not-Started',
25
+ answerId: undefined,
26
+ chatSessionId: undefined,
27
+ error: undefined,
28
+ };
23
29
  const initialVendorSearchState = {
24
30
  fetchState: 'Not-Started',
25
31
  searchString: '',
@@ -32,6 +38,7 @@ exports.initialState = {
32
38
  mccCategoriesError: undefined,
33
39
  mccCategoriesFetchState: 'Not-Started',
34
40
  policyDocumentExtraction: initialPolicyDocumentExtractionState,
41
+ policyRecommendationFromUpload: initialPolicyRecommendationFromUploadState,
35
42
  suggestedAllowCategories: [],
36
43
  suggestedAllowMerchants: [],
37
44
  suggestedBlockCategories: [],
@@ -131,10 +138,14 @@ const cardPolicy = (0, toolkit_1.createSlice)({
131
138
  draft.policyDocumentExtraction.extractedRules = undefined;
132
139
  draft.policyDocumentExtraction.uploadedFileName =
133
140
  action.meta.uploadedFileName;
141
+ draft.policyDocumentExtraction.aiCfoAnswerId =
142
+ action.payload.aiCfoAnswerId;
143
+ draft.policyDocumentExtraction.aiCfoChatSessionId =
144
+ action.payload.aiCfoChatSessionId;
134
145
  },
135
- prepare(files) {
146
+ prepare(files, aiCfoAnswerId, aiCfoChatSessionId) {
136
147
  return {
137
- payload: { files },
148
+ payload: { files, aiCfoAnswerId, aiCfoChatSessionId },
138
149
  meta: { uploadedFileName: files[0]?.name },
139
150
  };
140
151
  },
@@ -154,6 +165,48 @@ const cardPolicy = (0, toolkit_1.createSlice)({
154
165
  draft.policyDocumentExtraction = {
155
166
  ...initialPolicyDocumentExtractionState,
156
167
  };
168
+ // Clear the chained recommendation slice too — the two together
169
+ // model the upload lifecycle and either both reset (× pill,
170
+ // unmount) or both advance (drop file → extract → recommend).
171
+ draft.policyRecommendationFromUpload = {
172
+ ...initialPolicyRecommendationFromUploadState,
173
+ };
174
+ },
175
+ /**
176
+ * Kick off `POST /cards/1.0/ai-cfo/policy-recommendation-from-upload`.
177
+ *
178
+ * Chained after `extractPolicyDocument` succeeds in the AI CFO
179
+ * `upload`-mode flow. The accompanying epic forwards the
180
+ * just-returned `extracted_rules` to the BE and dispatches success /
181
+ * failure into this slice; on success, a sibling action
182
+ * (`updateAiCfoAnswerCardPolicyWizardPlan` on the aiCfo slice) is
183
+ * dispatched by the epic to merge the returned `wizard_plan` + `source`
184
+ * into the in-flight AI CFO answer's `CardPolicyInitialData`.
185
+ *
186
+ * `answerId` + `chatSessionId` identify which AI CFO answer should
187
+ * receive the patch. Both are required so the wizard reads a single
188
+ * source of truth for its lifecycle pill (`fetchState`) and the
189
+ * bridge epic can correlate against the originating answer.
190
+ */
191
+ fetchCardPolicyRecommendationFromUpload: {
192
+ reducer(draft, action) {
193
+ draft.policyRecommendationFromUpload.fetchState = 'In-Progress';
194
+ draft.policyRecommendationFromUpload.answerId = action.payload.answerId;
195
+ draft.policyRecommendationFromUpload.chatSessionId =
196
+ action.payload.chatSessionId;
197
+ draft.policyRecommendationFromUpload.error = undefined;
198
+ },
199
+ prepare(answerId, chatSessionId, extractedRules) {
200
+ return { payload: { answerId, chatSessionId, extractedRules } };
201
+ },
202
+ },
203
+ updatePolicyRecommendationFromUploadSuccess(draft) {
204
+ draft.policyRecommendationFromUpload.fetchState = 'Completed';
205
+ draft.policyRecommendationFromUpload.error = undefined;
206
+ },
207
+ updatePolicyRecommendationFromUploadFailure(draft, action) {
208
+ draft.policyRecommendationFromUpload.fetchState = 'Error';
209
+ draft.policyRecommendationFromUpload.error = action.payload;
157
210
  },
158
211
  /**
159
212
  * Kick off `GET /accounting/1.0/vendors` (card-policy mode). When
@@ -199,5 +252,5 @@ const cardPolicy = (0, toolkit_1.createSlice)({
199
252
  },
200
253
  },
201
254
  });
202
- _a = cardPolicy.actions, exports.fetchCardPolicyMccCategories = _a.fetchCardPolicyMccCategories, exports.fetchCardPolicyVendorOptions = _a.fetchCardPolicyVendorOptions, exports.updateCardPolicyMccCategories = _a.updateCardPolicyMccCategories, exports.updateCardPolicyMccCategoriesFailure = _a.updateCardPolicyMccCategoriesFailure, exports.updateCardPolicyVendorOptions = _a.updateCardPolicyVendorOptions, exports.updateCardPolicyVendorOptionsFailure = _a.updateCardPolicyVendorOptionsFailure, exports.updateCreatedCardPolicyTemplate = _a.updateCreatedCardPolicyTemplate, exports.updateCardPolicyTemplates = _a.updateCardPolicyTemplates, exports.removeCardPolicyTemplate = _a.removeCardPolicyTemplate, exports.updateCardPolicyStats = _a.updateCardPolicyStats, exports.extractPolicyDocument = _a.extractPolicyDocument, exports.updatePolicyDocumentExtractionSuccess = _a.updatePolicyDocumentExtractionSuccess, exports.updatePolicyDocumentExtractionFailure = _a.updatePolicyDocumentExtractionFailure, exports.clearPolicyDocumentExtraction = _a.clearPolicyDocumentExtraction, exports.clearCardPolicy = _a.clearCardPolicy;
255
+ _a = cardPolicy.actions, exports.fetchCardPolicyMccCategories = _a.fetchCardPolicyMccCategories, exports.fetchCardPolicyVendorOptions = _a.fetchCardPolicyVendorOptions, exports.updateCardPolicyMccCategories = _a.updateCardPolicyMccCategories, exports.updateCardPolicyMccCategoriesFailure = _a.updateCardPolicyMccCategoriesFailure, exports.updateCardPolicyVendorOptions = _a.updateCardPolicyVendorOptions, exports.updateCardPolicyVendorOptionsFailure = _a.updateCardPolicyVendorOptionsFailure, exports.updateCreatedCardPolicyTemplate = _a.updateCreatedCardPolicyTemplate, exports.updateCardPolicyTemplates = _a.updateCardPolicyTemplates, exports.removeCardPolicyTemplate = _a.removeCardPolicyTemplate, exports.updateCardPolicyStats = _a.updateCardPolicyStats, exports.extractPolicyDocument = _a.extractPolicyDocument, exports.updatePolicyDocumentExtractionSuccess = _a.updatePolicyDocumentExtractionSuccess, exports.updatePolicyDocumentExtractionFailure = _a.updatePolicyDocumentExtractionFailure, exports.clearPolicyDocumentExtraction = _a.clearPolicyDocumentExtraction, exports.fetchCardPolicyRecommendationFromUpload = _a.fetchCardPolicyRecommendationFromUpload, exports.updatePolicyRecommendationFromUploadSuccess = _a.updatePolicyRecommendationFromUploadSuccess, exports.updatePolicyRecommendationFromUploadFailure = _a.updatePolicyRecommendationFromUploadFailure, exports.clearCardPolicy = _a.clearCardPolicy;
203
256
  exports.default = cardPolicy.reducer;
@@ -19,6 +19,10 @@ export declare function getPolicyDocumentExtractionFetchState(state: CardPolicyS
19
19
  export declare function getPolicyDocumentExtractionError(state: CardPolicyState): ZeniAPIStatus | undefined;
20
20
  export declare function getExtractedCardPolicyRules(state: CardPolicyState): ExtractedCardPolicyRules | undefined;
21
21
  export declare function getUploadedPolicyDocumentFileName(state: CardPolicyState): string | undefined;
22
+ export declare function getPolicyRecommendationFromUploadFetchState(state: CardPolicyState): FetchState;
23
+ export declare function getPolicyRecommendationFromUploadError(state: CardPolicyState): ZeniAPIStatus | undefined;
24
+ export declare function getPolicyRecommendationFromUploadAnswerId(state: CardPolicyState): ID | undefined;
25
+ export declare function getPolicyRecommendationFromUploadChatSessionId(state: CardPolicyState): ID | undefined;
22
26
  export declare function getCardPolicySuggestedAllowMerchants(state: CardPolicyState): string[];
23
27
  export declare function getCardPolicySuggestedBlockMerchants(state: CardPolicyState): string[];
24
28
  export declare function getCardPolicySuggestedAllowCategories(state: CardPolicyState): MccCategory[];
@@ -11,6 +11,10 @@ exports.getPolicyDocumentExtractionFetchState = getPolicyDocumentExtractionFetch
11
11
  exports.getPolicyDocumentExtractionError = getPolicyDocumentExtractionError;
12
12
  exports.getExtractedCardPolicyRules = getExtractedCardPolicyRules;
13
13
  exports.getUploadedPolicyDocumentFileName = getUploadedPolicyDocumentFileName;
14
+ exports.getPolicyRecommendationFromUploadFetchState = getPolicyRecommendationFromUploadFetchState;
15
+ exports.getPolicyRecommendationFromUploadError = getPolicyRecommendationFromUploadError;
16
+ exports.getPolicyRecommendationFromUploadAnswerId = getPolicyRecommendationFromUploadAnswerId;
17
+ exports.getPolicyRecommendationFromUploadChatSessionId = getPolicyRecommendationFromUploadChatSessionId;
14
18
  exports.getCardPolicySuggestedAllowMerchants = getCardPolicySuggestedAllowMerchants;
15
19
  exports.getCardPolicySuggestedBlockMerchants = getCardPolicySuggestedBlockMerchants;
16
20
  exports.getCardPolicySuggestedAllowCategories = getCardPolicySuggestedAllowCategories;
@@ -61,6 +65,19 @@ function getExtractedCardPolicyRules(state) {
61
65
  function getUploadedPolicyDocumentFileName(state) {
62
66
  return state.policyDocumentExtraction.uploadedFileName;
63
67
  }
68
+ // ── Policy recommendation from upload (AI CFO upload mode) ───────────
69
+ function getPolicyRecommendationFromUploadFetchState(state) {
70
+ return state.policyRecommendationFromUpload.fetchState;
71
+ }
72
+ function getPolicyRecommendationFromUploadError(state) {
73
+ return state.policyRecommendationFromUpload.error;
74
+ }
75
+ function getPolicyRecommendationFromUploadAnswerId(state) {
76
+ return state.policyRecommendationFromUpload.answerId;
77
+ }
78
+ function getPolicyRecommendationFromUploadChatSessionId(state) {
79
+ return state.policyRecommendationFromUpload.chatSessionId;
80
+ }
64
81
  // ── Suggested allow / block seeds (shipped alongside MCC categories) ─
65
82
  function getCardPolicySuggestedAllowMerchants(state) {
66
83
  return state.suggestedAllowMerchants;
@@ -106,10 +106,37 @@ export interface ExtractedCardPolicyRules {
106
106
  */
107
107
  export interface PolicyDocumentExtractionState {
108
108
  fetchState: FetchState;
109
+ /**
110
+ * AI CFO answer that owns the in-flight upload, when the extraction
111
+ * was kicked off from inside an `upload`-mode `CardPolicyInteractiveForm`.
112
+ * Captured at request-kickoff and read by the bridge epic to chain
113
+ * `fetchCardPolicyRecommendationFromUpload` against the right answer.
114
+ * `undefined` for manual `CardPolicyCreatePage` callers.
115
+ */
116
+ aiCfoAnswerId?: ID;
117
+ aiCfoChatSessionId?: ID;
109
118
  error?: ZeniAPIStatus;
110
119
  extractedRules?: ExtractedCardPolicyRules;
111
120
  uploadedFileName?: string;
112
121
  }
122
+ /**
123
+ * Lifecycle for `POST /cards/1.0/ai-cfo/policy-recommendation-from-upload`.
124
+ * Chained after `extractPolicyDocument` succeeds in the AI CFO `upload`
125
+ * mode — the FE forwards the just-returned `extracted_rules` and the BE
126
+ * synthesizes a wizard plan + upload source metadata.
127
+ *
128
+ * `answerId` captures which AI CFO answer's `card_policy` payload should
129
+ * receive the resulting `wizard_plan` patch (via
130
+ * `updateAiCfoAnswerCardPolicyWizardPlan`). Stored here rather than on
131
+ * the answer slice so the bridge epic can correlate the extract success
132
+ * → recommendation kickoff without re-deriving it from the visualization.
133
+ */
134
+ export interface PolicyRecommendationFromUploadState {
135
+ fetchState: FetchState;
136
+ answerId?: ID;
137
+ chatSessionId?: ID;
138
+ error?: ZeniAPIStatus;
139
+ }
113
140
  /**
114
141
  * Lightweight `{vendorId, name}` row stored on the card-policy slice for
115
142
  * the chip-picker's vendor search dropdown. Sourced from
@@ -147,6 +174,12 @@ export interface CardPolicyState {
147
174
  mccCategories: MccCategory[];
148
175
  mccCategoriesFetchState: FetchState;
149
176
  policyDocumentExtraction: PolicyDocumentExtractionState;
177
+ /**
178
+ * Lifecycle for the AI CFO `upload`-mode follow-up call. Sibling of
179
+ * `policyDocumentExtraction`; the two together describe the full
180
+ * upload chain: drop file → extract → recommend → wizard plan ready.
181
+ */
182
+ policyRecommendationFromUpload: PolicyRecommendationFromUploadState;
150
183
  /**
151
184
  * MCC categories suggested by the BE as a default "Allow" seed for the
152
185
  * category chip cloud. Empty when the user lands without prior spend
@@ -0,0 +1,25 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { RootState } from '../../reducer';
4
+ import { fetchCardPolicyRecommendationFromUpload, updatePolicyDocumentExtractionSuccess } from './cardPolicyReducer';
5
+ export type ActionType = ReturnType<typeof updatePolicyDocumentExtractionSuccess> | ReturnType<typeof fetchCardPolicyRecommendationFromUpload>;
6
+ /**
7
+ * Bridge epic — chains the AI CFO `upload`-mode flow's two API hops.
8
+ *
9
+ * The first hop (`extractPolicyDocument` → multipart POST to
10
+ * `policy-documents/extract`) lives on the cardPolicy slice and is
11
+ * shared with the manual `CardPolicyCreatePage`. The second hop
12
+ * (`fetchCardPolicyRecommendationFromUpload` → JSON POST to
13
+ * `ai-cfo/policy-recommendation-from-upload`) is AI-CFO only.
14
+ *
15
+ * The chain is gated on `policyDocumentExtraction.aiCfoAnswerId` being
16
+ * populated — manual callers leave it undefined, so the bridge is a
17
+ * silent no-op there.
18
+ *
19
+ * Splitting this off from `policyRecommendationFromUploadEpic` keeps
20
+ * the wizard component a pure renderer: it dispatches
21
+ * `extractPolicyDocument(files, answerId, chatSessionId)` once, then
22
+ * subscribes to `cardPolicyState` lifecycle flags to drive its
23
+ * "Extracting…" / "Recommending…" pill.
24
+ */
25
+ export declare const policyDocumentExtractionToRecommendationBridgeEpic: (actions$: ActionsObservable<ActionType>, state$: StateObservable<RootState>) => Observable<ActionType>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.policyDocumentExtractionToRecommendationBridgeEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const cardPolicyReducer_1 = require("./cardPolicyReducer");
7
+ /**
8
+ * Bridge epic — chains the AI CFO `upload`-mode flow's two API hops.
9
+ *
10
+ * The first hop (`extractPolicyDocument` → multipart POST to
11
+ * `policy-documents/extract`) lives on the cardPolicy slice and is
12
+ * shared with the manual `CardPolicyCreatePage`. The second hop
13
+ * (`fetchCardPolicyRecommendationFromUpload` → JSON POST to
14
+ * `ai-cfo/policy-recommendation-from-upload`) is AI-CFO only.
15
+ *
16
+ * The chain is gated on `policyDocumentExtraction.aiCfoAnswerId` being
17
+ * populated — manual callers leave it undefined, so the bridge is a
18
+ * silent no-op there.
19
+ *
20
+ * Splitting this off from `policyRecommendationFromUploadEpic` keeps
21
+ * the wizard component a pure renderer: it dispatches
22
+ * `extractPolicyDocument(files, answerId, chatSessionId)` once, then
23
+ * subscribes to `cardPolicyState` lifecycle flags to drive its
24
+ * "Extracting…" / "Recommending…" pill.
25
+ */
26
+ const policyDocumentExtractionToRecommendationBridgeEpic = (actions$, state$) => actions$.pipe((0, operators_1.filter)(cardPolicyReducer_1.updatePolicyDocumentExtractionSuccess.match), (0, operators_1.mergeMap)((action) => {
27
+ const extraction = state$.value.cardPolicyState.policyDocumentExtraction;
28
+ const aiCfoAnswerId = extraction.aiCfoAnswerId;
29
+ const aiCfoChatSessionId = extraction.aiCfoChatSessionId;
30
+ const extractedRules = extraction.extractedRules;
31
+ if (aiCfoAnswerId == null ||
32
+ aiCfoChatSessionId == null ||
33
+ extractedRules == null) {
34
+ return rxjs_1.EMPTY;
35
+ }
36
+ void action;
37
+ return (0, rxjs_1.of)((0, cardPolicyReducer_1.fetchCardPolicyRecommendationFromUpload)(aiCfoAnswerId, aiCfoChatSessionId, extractedRules));
38
+ }));
39
+ exports.policyDocumentExtractionToRecommendationBridgeEpic = policyDocumentExtractionToRecommendationBridgeEpic;
@@ -0,0 +1,23 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { updateAiCfoAnswerCardPolicyWizardPlan } from '../aiCfo/aiCfoReducer';
4
+ import { RootState } from '../../reducer';
5
+ import { ZeniAPI } from '../../zeniAPI';
6
+ import { fetchCardPolicyRecommendationFromUpload, updatePolicyRecommendationFromUploadFailure, updatePolicyRecommendationFromUploadSuccess } from './cardPolicyReducer';
7
+ export type ActionType = ReturnType<typeof fetchCardPolicyRecommendationFromUpload> | ReturnType<typeof updatePolicyRecommendationFromUploadSuccess> | ReturnType<typeof updatePolicyRecommendationFromUploadFailure> | ReturnType<typeof updateAiCfoAnswerCardPolicyWizardPlan>;
8
+ /**
9
+ * Listens for `fetchCardPolicyRecommendationFromUpload` and POSTs the
10
+ * just-extracted policy rules to the AI-CFO recommendation endpoint.
11
+ *
12
+ * On success — dispatches BOTH:
13
+ * - `updatePolicyRecommendationFromUploadSuccess` (flips the
14
+ * cardPolicy slice's recommendation lifecycle to `Completed`), and
15
+ * - `updateAiCfoAnswerCardPolicyWizardPlan` (patches the in-flight AI
16
+ * CFO answer's `CardPolicyInitialData` so the wizard can advance from
17
+ * Step 1 → Step 2 in the upload variant).
18
+ *
19
+ * The reducer payload originally captured at kickoff (`answerId` +
20
+ * `chatSessionId`) re-enters via the action so the patch can find the
21
+ * right answer to merge into.
22
+ */
23
+ export declare const policyRecommendationFromUploadEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.policyRecommendationFromUploadEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const aiCfoReducer_1 = require("../aiCfo/aiCfoReducer");
7
+ const responsePayload_1 = require("../../responsePayload");
8
+ const cardPolicyReducer_1 = require("./cardPolicyReducer");
9
+ /**
10
+ * Listens for `fetchCardPolicyRecommendationFromUpload` and POSTs the
11
+ * just-extracted policy rules to the AI-CFO recommendation endpoint.
12
+ *
13
+ * On success — dispatches BOTH:
14
+ * - `updatePolicyRecommendationFromUploadSuccess` (flips the
15
+ * cardPolicy slice's recommendation lifecycle to `Completed`), and
16
+ * - `updateAiCfoAnswerCardPolicyWizardPlan` (patches the in-flight AI
17
+ * CFO answer's `CardPolicyInitialData` so the wizard can advance from
18
+ * Step 1 → Step 2 in the upload variant).
19
+ *
20
+ * The reducer payload originally captured at kickoff (`answerId` +
21
+ * `chatSessionId`) re-enters via the action so the patch can find the
22
+ * right answer to merge into.
23
+ */
24
+ const policyRecommendationFromUploadEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(cardPolicyReducer_1.fetchCardPolicyRecommendationFromUpload.match), (0, operators_1.mergeMap)((action) => {
25
+ const { answerId, chatSessionId, extractedRules } = action.payload;
26
+ const body = {
27
+ extracted_rules: {
28
+ allowed_entity: {
29
+ category_codes: extractedRules.allowedEntity.categoryCodes,
30
+ merchant_names: extractedRules.allowedEntity.merchantNames,
31
+ },
32
+ blocked_entity: {
33
+ category_codes: extractedRules.blockedEntity.categoryCodes,
34
+ merchant_names: extractedRules.blockedEntity.merchantNames,
35
+ },
36
+ confidence_score: extractedRules.confidenceScore,
37
+ policy_name: extractedRules.policyName,
38
+ required_receipt_threshold: extractedRules.requiredReceiptThreshold,
39
+ transaction_limit: extractedRules.transactionLimit,
40
+ },
41
+ };
42
+ return zeniAPI
43
+ .postAndGetJSON(`${zeniAPI.apiEndPoints.cardMicroServiceBaseUrl}/1.0/ai-cfo/policy-recommendation-from-upload`, body)
44
+ .pipe((0, operators_1.mergeMap)((response) => {
45
+ if (!(0, responsePayload_1.isSuccessStatus)(response) ||
46
+ response.data?.wizard_plan?.step_5_review == null) {
47
+ return (0, rxjs_1.of)((0, cardPolicyReducer_1.updatePolicyRecommendationFromUploadFailure)(response.status));
48
+ }
49
+ const data = response.data;
50
+ const review = data.wizard_plan.step_5_review;
51
+ const wizardPlan = {
52
+ step5Review: {
53
+ draftPolicies: (review.draft_policies ?? []).map((draft, index) => ({
54
+ id: `draft-${index}`,
55
+ name: draft.name,
56
+ description: draft.description ?? '',
57
+ mode: draft.mode,
58
+ allowedEntity: {
59
+ categoryCodes: draft.allowed_entity?.category_codes ?? [],
60
+ merchantNames: draft.allowed_entity?.merchant_names ?? [],
61
+ },
62
+ blockedEntity: {
63
+ categoryCodes: draft.blocked_entity?.category_codes ?? [],
64
+ merchantNames: draft.blocked_entity?.merchant_names ?? [],
65
+ },
66
+ applyToCards: draft.apply_to_cards ?? [],
67
+ requiredReceiptThreshold: draft.required_receipt_threshold ?? 0,
68
+ spendLimits: {
69
+ transaction: draft.spend_limits?.transaction ?? 0,
70
+ },
71
+ })),
72
+ groupingSource: review.grouping_source ?? 'none',
73
+ prompt: review.prompt ?? '',
74
+ },
75
+ };
76
+ const source = data.source != null
77
+ ? {
78
+ confidenceScore: data.source.confidence_score,
79
+ fileName: data.source.file_name,
80
+ lowConfidenceFields: data.source.low_confidence_fields ?? [],
81
+ }
82
+ : undefined;
83
+ return (0, rxjs_1.of)((0, cardPolicyReducer_1.updatePolicyRecommendationFromUploadSuccess)(), (0, aiCfoReducer_1.updateAiCfoAnswerCardPolicyWizardPlan)({
84
+ answerId,
85
+ chatSessionId,
86
+ wizardPlan,
87
+ source,
88
+ }));
89
+ }), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, cardPolicyReducer_1.updatePolicyRecommendationFromUploadFailure)((0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Policy recommendation from upload REST API call errored out' +
90
+ JSON.stringify(error))))));
91
+ }));
92
+ exports.policyRecommendationFromUploadEpic = policyRecommendationFromUploadEpic;
package/lib/epic.d.ts CHANGED
@@ -369,6 +369,8 @@ import { ActionType as saveCardOnboardingUserDetailsActionType } from './view/sp
369
369
  import { ActionType as FetchCardPolicyMccCategoriesActionType } from './view/spendManagement/chargeCards/cardPolicy/createCardPolicy/fetchCardPolicyMccCategoriesEpic';
370
370
  import { ActionType as CreateCardPolicyTemplateActionType } from './view/spendManagement/chargeCards/cardPolicy/createCardPolicy/createCardPolicyTemplateEpic';
371
371
  import { ActionType as ExtractPolicyDocumentActionType } from './entity/cardPolicy/extractPolicyDocumentEpic';
372
+ import { ActionType as PolicyRecommendationFromUploadActionType } from './entity/cardPolicy/policyRecommendationFromUploadEpic';
373
+ import { ActionType as PolicyDocumentExtractionToRecommendationBridgeActionType } from './entity/cardPolicy/policyDocumentExtractionToRecommendationBridgeEpic';
372
374
  import { ActionType as FetchCardPolicyVendorOptionsActionType } from './entity/cardPolicy/fetchCardPolicyVendorOptionsEpic';
373
375
  import { ActionType as FetchCardPolicyListActionType } from './view/spendManagement/chargeCards/cardPolicy/cardPolicyList/fetchCardPolicyListEpic';
374
376
  import { ActionType as ArchiveCardPolicyActionType } from './view/spendManagement/chargeCards/cardPolicy/cardPolicyList/archiveCardPolicyEpic';
@@ -577,6 +579,6 @@ import { ActionType as FetchZeniAccStatePageActionType } from './view/zeniAccSta
577
579
  import { ActionType as FetchZeniAccountsPromoCardActionType } from './view/zeniAccountsPromoCard/zeniAccountsPromoCardEpic';
578
580
  import { ActionType as ApproveOAuthConsentActionType } from './view/zeniOAuthView/epics/approveOAuthConsentEpic';
579
581
  /** Root action type is union of all the epic action type */
580
- export type RootActionType = AcceptBillPayTermsActionType | ApproveOAuthConsentActionType | AcceptBillPayUpdatedTermsActionType | AcceptChargeCardTermsActionType | AcceptEmployeeRemiTermsActionType | AcceptMasterTOSEpicActionType | AcceptRemiTermsActionType | AcceptTreasuryTermsActionType | AcceptZeniAccountTermsActionType | AddCardPaymentSourceActionType | ApproveOrRejectBillActionType | ApproveOrRejectBillsBulkActionActionType | ApproveOrRejectRemiActionType | ApproveOrRejectRemisBulkActionActionType | ApproveVendorGlobalReviewActionType | ArchiveTaskActionType | BackgroundRefetchReviewTabActionType | BalanceSheetActionType | BalanceSheetForTimeframeActionType | BulkUpdateTasksListActionType | CancelAiAccountantOnboardingActionType | CancelAndDeleteBillActionType | CancelAndDeleteRemiActionType | CancelOrDeleteBillsBulkActionActionType | CancelOrDeleteRemisBulkActionActionType | CancelScheduleAccruedJournalEntryActionType | CardBalanceActionType | CashBalanceActionType | CashFlowActionType | CashFlowForTimeframeActionType | CashInCashOutActionType | CashPositionActionType | ChangeZeniPersonRolesActionType | CheckDepositActionType | ClearAllActionType | CloseChargeCardActionType | CloseChargeCardsActionType | CombinedStatementActionType | ReportsResyncActionType | InitiateReportsClassViewRefetchingActionType | CompanyManagementSavePendingUpdatesActionType | CompanyManagementSaveUpdatesActionType | ConfirmCardSetupIntentActionType | CreateAddressActionType | CreateBankAccountActionType | CreateCardSetupIntentActionType | CreateCheckingAccountActionType | CreateCompanyAddressActionType | CreateCompanyOfficersActionType | CreateCompanyUserAddressActionType | CreateAutoTransferRuleActionType | CreateGlobalMerchantActionType | CreateInternationalBankAccountActionType | CreateNewSchedulesAccruedActionType | CreateNewSchedulesActionType | CreateNewTaskGroupActionType | CreatePaymentInstrumentActionType | CreateSessionActionType | CreateSessionAndSubmitActionType | CreateTagActionType | CreateTaskFromTaskGroupTemplateActionType | CreateUserBankAccountActionType | CurrencyConversionActionType | DeleteAccountStatementActionType | DeleteAutoTransferRuleActionType | ExcludeAccountFromReconciliationActionType | IncludeAccountInReconciliationActionType | DeleteBankAccountActionType | DeleteBillActionType | DeleteBillPayApprovalRuleActionType | DeleteChatSessionActionType | DeleteFileActionType | DeleteFileListActionType | DeleteInternationalBankAccountActionType | DeletePaymentInstrumentActionType | DeletePersonActionType | DeleteRemiActionType | DeleteRemiApprovalRuleActionType | DeleteScheduleAccruedDetailActionType | DeleteScheduleDetailActionType | DeleteTagActionType | DeleteTaskActionType | SnoozeTaskActionType | UnsnoozeTaskActionType | DeleteTaskGroupActionType | DeleteTransactionAttachmentActionType | DeleteUserBankAccountActionType | DoMagicLinkSignInActionType | DepositAccountTransactionListActionType | DownloadAccountingProviderAttachmentActionType | DragNDropTasksActionType | EnableChargeCardAutoPayActionType | EnableSetupActionType | EstablishOnboardingPlaidConnectionActionType | EstablishPlaidConnectionActionType | ExpressInterestChargeCardActionType | ExpressPayActionType | FetchAccountHistoryActionType | FetchAccountListActionType | FetchAccountListForAccountTypesActionType | FetchAccountSettingsListForAccountTypesActionType | FetchAccruedScheduleListActionType | FetchActiveTenantActionType | FetchAddressActionType | FetchAiAccountantCustomersActionType | FetchAiAccountantJobsActionType | FetchAutoTransferReviewDetailActionType | FetchAutoTransferRuleHistoryActionType | FetchAutoTransferRulesActionType | FetchAllCockpitViewsActionType | FetchAllExpenseAutomationTabsActionType | FetchAllPeopleRequiredActionType | FetchAllTagsActionType | FetchAllTaskGroupsActionType | FetchAllTenantsActionType | FetchAggregatedReportActionType | FetchApAgingActionType | FetchApAgingDetailActionType | FetchArAgingActionType | FetchArAgingDetailActionType | FetchAuditReportGroupViewActionType | FetchAuditRuleGroupViewActionType | FetchBankAccountsListActionType | FetchBankConnectionsViewActionType | FetchBankCountryNameByIbanActionType | FetchBankNameByRoutingActionType | FetchBankNameBySwiftActionType | FetchBillAndInitializeLocalStoreActionType | FetchBillDetailActionType | FetchBillingAccountsListActionType | FetchBillListActionType | FetchBillListPerTabActionType | FetchBillPayApproversDetailsActionType | FetchBillPayApproversListActionType | FetchBillPayCardActionType | FetchBillPayConfigActionType | FetchBillPaySetupApproverViewActionType | FetchBillPaySetupViewActionType | ArchiveCardPolicyActionType | CreateCardPolicyTemplateActionType | ExtractPolicyDocumentActionType | FetchCardPolicyDetailActionType | FetchCardPolicyListActionType | FetchCardPolicyMccCategoriesActionType | FetchCardPolicyVendorOptionsActionType | FetchCardProfilesActionType | UpdateCardPolicyActionType | FetchCashbackDetailActionType | FetchChargeCardConfigActionType | FetchChargeCardDetailActionType | FetchChargeCardDetailPageActionType | FetchChargeCardListActionType | FetchChargeCardListPageActionType | FetchChargeCardPaymentPageActionType | FetchChargeCardRepaymentDetailActionType | FetchChargeCardPaymentHistoryActionType | FetchChargeCardSetupViewActionType | FetchChargeCardStatementListActionType | FetchChargeCardTransactionAttachmentsActionType | FetchChargeCardTransactionListActionType | FetchChargeCardTransactionStatisticsActionType | FetchChargeCardsRecurringExpensesActionType | FetchChatHistoryActionType | FetchChatSessionsForUserActionType | FetchClassListActionType | FetchCollaborationAuthTokenActionType | FetchCompanyBillingAddressActionType | FetchCompanyConfigActionType | FetchCompanyHealthMetricConfigViewEpicActionType | FetchCompanyHealthMetricViewEpicActionType | FetchCompanyManagementActionType | FetchCompanyMetaDataActionType | FetchCompanyMonthEndReportHistoricDataActionType | FetchCompanyMonthEndReportHistoricDatesActionType | FetchCompanyMonthEndReportTemplatesActionType | FetchCompanyMonthEndReportViewActionType | FetchCompanyOnboardingViewActionType | FetchCompanyPassportViewActionType | FetchCompanyPortfolioActionType | FetchCompanyTaskManagerViewActionType | FetchTaskManagerMetricsActionType | FetchCreditAccountActionType | FetchCreditAccountRepaymentActionType | FetchCreditAgentAccessActionType | FetchCreditAgentMacroActionType | FetchCurrencyConversionValueActionType | FetchDashboardActionType | FetchDashboardLayoutActionType | FetchDebitCardSummaryActionType | FetchDepositAccountActionType | FetchDepositAccountDetailActionType | FetchDepositAccountLimitActionType | FetchDepositAccountListActionType | FetchDepositAccountListForCardsActionType | FetchDepositAccStatementListActionType | FetchDownloadSchedulesActionType | FetchDuplicateBillActionType | FetchDuplicateReimbursementEpicActionType | FetchEditBillDetailPageActionType | FetchEditRemiDetailPageActionType | FetchEligibleActionsForBillActionType | FetchEntityAutoCompleteActionType | FetchEntityHistoryActionType | FetchEntityRecommendationsByTransactionIdActionType | FetchExcludedResourcesActionType | FetchExpenseAutomationFluxAnalysisActionType | FetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataActionType | FetchExpenseAutomationJEScheduleActionType | FetchExpenseAutomationJESchedulePageActionType | FetchExpenseAutomationMarkTransactionAsNotMiscategorizedActionType | FetchExpenseAutomationMissingReceiptsActionType | BulkUploadReceiptsActionType | ConfirmBulkUploadMatchActionType | FetchBulkUploadBatchDetailsActionType | FetchMultipleBatchDetailsActionType | FetchMoreBatchDetailsActionType | FetchBulkUploadBatchesActionType | FetchCompletedTransactionsActionType | RefetchCompletedTransactionsOnBulkUploadSortActionType | SearchTransactionsForManualMatchActionType | WatchBulkUploadBatchStatusActionType | BulkUploadMatchResultToastActionType | RestoreAutomatchingActionType | FetchExpenseAutomationReconciliationsViewActionType | FetchExpenseAutomationSaveTransactionCategorizationActionType | FetchExpenseAutomationTransactionCategorizationActionType | FetchExpenseAutomationTransactionCategorizationViewActionType | FetchExpenseAutomationUpdateTransactionCategorizationEpicActionType | FetchExpenseTrendActionType | FetchExternalConnectionsActionType | FetchFileActionType | FetchFileListActionType | FetchForecastListActionType | FetchGlobalMerchantAutoCompleteActionType | FetchGlobalMerchantRecommendationActionType | FetchIncomeTrendActionType | FetchInternationalWireDynamicFormActionType | FetchIntlVerificationFormActionType | FetchIssueCardPageActionType | FetchMagicLinkBankNameByRoutingActionType | FetchMagicLinkBankNameBySwiftActionType | FetchMagicLinkBillActionType | FetchMagicLinkTenantActionType | FetchManagementActionType | FetchMerchantListActionType | FetchMonthClosePerformanceTrendActionType | FetchMonthEndCloseChecksActionType | FetchMyProfileActionType | FetchMyProfileViewActionType | FetchNetBurnOrIncomeStoryCardActionType | FetchNetBurnOrIncomeWithForecastActionType | FetchNotificationSettingsActionType | FetchNotificationSettingsViewActionType | FetchNotificationUnreadCountActionType | FetchNotificationViewActionType | FetchRegisteredInterestsActionType | FetchOnboardingActionType | FetchOnboardingCompletedCompaniesActionType | FetchOnboardingCustomerSetupViewActionType | FetchOnboardingCustomerViewActionType | FetchOpExWithForecastActionType | FetchOwnerListActionType | FetchParentSubsidiaryManagementActionType | FetchPaymentAccountBalanceActionType | FetchPaymentAccountListActionType | FetchPaymentSourcesActionType | FetchPortfolioActionType | FetchPreviousBillsActionType | FetchQBOConnectionPoolActionType | FetchRecommendationByEntityIdActionType | FetchRecommendationByEntityNameActionType | FetchRecommendationsAndUpdateMerchantRecommendationsActionType | FetchRecommendationsAndUpdateVendorRecommendationsActionType | FetchRecommendedBillExpenseActionType | FetchReferralsActionType | FetchReimbursementCardActionType | FetchReimbursementConfigActionType | FetchRemiAndInitializeLocalStoreActionType | FetchRemiApproversDetailsActionType | FetchRemiApproversListActionType | FetchRemiDetailActionType | FetchRemiListActionType | FetchRemiListPerTabActionType | FetchRemiSetupApproverViewActionType | FetchRemiSetupViewActionType | FetchRevenueWithForecastActionType | FetchReviewCompanyActionType | FetchReviewTransferDetailActionType | FetchRewardsPlanActionType | FetchScheduleAccruedDetailsActionType | FetchScheduleAccruedDetailsPageActionType | FetchScheduleDetailsActionType | FetchScheduleDetailsPageActionType | FetchScheduleListActionType | FetchSchedulesListActionType | FetchSubscriptionActionType | FetchSubscriptionAddOnsActionType | FetchSubscriptionCouponsActionType | FetchSubscriptionCreateEstimateActionType | FetchSubscriptionDetailsActionType | FetchSubscriptionListActionType | FetchSubscriptionPlansActionType | FetchSubscriptionSummaryForTenantActionType | FetchSubscriptionUpdateEstimateActionType | FetchSuggestedQuestionsActionType | FetchTaskDetailActionType | FetchTaskDetailPageActionType | FetchTaskGroupTemplatesActionType | FetchTaskHistoryActionType | FetchTaskListActionType | FetchTaskListPageActionType | FetchTasksCardActionType | FetchTransactionActivityLogActionType | FetchTransactionDetailActionType | FetchTransactionListByAccountActionType | FetchTransactionListByClassActionType | FetchTransactionListByProjectActionType | FetchTransactionListByEntityActionType | FetchTransactionsForEntityActionType | FetchTransactionsListByCategoryTypeActionType | FetchTreasuryStatementListActionType | FetchTreasuryDetailActionType | FetchTreasuryFundsActionType | FetchTreasuryHistoryActionType | FetchTreasurySetupViewActionType | FetchTreasuryTaxLetterListActionType | FetchTreasuryTransactionListActionType | UpdatePortfolioAllocationActionType | FetchPortfolioAllocationActionType | FetchTrendForEntityActionType | FetchUserDetailActionType | FetchUserFinancialAccountActionType | FetchUserListByTypeActionType | FetchUserRoleConfigActionType | FetchVendor1099TypeListActionType | FetchVendorActionType | FetchVendorAndUpdateBillLocalDataActionType | FetchVendorByNameAndParseInvoiceActionType | FetchVendorDetailsActionType | FetchVendorFirstReviewAttachmentsActionType | FetchVendorFirstReviewViewActionType | FetchVendorGlobalReviewViewActionType | FetchVendorsActionType | FetchVendorsFiling1099ActionType | FetchVendorsFiling1099AllActionType | FetchVendorsFiling1099DownloadActionType | FetchVendorTabViewActionType | FetchVendorTypeListActionType | FetchZeniAccountListPageActionType | FetchZeniAccountsConfigActionType | FetchZeniAccountSetupViewActionType | FetchZeniAccountsPromoCardActionType | FetchZeniAccStatePageActionType | FetchZeniUsersActionType | GetOnboardingEmailGroupActionType | GetOnboardingPlaidLinkTokenActionType | GetPaymentAccountsActionType | GetPlaidLinkTokenActionType | IgnoreExpenseAutomationJEScheduleActionType | ImproveUsingZeniGPTActionType | InitialiseExpenseAutomationLocalDataForSelectedAccountIdActionType | InitializeAccountMappingViewActionType | InitializeAccountSettingsViewEpicActionType | InitializeBillPaySetupApproverViewUpdateDataActionType | InitializeBillToLocalStoreActionType | InitializeCardUserOnboardingLocalDataActionType | InitializeCompanyHealthMetricViewLocalDataEpicActionType | InitializeEditPersonActionType | InitializeExpenseAutomationJeScheduleLocalDataActionType | InitializeInternationalWireLocalDataActionType | InitializeIntlVerificationFormEpicActionType | InitializeMyProfileLocalDataActionType | InitializeOnboardingCustomerViewUpdateDataActionType | InitializeRemiSetupApproverViewUpdateDataActionType | InitializeRemiToLocalStoreActionType | InitializeScheduleAccruedDetailLocalDataActionType | InitializeScheduleDetailLocalDataActionType | InitializeSubscriptionLocalDataActionType | InitializeTaskToLocalStoreActionType | InitializeTransactionDetailLocalDataActionType | InitializeVendorAddressActionType | InitiateChargeCardRepaymentActionType | InsightsCardActionType | InvitePeopleActionType | InviteZeniPeopleActionType | IssueChargeCardActionType | LockChargeCardActionType | LockChargeCardsActionType | MarkAsCompleteScheduleDetailActionType | MarkTransactionAsNotMiscategorizedActionType | NetBurnOrIncomeActionType | NetBurnOrIncomeClassesViewActionType | NetBurnOrIncomeForTimeframeActionType | NetBurnOrIncomeForTimeframeClassesViewActionType | NotifyMeForFeatureActionType | OpExActionType | OpExByVendorReportActionType | OpExByVendorReportForTimeframeActionType | OpExByVendorReportSummaryActionType | OpExClassesViewActionType | OpExForTimeframeClassesViewActionType | OpExForTimeframeViewActionType | ParallelFetchAccountTransactionListActionType | ParallelFetchClassTransactionListActionType | ParallelFetchProjectTransactionListActionType | ParallelFetchEntityTransactionListActionType | ParallelFetchTransactionListByCategoryTypeActionType | ParseInvoiceToBillActionType | ParseReceiptsToRemiActionType | PeopleActionType | PeoplePageActionType | PeopleSaveUpdatesActionType | ProfitAndLossActionType | ProfitAndLossClassesViewActionType | ProfitAndLossForTimeframeActionType | ProfitAndLossForTimeframeClassesViewActionType | ProfitAndLossForTimeframeProjectViewActionType | ProfitAndLossProjectViewActionType | FetchProjectListActionType | PushToastNotificationActionType | RecommendationForAccountSettingsActionType | RecommendationForAccountTypeActionType | RefreshExpenseAutomationCurrentTabActionType | RefreshIntegrationsDataActionType | RejectVendorGlobalReviewActionType | ResendCardInviteActionType | ResendInviteActionType | ResendOtpActionType | ResendVerifyDeviceOTPActionType | ResendReferralInviteActionType | ResetTransactionVendorLocalDataActionType | ResetVendorDetailLocalDataActionType | RetryBankAccountConnectionActionType | RetryBankAccountConnectionForOnboardingActionType | RetryExpenseAutomationJEScheduleActionType | RetryOrRefundBillActionType | RevenueActionType | RevenueClassesViewActionType | RevenueForTimeframeClassesViewActionType | RevenueForTimeframeViewActionType | ValidateBillsBulkActionActionType | ReviewDraftRemisBulkActionActionTye | ReviewExpenseAutomationFluxAnalysisActionType | RevokeCardInviteActionType | RevokeChargeCardsInviteActionType | SaveAccountMappingViewActionType | SaveAccountSettingsViewEpicActionType | SaveAddressActionType | SaveBillDetailActionType | SaveBillPaySetupApproverViewUpdatesActionType | saveCardOnboardingUserDetailsActionType | SaveCompanyBillingAddressActionType | SaveCompanyHealthMetricByIdEpicActionType | SaveCompanyMonthEndReportActionType | SaveCompanyPassportDetailsActionType | SaveCreditAgentMacroActionType | SaveExpenseAutomationReconciliationDetailActionType | SaveExternalConnectionActionType | SaveMagicLinkBankAccountActionType | SaveNotificationSettingsEpicActionType | SaveOnboardingCustomerCompletedStatusActionType | SaveOnboardingCustomerNotesActionType | SaveOnboardingCustomerViewUpdatesActionType | SaveRealTimeApprovalActionType | SaveReasonForAuditRuleActionType | SaveReconciliationReviewActionType | SaveRemiDetailActionType | SaveRemiSetupApproverViewUpdatesActionType | SaveScheduleAccruedDetailsActionType | SaveScheduleDetailsActionType | SaveSubscriptionNotesUpdatesActionType | SaveSubscriptionUpdatesActionType | SaveTaskDetailActionType | SaveTranactionVendorActionType | SaveTransactionDetailActionType | SaveVendorActionType | SaveVendorDetailsViewActionType | SaveVendorFirstReviewViewActionType | ScheduleTenantCreditScoreCronActionType | SendCompanyMonthEndReportActionType | SendOnboardingCustomerViewInviteActionType | SendOtpActionType | SendReferralInviteActionType | SendEmailMagicLinkToUserActionType | SessionHeartbeatActionType | SignInActionType | SignOutActionType | VerifyDeviceWithTwoFAActionType | StatementCloseDayActionType | StopSubmitActionType | StopSubmitQuestionActionType | SubmitDraftBillsBulkActionActionType | SubmitDraftRemisBulkActionActionType | SubmitExpressPayActionType | SubmitIntlVerificationActionType | SubmitQuestionActionType | ToggleReportUIOptionForecastModeActionType | TopExActionType | TransferMoneyActionType | TreasuryTransferMoneyActionType | TriggerAiAccountantJobActionType | TriggerReviewTabRefetchActionType | UnlinkPaymentAccountActionType | UnlockChargeCardActionType | UnlockChargeCardsActionType | UpdateAccruedJESchedulesActionType | UpdateAddressActionType | UpdateAutoTransferRuleActionType | UpdateAmountsInScheduleAccruedDetailActionType | UpdateAmountsInScheduleDetailActionType | UpdateBusinessVerificationDetailsActionType | UpdateCardProfileActionType | UpdateChargeCardDetailActionType | UpdateChargeCardLimitActionType | UpdateChargeCardNameActionType | UpdateChargeCardsLimitActionType | UpdateAccountingClassesEnabledActionType | UpdateCompanyDetailsActionType | UpdateCompanyOfficerActionType | UpdateCompanyPassportLocalStoreDataActionType | UpdateDashboardLayoutActionType | UpdateDebitCardPinAttemptActionType | UpdateDepositAccountActionType | UpdateDynamicFormActionType | UpdateExpenseAutomationReconciliationBalanceLocalDataActionType | UpdateFileNameActionType | UpdateFilesMetadataActionType | UpdateJESchedulesActionType | UpdateMappedCashAccountActionType | UpdateMileageDetailsActionType | UpdateMyProfileActionType | UpdateNetBurnOrIncomeStoryCardSettingsActionType | UpdateNotificationViewAllNotificationsStatusActionType | UpdateNotificationViewNotificationStatusActionType | UpdateOnboardingCustomerViewActionType | UpdateOnboardingCustomerViewCompleteStatusActionType | UpdateOnboardingCustomerViewDashboardLoadedActionType | UpdateOnboardingCustomerViewLocalStoreDataActionType | UpdateOnboardingPaymentAccountLoginStatusActionType | UpdateOnboardingPaymentAccountStatusActionType | UpdatePaymentAccountActionType | UpdatePaymentAccountLoginStatusActionType | UpdatePaymentAccountStatusActionType | UpdatePhysicalChargeCardAttemptActionType | UpdatePrimaryContactActionType | UpdatePrimaryFundingAccountActionType | UpdateReferViewedActionType | UpdateRemiSetupViewLocalStoreDataActionType | UpdateReportUIOptionCOABalancesRangeActionType | UpdateReportUIOptionIsCompareModeActionType | UpdateReportUIOptionIsCompareModeOnActionType | UpdateReportUIOptionThisPeriodActionType | UpdateReportUIOptionTimeFrameActionType | UpdateQBOConnectionPoolExternalConnectionActionType | UpdateSectionAccountsViewActionType | UpdateSectionClassesViewV2ActionType | UpdateSectionProjectViewActionType | UpdateSelectedVendorForCreateFlowActionType | UpdateSetupViewLocalStoreDataActionType | UpdateTaskFromListViewActionType | UpdateTaskGroupNameActionType | FetchCannedResponsesActionType | SaveCannedResponseActionType | DeleteCannedResponseActionType | UpdateTransactionDetailActionType | UpdateTransactionOnUploadSuccessActionType | UpdateTreasuryVideoViewedActionType | UpdateVendorContactActionType | UploadAccountStatementActionType | UploadMissingReceiptSuccessEpicActionType | UploadTransactionReceiptSuccessEpicActionType | VendorFiling1099UploadDetailsSaveActionType | VendorsTabFetchVendorActionType | VendorsTabFetchVendorDetailPageViewActionType | VendorsTabFetchVendorDetailsActionType | VendorsTabResetVendorDetailLocalDataActionType | VendorsTabSaveVendorActionType | VerifyOtpActionType | VerifyUserActionType | WiseRedirectActionType;
582
+ export type RootActionType = AcceptBillPayTermsActionType | ApproveOAuthConsentActionType | AcceptBillPayUpdatedTermsActionType | AcceptChargeCardTermsActionType | AcceptEmployeeRemiTermsActionType | AcceptMasterTOSEpicActionType | AcceptRemiTermsActionType | AcceptTreasuryTermsActionType | AcceptZeniAccountTermsActionType | AddCardPaymentSourceActionType | ApproveOrRejectBillActionType | ApproveOrRejectBillsBulkActionActionType | ApproveOrRejectRemiActionType | ApproveOrRejectRemisBulkActionActionType | ApproveVendorGlobalReviewActionType | ArchiveTaskActionType | BackgroundRefetchReviewTabActionType | BalanceSheetActionType | BalanceSheetForTimeframeActionType | BulkUpdateTasksListActionType | CancelAiAccountantOnboardingActionType | CancelAndDeleteBillActionType | CancelAndDeleteRemiActionType | CancelOrDeleteBillsBulkActionActionType | CancelOrDeleteRemisBulkActionActionType | CancelScheduleAccruedJournalEntryActionType | CardBalanceActionType | CashBalanceActionType | CashFlowActionType | CashFlowForTimeframeActionType | CashInCashOutActionType | CashPositionActionType | ChangeZeniPersonRolesActionType | CheckDepositActionType | ClearAllActionType | CloseChargeCardActionType | CloseChargeCardsActionType | CombinedStatementActionType | ReportsResyncActionType | InitiateReportsClassViewRefetchingActionType | CompanyManagementSavePendingUpdatesActionType | CompanyManagementSaveUpdatesActionType | ConfirmCardSetupIntentActionType | CreateAddressActionType | CreateBankAccountActionType | CreateCardSetupIntentActionType | CreateCheckingAccountActionType | CreateCompanyAddressActionType | CreateCompanyOfficersActionType | CreateCompanyUserAddressActionType | CreateAutoTransferRuleActionType | CreateGlobalMerchantActionType | CreateInternationalBankAccountActionType | CreateNewSchedulesAccruedActionType | CreateNewSchedulesActionType | CreateNewTaskGroupActionType | CreatePaymentInstrumentActionType | CreateSessionActionType | CreateSessionAndSubmitActionType | CreateTagActionType | CreateTaskFromTaskGroupTemplateActionType | CreateUserBankAccountActionType | CurrencyConversionActionType | DeleteAccountStatementActionType | DeleteAutoTransferRuleActionType | ExcludeAccountFromReconciliationActionType | IncludeAccountInReconciliationActionType | DeleteBankAccountActionType | DeleteBillActionType | DeleteBillPayApprovalRuleActionType | DeleteChatSessionActionType | DeleteFileActionType | DeleteFileListActionType | DeleteInternationalBankAccountActionType | DeletePaymentInstrumentActionType | DeletePersonActionType | DeleteRemiActionType | DeleteRemiApprovalRuleActionType | DeleteScheduleAccruedDetailActionType | DeleteScheduleDetailActionType | DeleteTagActionType | DeleteTaskActionType | SnoozeTaskActionType | UnsnoozeTaskActionType | DeleteTaskGroupActionType | DeleteTransactionAttachmentActionType | DeleteUserBankAccountActionType | DoMagicLinkSignInActionType | DepositAccountTransactionListActionType | DownloadAccountingProviderAttachmentActionType | DragNDropTasksActionType | EnableChargeCardAutoPayActionType | EnableSetupActionType | EstablishOnboardingPlaidConnectionActionType | EstablishPlaidConnectionActionType | ExpressInterestChargeCardActionType | ExpressPayActionType | FetchAccountHistoryActionType | FetchAccountListActionType | FetchAccountListForAccountTypesActionType | FetchAccountSettingsListForAccountTypesActionType | FetchAccruedScheduleListActionType | FetchActiveTenantActionType | FetchAddressActionType | FetchAiAccountantCustomersActionType | FetchAiAccountantJobsActionType | FetchAutoTransferReviewDetailActionType | FetchAutoTransferRuleHistoryActionType | FetchAutoTransferRulesActionType | FetchAllCockpitViewsActionType | FetchAllExpenseAutomationTabsActionType | FetchAllPeopleRequiredActionType | FetchAllTagsActionType | FetchAllTaskGroupsActionType | FetchAllTenantsActionType | FetchAggregatedReportActionType | FetchApAgingActionType | FetchApAgingDetailActionType | FetchArAgingActionType | FetchArAgingDetailActionType | FetchAuditReportGroupViewActionType | FetchAuditRuleGroupViewActionType | FetchBankAccountsListActionType | FetchBankConnectionsViewActionType | FetchBankCountryNameByIbanActionType | FetchBankNameByRoutingActionType | FetchBankNameBySwiftActionType | FetchBillAndInitializeLocalStoreActionType | FetchBillDetailActionType | FetchBillingAccountsListActionType | FetchBillListActionType | FetchBillListPerTabActionType | FetchBillPayApproversDetailsActionType | FetchBillPayApproversListActionType | FetchBillPayCardActionType | FetchBillPayConfigActionType | FetchBillPaySetupApproverViewActionType | FetchBillPaySetupViewActionType | ArchiveCardPolicyActionType | CreateCardPolicyTemplateActionType | ExtractPolicyDocumentActionType | PolicyRecommendationFromUploadActionType | PolicyDocumentExtractionToRecommendationBridgeActionType | FetchCardPolicyDetailActionType | FetchCardPolicyListActionType | FetchCardPolicyMccCategoriesActionType | FetchCardPolicyVendorOptionsActionType | FetchCardProfilesActionType | UpdateCardPolicyActionType | FetchCashbackDetailActionType | FetchChargeCardConfigActionType | FetchChargeCardDetailActionType | FetchChargeCardDetailPageActionType | FetchChargeCardListActionType | FetchChargeCardListPageActionType | FetchChargeCardPaymentPageActionType | FetchChargeCardRepaymentDetailActionType | FetchChargeCardPaymentHistoryActionType | FetchChargeCardSetupViewActionType | FetchChargeCardStatementListActionType | FetchChargeCardTransactionAttachmentsActionType | FetchChargeCardTransactionListActionType | FetchChargeCardTransactionStatisticsActionType | FetchChargeCardsRecurringExpensesActionType | FetchChatHistoryActionType | FetchChatSessionsForUserActionType | FetchClassListActionType | FetchCollaborationAuthTokenActionType | FetchCompanyBillingAddressActionType | FetchCompanyConfigActionType | FetchCompanyHealthMetricConfigViewEpicActionType | FetchCompanyHealthMetricViewEpicActionType | FetchCompanyManagementActionType | FetchCompanyMetaDataActionType | FetchCompanyMonthEndReportHistoricDataActionType | FetchCompanyMonthEndReportHistoricDatesActionType | FetchCompanyMonthEndReportTemplatesActionType | FetchCompanyMonthEndReportViewActionType | FetchCompanyOnboardingViewActionType | FetchCompanyPassportViewActionType | FetchCompanyPortfolioActionType | FetchCompanyTaskManagerViewActionType | FetchTaskManagerMetricsActionType | FetchCreditAccountActionType | FetchCreditAccountRepaymentActionType | FetchCreditAgentAccessActionType | FetchCreditAgentMacroActionType | FetchCurrencyConversionValueActionType | FetchDashboardActionType | FetchDashboardLayoutActionType | FetchDebitCardSummaryActionType | FetchDepositAccountActionType | FetchDepositAccountDetailActionType | FetchDepositAccountLimitActionType | FetchDepositAccountListActionType | FetchDepositAccountListForCardsActionType | FetchDepositAccStatementListActionType | FetchDownloadSchedulesActionType | FetchDuplicateBillActionType | FetchDuplicateReimbursementEpicActionType | FetchEditBillDetailPageActionType | FetchEditRemiDetailPageActionType | FetchEligibleActionsForBillActionType | FetchEntityAutoCompleteActionType | FetchEntityHistoryActionType | FetchEntityRecommendationsByTransactionIdActionType | FetchExcludedResourcesActionType | FetchExpenseAutomationFluxAnalysisActionType | FetchExpenseAutomationInitializeTransactionCategorizationViewLocalDataActionType | FetchExpenseAutomationJEScheduleActionType | FetchExpenseAutomationJESchedulePageActionType | FetchExpenseAutomationMarkTransactionAsNotMiscategorizedActionType | FetchExpenseAutomationMissingReceiptsActionType | BulkUploadReceiptsActionType | ConfirmBulkUploadMatchActionType | FetchBulkUploadBatchDetailsActionType | FetchMultipleBatchDetailsActionType | FetchMoreBatchDetailsActionType | FetchBulkUploadBatchesActionType | FetchCompletedTransactionsActionType | RefetchCompletedTransactionsOnBulkUploadSortActionType | SearchTransactionsForManualMatchActionType | WatchBulkUploadBatchStatusActionType | BulkUploadMatchResultToastActionType | RestoreAutomatchingActionType | FetchExpenseAutomationReconciliationsViewActionType | FetchExpenseAutomationSaveTransactionCategorizationActionType | FetchExpenseAutomationTransactionCategorizationActionType | FetchExpenseAutomationTransactionCategorizationViewActionType | FetchExpenseAutomationUpdateTransactionCategorizationEpicActionType | FetchExpenseTrendActionType | FetchExternalConnectionsActionType | FetchFileActionType | FetchFileListActionType | FetchForecastListActionType | FetchGlobalMerchantAutoCompleteActionType | FetchGlobalMerchantRecommendationActionType | FetchIncomeTrendActionType | FetchInternationalWireDynamicFormActionType | FetchIntlVerificationFormActionType | FetchIssueCardPageActionType | FetchMagicLinkBankNameByRoutingActionType | FetchMagicLinkBankNameBySwiftActionType | FetchMagicLinkBillActionType | FetchMagicLinkTenantActionType | FetchManagementActionType | FetchMerchantListActionType | FetchMonthClosePerformanceTrendActionType | FetchMonthEndCloseChecksActionType | FetchMyProfileActionType | FetchMyProfileViewActionType | FetchNetBurnOrIncomeStoryCardActionType | FetchNetBurnOrIncomeWithForecastActionType | FetchNotificationSettingsActionType | FetchNotificationSettingsViewActionType | FetchNotificationUnreadCountActionType | FetchNotificationViewActionType | FetchRegisteredInterestsActionType | FetchOnboardingActionType | FetchOnboardingCompletedCompaniesActionType | FetchOnboardingCustomerSetupViewActionType | FetchOnboardingCustomerViewActionType | FetchOpExWithForecastActionType | FetchOwnerListActionType | FetchParentSubsidiaryManagementActionType | FetchPaymentAccountBalanceActionType | FetchPaymentAccountListActionType | FetchPaymentSourcesActionType | FetchPortfolioActionType | FetchPreviousBillsActionType | FetchQBOConnectionPoolActionType | FetchRecommendationByEntityIdActionType | FetchRecommendationByEntityNameActionType | FetchRecommendationsAndUpdateMerchantRecommendationsActionType | FetchRecommendationsAndUpdateVendorRecommendationsActionType | FetchRecommendedBillExpenseActionType | FetchReferralsActionType | FetchReimbursementCardActionType | FetchReimbursementConfigActionType | FetchRemiAndInitializeLocalStoreActionType | FetchRemiApproversDetailsActionType | FetchRemiApproversListActionType | FetchRemiDetailActionType | FetchRemiListActionType | FetchRemiListPerTabActionType | FetchRemiSetupApproverViewActionType | FetchRemiSetupViewActionType | FetchRevenueWithForecastActionType | FetchReviewCompanyActionType | FetchReviewTransferDetailActionType | FetchRewardsPlanActionType | FetchScheduleAccruedDetailsActionType | FetchScheduleAccruedDetailsPageActionType | FetchScheduleDetailsActionType | FetchScheduleDetailsPageActionType | FetchScheduleListActionType | FetchSchedulesListActionType | FetchSubscriptionActionType | FetchSubscriptionAddOnsActionType | FetchSubscriptionCouponsActionType | FetchSubscriptionCreateEstimateActionType | FetchSubscriptionDetailsActionType | FetchSubscriptionListActionType | FetchSubscriptionPlansActionType | FetchSubscriptionSummaryForTenantActionType | FetchSubscriptionUpdateEstimateActionType | FetchSuggestedQuestionsActionType | FetchTaskDetailActionType | FetchTaskDetailPageActionType | FetchTaskGroupTemplatesActionType | FetchTaskHistoryActionType | FetchTaskListActionType | FetchTaskListPageActionType | FetchTasksCardActionType | FetchTransactionActivityLogActionType | FetchTransactionDetailActionType | FetchTransactionListByAccountActionType | FetchTransactionListByClassActionType | FetchTransactionListByProjectActionType | FetchTransactionListByEntityActionType | FetchTransactionsForEntityActionType | FetchTransactionsListByCategoryTypeActionType | FetchTreasuryStatementListActionType | FetchTreasuryDetailActionType | FetchTreasuryFundsActionType | FetchTreasuryHistoryActionType | FetchTreasurySetupViewActionType | FetchTreasuryTaxLetterListActionType | FetchTreasuryTransactionListActionType | UpdatePortfolioAllocationActionType | FetchPortfolioAllocationActionType | FetchTrendForEntityActionType | FetchUserDetailActionType | FetchUserFinancialAccountActionType | FetchUserListByTypeActionType | FetchUserRoleConfigActionType | FetchVendor1099TypeListActionType | FetchVendorActionType | FetchVendorAndUpdateBillLocalDataActionType | FetchVendorByNameAndParseInvoiceActionType | FetchVendorDetailsActionType | FetchVendorFirstReviewAttachmentsActionType | FetchVendorFirstReviewViewActionType | FetchVendorGlobalReviewViewActionType | FetchVendorsActionType | FetchVendorsFiling1099ActionType | FetchVendorsFiling1099AllActionType | FetchVendorsFiling1099DownloadActionType | FetchVendorTabViewActionType | FetchVendorTypeListActionType | FetchZeniAccountListPageActionType | FetchZeniAccountsConfigActionType | FetchZeniAccountSetupViewActionType | FetchZeniAccountsPromoCardActionType | FetchZeniAccStatePageActionType | FetchZeniUsersActionType | GetOnboardingEmailGroupActionType | GetOnboardingPlaidLinkTokenActionType | GetPaymentAccountsActionType | GetPlaidLinkTokenActionType | IgnoreExpenseAutomationJEScheduleActionType | ImproveUsingZeniGPTActionType | InitialiseExpenseAutomationLocalDataForSelectedAccountIdActionType | InitializeAccountMappingViewActionType | InitializeAccountSettingsViewEpicActionType | InitializeBillPaySetupApproverViewUpdateDataActionType | InitializeBillToLocalStoreActionType | InitializeCardUserOnboardingLocalDataActionType | InitializeCompanyHealthMetricViewLocalDataEpicActionType | InitializeEditPersonActionType | InitializeExpenseAutomationJeScheduleLocalDataActionType | InitializeInternationalWireLocalDataActionType | InitializeIntlVerificationFormEpicActionType | InitializeMyProfileLocalDataActionType | InitializeOnboardingCustomerViewUpdateDataActionType | InitializeRemiSetupApproverViewUpdateDataActionType | InitializeRemiToLocalStoreActionType | InitializeScheduleAccruedDetailLocalDataActionType | InitializeScheduleDetailLocalDataActionType | InitializeSubscriptionLocalDataActionType | InitializeTaskToLocalStoreActionType | InitializeTransactionDetailLocalDataActionType | InitializeVendorAddressActionType | InitiateChargeCardRepaymentActionType | InsightsCardActionType | InvitePeopleActionType | InviteZeniPeopleActionType | IssueChargeCardActionType | LockChargeCardActionType | LockChargeCardsActionType | MarkAsCompleteScheduleDetailActionType | MarkTransactionAsNotMiscategorizedActionType | NetBurnOrIncomeActionType | NetBurnOrIncomeClassesViewActionType | NetBurnOrIncomeForTimeframeActionType | NetBurnOrIncomeForTimeframeClassesViewActionType | NotifyMeForFeatureActionType | OpExActionType | OpExByVendorReportActionType | OpExByVendorReportForTimeframeActionType | OpExByVendorReportSummaryActionType | OpExClassesViewActionType | OpExForTimeframeClassesViewActionType | OpExForTimeframeViewActionType | ParallelFetchAccountTransactionListActionType | ParallelFetchClassTransactionListActionType | ParallelFetchProjectTransactionListActionType | ParallelFetchEntityTransactionListActionType | ParallelFetchTransactionListByCategoryTypeActionType | ParseInvoiceToBillActionType | ParseReceiptsToRemiActionType | PeopleActionType | PeoplePageActionType | PeopleSaveUpdatesActionType | ProfitAndLossActionType | ProfitAndLossClassesViewActionType | ProfitAndLossForTimeframeActionType | ProfitAndLossForTimeframeClassesViewActionType | ProfitAndLossForTimeframeProjectViewActionType | ProfitAndLossProjectViewActionType | FetchProjectListActionType | PushToastNotificationActionType | RecommendationForAccountSettingsActionType | RecommendationForAccountTypeActionType | RefreshExpenseAutomationCurrentTabActionType | RefreshIntegrationsDataActionType | RejectVendorGlobalReviewActionType | ResendCardInviteActionType | ResendInviteActionType | ResendOtpActionType | ResendVerifyDeviceOTPActionType | ResendReferralInviteActionType | ResetTransactionVendorLocalDataActionType | ResetVendorDetailLocalDataActionType | RetryBankAccountConnectionActionType | RetryBankAccountConnectionForOnboardingActionType | RetryExpenseAutomationJEScheduleActionType | RetryOrRefundBillActionType | RevenueActionType | RevenueClassesViewActionType | RevenueForTimeframeClassesViewActionType | RevenueForTimeframeViewActionType | ValidateBillsBulkActionActionType | ReviewDraftRemisBulkActionActionTye | ReviewExpenseAutomationFluxAnalysisActionType | RevokeCardInviteActionType | RevokeChargeCardsInviteActionType | SaveAccountMappingViewActionType | SaveAccountSettingsViewEpicActionType | SaveAddressActionType | SaveBillDetailActionType | SaveBillPaySetupApproverViewUpdatesActionType | saveCardOnboardingUserDetailsActionType | SaveCompanyBillingAddressActionType | SaveCompanyHealthMetricByIdEpicActionType | SaveCompanyMonthEndReportActionType | SaveCompanyPassportDetailsActionType | SaveCreditAgentMacroActionType | SaveExpenseAutomationReconciliationDetailActionType | SaveExternalConnectionActionType | SaveMagicLinkBankAccountActionType | SaveNotificationSettingsEpicActionType | SaveOnboardingCustomerCompletedStatusActionType | SaveOnboardingCustomerNotesActionType | SaveOnboardingCustomerViewUpdatesActionType | SaveRealTimeApprovalActionType | SaveReasonForAuditRuleActionType | SaveReconciliationReviewActionType | SaveRemiDetailActionType | SaveRemiSetupApproverViewUpdatesActionType | SaveScheduleAccruedDetailsActionType | SaveScheduleDetailsActionType | SaveSubscriptionNotesUpdatesActionType | SaveSubscriptionUpdatesActionType | SaveTaskDetailActionType | SaveTranactionVendorActionType | SaveTransactionDetailActionType | SaveVendorActionType | SaveVendorDetailsViewActionType | SaveVendorFirstReviewViewActionType | ScheduleTenantCreditScoreCronActionType | SendCompanyMonthEndReportActionType | SendOnboardingCustomerViewInviteActionType | SendOtpActionType | SendReferralInviteActionType | SendEmailMagicLinkToUserActionType | SessionHeartbeatActionType | SignInActionType | SignOutActionType | VerifyDeviceWithTwoFAActionType | StatementCloseDayActionType | StopSubmitActionType | StopSubmitQuestionActionType | SubmitDraftBillsBulkActionActionType | SubmitDraftRemisBulkActionActionType | SubmitExpressPayActionType | SubmitIntlVerificationActionType | SubmitQuestionActionType | ToggleReportUIOptionForecastModeActionType | TopExActionType | TransferMoneyActionType | TreasuryTransferMoneyActionType | TriggerAiAccountantJobActionType | TriggerReviewTabRefetchActionType | UnlinkPaymentAccountActionType | UnlockChargeCardActionType | UnlockChargeCardsActionType | UpdateAccruedJESchedulesActionType | UpdateAddressActionType | UpdateAutoTransferRuleActionType | UpdateAmountsInScheduleAccruedDetailActionType | UpdateAmountsInScheduleDetailActionType | UpdateBusinessVerificationDetailsActionType | UpdateCardProfileActionType | UpdateChargeCardDetailActionType | UpdateChargeCardLimitActionType | UpdateChargeCardNameActionType | UpdateChargeCardsLimitActionType | UpdateAccountingClassesEnabledActionType | UpdateCompanyDetailsActionType | UpdateCompanyOfficerActionType | UpdateCompanyPassportLocalStoreDataActionType | UpdateDashboardLayoutActionType | UpdateDebitCardPinAttemptActionType | UpdateDepositAccountActionType | UpdateDynamicFormActionType | UpdateExpenseAutomationReconciliationBalanceLocalDataActionType | UpdateFileNameActionType | UpdateFilesMetadataActionType | UpdateJESchedulesActionType | UpdateMappedCashAccountActionType | UpdateMileageDetailsActionType | UpdateMyProfileActionType | UpdateNetBurnOrIncomeStoryCardSettingsActionType | UpdateNotificationViewAllNotificationsStatusActionType | UpdateNotificationViewNotificationStatusActionType | UpdateOnboardingCustomerViewActionType | UpdateOnboardingCustomerViewCompleteStatusActionType | UpdateOnboardingCustomerViewDashboardLoadedActionType | UpdateOnboardingCustomerViewLocalStoreDataActionType | UpdateOnboardingPaymentAccountLoginStatusActionType | UpdateOnboardingPaymentAccountStatusActionType | UpdatePaymentAccountActionType | UpdatePaymentAccountLoginStatusActionType | UpdatePaymentAccountStatusActionType | UpdatePhysicalChargeCardAttemptActionType | UpdatePrimaryContactActionType | UpdatePrimaryFundingAccountActionType | UpdateReferViewedActionType | UpdateRemiSetupViewLocalStoreDataActionType | UpdateReportUIOptionCOABalancesRangeActionType | UpdateReportUIOptionIsCompareModeActionType | UpdateReportUIOptionIsCompareModeOnActionType | UpdateReportUIOptionThisPeriodActionType | UpdateReportUIOptionTimeFrameActionType | UpdateQBOConnectionPoolExternalConnectionActionType | UpdateSectionAccountsViewActionType | UpdateSectionClassesViewV2ActionType | UpdateSectionProjectViewActionType | UpdateSelectedVendorForCreateFlowActionType | UpdateSetupViewLocalStoreDataActionType | UpdateTaskFromListViewActionType | UpdateTaskGroupNameActionType | FetchCannedResponsesActionType | SaveCannedResponseActionType | DeleteCannedResponseActionType | UpdateTransactionDetailActionType | UpdateTransactionOnUploadSuccessActionType | UpdateTreasuryVideoViewedActionType | UpdateVendorContactActionType | UploadAccountStatementActionType | UploadMissingReceiptSuccessEpicActionType | UploadTransactionReceiptSuccessEpicActionType | VendorFiling1099UploadDetailsSaveActionType | VendorsTabFetchVendorActionType | VendorsTabFetchVendorDetailPageViewActionType | VendorsTabFetchVendorDetailsActionType | VendorsTabResetVendorDetailLocalDataActionType | VendorsTabSaveVendorActionType | VerifyOtpActionType | VerifyUserActionType | WiseRedirectActionType;
581
583
  declare const rootEpic: Epic<RootActionType>;
582
584
  export default rootEpic;