@zeniai/client-epic-state 4.17.34 → 4.17.35

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 (50) hide show
  1. package/lib/commonPayloadTypes/recommendationPayload.d.ts +1 -0
  2. package/lib/commonPayloadTypes/recommendationPayload.js +1 -0
  3. package/lib/commonPayloadTypes/vendorRecommendationPayload.d.ts +2 -0
  4. package/lib/commonStateTypes/animations.d.ts +1 -1
  5. package/lib/commonStateTypes/animations.js +1 -0
  6. package/lib/commonStateTypes/recommendationBase.d.ts +11 -3
  7. package/lib/commonStateTypes/recommendationBase.js +5 -3
  8. package/lib/commonStateTypes/vendorRecommendation.d.ts +6 -0
  9. package/lib/entity/account/accountPayload.d.ts +1 -0
  10. package/lib/entity/account/accountPayload.js +1 -1
  11. package/lib/entity/account/accountState.d.ts +5 -0
  12. package/lib/entity/aiCfo/aiCfoState.d.ts +2 -2
  13. package/lib/entity/class/classPayload.d.ts +1 -0
  14. package/lib/entity/class/classPayload.js +1 -1
  15. package/lib/entity/class/classState.d.ts +5 -0
  16. package/lib/entity/transaction/payloadTypes/transactionLinePayload.d.ts +15 -0
  17. package/lib/entity/transaction/payloadTypes/transactionLinePayload.js +20 -1
  18. package/lib/entity/transaction/stateTypes/customerTransaction.d.ts +4 -1
  19. package/lib/entity/transaction/stateTypes/transaction.d.ts +5 -1
  20. package/lib/entity/transaction/stateTypes/transactionLine.d.ts +12 -0
  21. package/lib/entity/transaction/stateTypes/vendorTransaction.d.ts +7 -1
  22. package/lib/entity/transaction/transactionHelper.d.ts +5 -0
  23. package/lib/entity/transaction/transactionHelper.js +135 -0
  24. package/lib/entity/transaction/transactionState.d.ts +4 -3
  25. package/lib/index.d.ts +10 -10
  26. package/lib/view/companyTaskManagerView/companyTaskManagerViewReducer.d.ts +2 -2
  27. package/lib/view/companyView/types/cockpitTypes.d.ts +1 -1
  28. package/lib/view/expenseAutomationView/epics/transactionCategorization/initializeTransactionCategorizationLocalDataEpic.js +3 -1
  29. package/lib/view/expenseAutomationView/helpers/saveTransactionHelper.js +2 -1
  30. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.d.ts +6 -6
  31. package/lib/view/expenseAutomationView/helpers/transactionCategorizationLocalDataHelper.js +7 -7
  32. package/lib/view/expenseAutomationView/reducers/transactionsViewReducer.d.ts +9 -9
  33. package/lib/view/expenseAutomationView/selectorTypes/transactionsViewSelectorTypes.d.ts +2 -2
  34. package/lib/view/expenseAutomationView/selectors/transactionCategorizationSelector.js +3 -1
  35. package/lib/view/expenseAutomationView/types/missingReceiptsViewState.d.ts +1 -1
  36. package/lib/view/expenseAutomationView/types/transactionsViewState.d.ts +3 -3
  37. package/lib/view/opExByVendor/opExByVendorState.d.ts +1 -1
  38. package/lib/view/recommendation/fetchEntityRecommendationsByTransactionIdEpic.js +5 -1
  39. package/lib/view/scheduleView/scheduleAccruedDetailView/LinkBillExpenseView/linkBillExpense.d.ts +1 -1
  40. package/lib/view/scheduleView/scheduleListView/scheduleListTypes.d.ts +1 -1
  41. package/lib/view/spendManagement/billPay/billList/billListState.d.ts +1 -1
  42. package/lib/view/taskManager/taskListView/taskList.d.ts +1 -1
  43. package/lib/view/transactionDetail/epics/saveTransactionHelper.js +3 -2
  44. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.d.ts +3 -3
  45. package/lib/view/transactionDetail/transactionDetailLocalDataHelper.js +47 -21
  46. package/lib/view/transactionDetail/transactionDetailReducer.d.ts +2 -2
  47. package/lib/view/transactionDetail/transactionDetailSelector.d.ts +3 -3
  48. package/lib/view/transactionDetail/transactionDetailSelector.js +2 -1
  49. package/lib/view/transactionDetail/transactionDetailTypes.d.ts +2 -2
  50. package/package.json +1 -1
@@ -8,6 +8,7 @@ export interface RecommendationBasePayload {
8
8
  reason?: string;
9
9
  type?: string;
10
10
  max?: number;
11
+ recommendation_hash?: string;
11
12
  }
12
13
  export interface RecommendationPayload {
13
14
  accounts?: RecommendedAccountBasePayload[];
@@ -10,6 +10,7 @@ const toRecommendationBase = (payload) => {
10
10
  min: payload.min,
11
11
  reason: (_a = payload.reason) !== null && _a !== void 0 ? _a : '',
12
12
  type: payload.type,
13
+ recommendationHash: payload.recommendation_hash,
13
14
  };
14
15
  };
15
16
  exports.toRecommendationBase = toRecommendationBase;
@@ -5,6 +5,8 @@ export interface RecommendedVendorBasePayload {
5
5
  vendor_id: string | null;
6
6
  logo?: URLPayload | null;
7
7
  reason?: string | null;
8
+ recommendation_hash?: string | null;
8
9
  website_url?: string | null;
9
10
  third_party_merchant_id?: string | null;
11
+ vendor_name_confidence?: number;
10
12
  }
@@ -1,2 +1,2 @@
1
- export declare const toAnimationsFileName: (v: string) => "AiAgent" | "AiIconEntry" | "AiIconExit" | "AiIconLoop" | "AiStar" | "AIPoweredInvoiceDark" | "AIPoweredInvoiceLight" | "Angry" | "Confetti" | "ConfettiSuccess" | "DashboardSidebarBackground" | "DashboardSidebarBottom" | "DashboardSidebarLogoDark" | "DashboardSidebarLogoLight" | "FastestWayDark" | "FastestWayLight" | "FinanceTeamDark" | "FinanceTeamLight" | "Happy" | "MoneyTransferSuccess" | "MultiLevelApprovalDark" | "MultiLevelApprovalLight" | "NotHappy" | "ReceiptDark" | "ReceiptLight" | "ReimburseDark" | "ReimburseLight" | "RewardsDark" | "RewardsDarkHover" | "RewardsLight" | "RewardsLightHover" | "Success" | "VeryHappy" | "ZeniAssist";
1
+ export declare const toAnimationsFileName: (v: string) => "AiAgent" | "AiIconEntry" | "AiIconExit" | "AiIconLoop" | "AiStar" | "AiStarPlain" | "AIPoweredInvoiceDark" | "AIPoweredInvoiceLight" | "Angry" | "Confetti" | "ConfettiSuccess" | "DashboardSidebarBackground" | "DashboardSidebarBottom" | "DashboardSidebarLogoDark" | "DashboardSidebarLogoLight" | "FastestWayDark" | "FastestWayLight" | "FinanceTeamDark" | "FinanceTeamLight" | "Happy" | "MoneyTransferSuccess" | "MultiLevelApprovalDark" | "MultiLevelApprovalLight" | "NotHappy" | "ReceiptDark" | "ReceiptLight" | "ReimburseDark" | "ReimburseLight" | "RewardsDark" | "RewardsDarkHover" | "RewardsLight" | "RewardsLightHover" | "Success" | "VeryHappy" | "ZeniAssist";
2
2
  export type AnimationFileName = ReturnType<typeof toAnimationsFileName>;
@@ -8,6 +8,7 @@ const ALL_ANIMATIONS_FILE_NAMES = [
8
8
  'AiIconExit',
9
9
  'AiIconLoop',
10
10
  'AiStar',
11
+ 'AiStarPlain',
11
12
  'AIPoweredInvoiceDark',
12
13
  'AIPoweredInvoiceLight',
13
14
  'Angry',
@@ -1,18 +1,26 @@
1
1
  import { RecommendedVendorBasePayload } from '../commonPayloadTypes/vendorRecommendationPayload';
2
- import { RecommendedAccountBase } from '../entity/account/accountState';
3
- import { RecommendedClassBase } from '../entity/class/classState';
4
- import { RecommendedVendorBase } from './vendorRecommendation';
2
+ import { RecommendedAccountBase, RecommendedAccountBaseWithCOT } from '../entity/account/accountState';
3
+ import { RecommendedClassBase, RecommendedClassBaseWithCOT } from '../entity/class/classState';
4
+ import { ID } from './common';
5
+ import { RecommendedVendorBase, RecommendedVendorBaseWithCOT } from './vendorRecommendation';
5
6
  export interface RecommendationBase {
6
7
  min: number;
7
8
  reason: string;
8
9
  max?: number;
9
10
  type?: string;
11
+ recommendationHash?: ID;
10
12
  }
13
+ export type TransactionLineRecommendationFieldTypes = 'vendor' | 'category' | 'class';
11
14
  export interface Recommendation {
12
15
  account?: RecommendedAccountBase;
13
16
  class?: RecommendedClassBase;
14
17
  vendor?: RecommendedVendorBase;
15
18
  }
19
+ export interface RecommendationWithCOT {
20
+ account?: RecommendedAccountBaseWithCOT;
21
+ class?: RecommendedClassBaseWithCOT;
22
+ vendor?: RecommendedVendorBaseWithCOT;
23
+ }
16
24
  export declare const getRecommendationAmountRange: (amountValue: number) => {
17
25
  min: number;
18
26
  max?: number;
@@ -39,15 +39,17 @@ const getRecommendationAmountRange = (amountValue) => {
39
39
  };
40
40
  exports.getRecommendationAmountRange = getRecommendationAmountRange;
41
41
  const mapRecommendedVendorPayloadToBase = (payload) => {
42
- var _a, _b, _c, _d, _e, _f;
42
+ var _a, _b, _c, _d, _e, _f, _g;
43
43
  return {
44
44
  name: payload.vendor_name,
45
45
  thirdPartyMerchantId: (_a = payload.third_party_merchant_id) !== null && _a !== void 0 ? _a : undefined,
46
46
  id: (_b = payload.vendor_id) !== null && _b !== void 0 ? _b : undefined,
47
47
  qboId: (_c = payload.qbo_id) !== null && _c !== void 0 ? _c : undefined,
48
48
  reason: (_d = payload.reason) !== null && _d !== void 0 ? _d : undefined,
49
- logo: Boolean((_e = payload.logo) === null || _e === void 0 ? void 0 : _e.url) === true
50
- ? (0, zeniUrl_1.toZeniUrlWithoutBaseURL)((_f = payload.logo) === null || _f === void 0 ? void 0 : _f.url)
49
+ recommendationHash: (_e = payload.recommendation_hash) !== null && _e !== void 0 ? _e : undefined,
50
+ vendorNameConfidence: payload.vendor_name_confidence,
51
+ logo: Boolean((_f = payload.logo) === null || _f === void 0 ? void 0 : _f.url) === true
52
+ ? (0, zeniUrl_1.toZeniUrlWithoutBaseURL)((_g = payload.logo) === null || _g === void 0 ? void 0 : _g.url)
51
53
  : undefined,
52
54
  websiteUrl: payload.website_url != null
53
55
  ? (0, zeniUrl_1.toZeniUrlWithoutBaseURL)(payload.website_url)
@@ -2,10 +2,16 @@ import ZeniUrl from '../zeniUrl';
2
2
  import { ID } from './common';
3
3
  export interface RecommendedVendorBase {
4
4
  name: string;
5
+ vendorNameConfidence?: number;
5
6
  thirdPartyMerchantId?: ID;
6
7
  id?: ID;
7
8
  qboId?: ID;
8
9
  reason?: string;
10
+ recommendationHash?: ID;
9
11
  logo?: ZeniUrl;
10
12
  websiteUrl?: ZeniUrl;
11
13
  }
14
+ export interface RecommendedVendorBaseWithCOT extends RecommendedVendorBase {
15
+ cot: string[];
16
+ reasoning: string;
17
+ }
@@ -26,6 +26,7 @@ export interface Tax1099ConfigPayload {
26
26
  box_type: string | null;
27
27
  }
28
28
  export interface RecommendedAccountBasePayload extends AccountBasePayload, RecommendationBasePayload {
29
+ account_name_confidence?: number;
29
30
  }
30
31
  export declare const mapAccountBasePayloadToAccountBase: (payload: AccountBasePayload) => AccountBase;
31
32
  export declare const mapRecommendedAccountBasePayloadToRecommendedAccountBase: (payload: RecommendedAccountBasePayload) => RecommendedAccountBase | undefined;
@@ -27,7 +27,7 @@ exports.mapAccountBasePayloadToAccountBase = mapAccountBasePayloadToAccountBase;
27
27
  const mapRecommendedAccountBasePayloadToRecommendedAccountBase = (payload) => {
28
28
  var _a, _b, _c, _d, _e, _f;
29
29
  return payload.account_id != null && payload.qbo_id != null
30
- ? Object.assign({ accountId: (_a = payload.account_id) !== null && _a !== void 0 ? _a : payload.account_name, accountName: payload.account_name, accountType: (0, accountState_1.toAccountTypeStrict)(payload.account_type), accountSubType: (_b = payload.account_sub_type) !== null && _b !== void 0 ? _b : undefined, accountDescription: (_c = payload.account_description) !== null && _c !== void 0 ? _c : '', last4Digits: (_d = payload.last_4_digits) !== null && _d !== void 0 ? _d : undefined, logo: payload.logo == null ? undefined : (0, urlPayload_1.toURL)(payload.logo), qboId: (_e = payload.qbo_id) !== null && _e !== void 0 ? _e : undefined, coaId: (_f = payload.coa_id) !== null && _f !== void 0 ? _f : '', labels: toAccountLabelArray(payload.labels) }, (0, recommendationPayload_1.toRecommendationBase)(payload)) : undefined;
30
+ ? Object.assign({ accountId: (_a = payload.account_id) !== null && _a !== void 0 ? _a : payload.account_name, accountName: payload.account_name, accountType: (0, accountState_1.toAccountTypeStrict)(payload.account_type), accountSubType: (_b = payload.account_sub_type) !== null && _b !== void 0 ? _b : undefined, accountDescription: (_c = payload.account_description) !== null && _c !== void 0 ? _c : '', last4Digits: (_d = payload.last_4_digits) !== null && _d !== void 0 ? _d : undefined, logo: payload.logo == null ? undefined : (0, urlPayload_1.toURL)(payload.logo), qboId: (_e = payload.qbo_id) !== null && _e !== void 0 ? _e : undefined, coaId: (_f = payload.coa_id) !== null && _f !== void 0 ? _f : '', labels: toAccountLabelArray(payload.labels), accountNameConfidence: payload.account_name_confidence }, (0, recommendationPayload_1.toRecommendationBase)(payload)) : undefined;
31
31
  };
32
32
  exports.mapRecommendedAccountBasePayloadToRecommendedAccountBase = mapRecommendedAccountBasePayloadToRecommendedAccountBase;
33
33
  const mapStatementCloseDayPayloadToStatementCloseDay = (payload) => {
@@ -45,6 +45,11 @@ export interface AccountBase {
45
45
  isPreFilled?: boolean;
46
46
  }
47
47
  export interface RecommendedAccountBase extends AccountBase, RecommendationBase {
48
+ accountNameConfidence?: number;
49
+ }
50
+ export interface RecommendedAccountBaseWithCOT extends RecommendedAccountBase {
51
+ cot: string[];
52
+ reasoning: string;
48
53
  }
49
54
  export interface Account extends AccountBase {
50
55
  key: AccountKey;
@@ -37,9 +37,9 @@ export interface YFormat {
37
37
  symbol?: string;
38
38
  }
39
39
  export declare const toAiCfoAnswerStateType: (v: string) => "complete" | "partial";
40
- export declare const toAiCfoAnswerResponseType: (v: string) => "analysis" | "answer" | "reasoning" | "thought";
40
+ export declare const toAiCfoAnswerResponseType: (v: string) => "reasoning" | "analysis" | "answer" | "thought";
41
41
  export declare const toAiCfoAnswerStateTypeStrict: (v: string) => "complete" | "partial" | undefined;
42
- export declare const toAiCfoAnswerResponseTypeStrict: (v: string) => "analysis" | "answer" | "reasoning" | "thought" | undefined;
42
+ export declare const toAiCfoAnswerResponseTypeStrict: (v: string) => "reasoning" | "analysis" | "answer" | "thought" | undefined;
43
43
  export type AiCfoAnswerStateType = ReturnType<typeof toAiCfoAnswerStateType>;
44
44
  export type AiCfoAnswerResponseType = ReturnType<typeof toAiCfoAnswerResponseType>;
45
45
  export interface TableVisualization {
@@ -11,6 +11,7 @@ export interface ClassBasePayload {
11
11
  accounting_class_number?: string | null;
12
12
  }
13
13
  export interface RecommendedClassBasePayload extends ClassBasePayload, RecommendationBasePayload {
14
+ accounting_class_name_confidence?: number;
14
15
  }
15
16
  export declare function mapClassBasePayloadToClass(payload: ClassBasePayload, reportId: ReportID, classesViewParentId?: ClassesViewParentID): Class;
16
17
  export declare function mapClassBasePayloadToClassBase(payload: ClassBasePayload): ClassBase;
@@ -40,7 +40,7 @@ function mapRecommendedClassBasePayloadToRecommendedClassBase(payload) {
40
40
  : undefined, fullyQualifiedAccountingClassName: (_b = payload.fully_qualified_accounting_class_name) !== null && _b !== void 0 ? _b : '', accountingClassNumber: payload.accounting_class_number != null &&
41
41
  payload.accounting_class_number.length > 0
42
42
  ? payload.accounting_class_number
43
- : undefined }, (0, recommendationPayload_1.toRecommendationBase)(payload)) : undefined;
43
+ : undefined, accountingClassNameConfidence: payload.accounting_class_name_confidence }, (0, recommendationPayload_1.toRecommendationBase)(payload)) : undefined;
44
44
  }
45
45
  const toClassBasePayload = (cl) => {
46
46
  var _a, _b, _c, _d, _e;
@@ -14,6 +14,11 @@ export interface ClassBase {
14
14
  isPreFilled?: boolean;
15
15
  }
16
16
  export interface RecommendedClassBase extends ClassBase, RecommendationBase {
17
+ accountingClassNameConfidence?: number;
18
+ }
19
+ export interface RecommendedClassBaseWithCOT extends RecommendedClassBase {
20
+ cot: string[];
21
+ reasoning: string;
17
22
  }
18
23
  export interface ClassMetadata extends ClassBase {
19
24
  parentClassId: ID | undefined;
@@ -4,7 +4,19 @@ import { ClassBasePayload } from '../../class/classPayload';
4
4
  import { CustomerBasePayload } from '../../customer/customerPayload';
5
5
  import { VendorBasePayload } from '../../vendor/vendorPayload';
6
6
  import Line, { BillableStatus, CategorizationStatusType, LineType, TransactionWithAccountAndClassLine } from '../stateTypes/transactionLine';
7
+ import { AISummaries, AISummary } from '../stateTypes/transactionLine';
7
8
  import { TransactionIDPayload } from './transactionIDPayload';
9
+ export interface AISummaryPayload {
10
+ cot: string[];
11
+ reasoning: string;
12
+ recommendation_hash: string;
13
+ recommendation_type: string;
14
+ }
15
+ export interface AISummariesPayload {
16
+ category_ai_summaries: AISummaryPayload[] | null;
17
+ class_ai_summaries: AISummaryPayload[] | null;
18
+ vendor_ai_summaries: AISummaryPayload[] | null;
19
+ }
8
20
  interface TransactionLineBasePayload {
9
21
  line_id: string;
10
22
  line_description: string;
@@ -12,6 +24,7 @@ interface TransactionLineBasePayload {
12
24
  line_detail_type: string;
13
25
  categorization_status?: CategorizationStatusType;
14
26
  review_pending_reasons?: string[];
27
+ ai_summaries?: AISummariesPayload;
15
28
  }
16
29
  export interface LineDetailPayload {
17
30
  line_detail_type: string;
@@ -77,4 +90,6 @@ export type LinePayload = LinkedTransactionLinePayload | TransactionWithProductO
77
90
  export declare function toLine(payload: LinePayload, currency: Currency, recipientCurrency?: Currency): Line;
78
91
  export declare const toLinePayload: (line: Line) => LinePayload;
79
92
  export declare const toAccountAndClassLinePayload: (line: TransactionWithAccountAndClassLine) => TransactionWithAccountAndClassLinePayload;
93
+ export declare const toAISummary: (payload: AISummaryPayload) => AISummary;
94
+ export declare const toAISummaries: (payload: AISummariesPayload) => AISummaries;
80
95
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toAccountAndClassLinePayload = exports.toLinePayload = exports.toTransactionWithAccountAndClassLine = void 0;
3
+ exports.toAISummaries = exports.toAISummary = exports.toAccountAndClassLinePayload = exports.toLinePayload = exports.toTransactionWithAccountAndClassLine = void 0;
4
4
  exports.toLine = toLine;
5
5
  const amount_1 = require("../../../commonStateTypes/amount");
6
6
  const accountPayload_1 = require("../../account/accountPayload");
@@ -20,6 +20,9 @@ const toTransactionLineBase = (payload, lineType, currency) => ({
20
20
  ? (0, transactionLine_1.toCategorizationStatusType)(payload.categorization_status)
21
21
  : undefined,
22
22
  reviewPendingReasons: payload.review_pending_reasons,
23
+ aiSummaries: payload.ai_summaries != null
24
+ ? (0, exports.toAISummaries)(payload.ai_summaries)
25
+ : undefined,
23
26
  });
24
27
  const toLinkedTransactionLine = (payload, currency) => (Object.assign(Object.assign({}, toTransactionLineBase(payload, 'linked_transaction_line', currency)), { linkedTransactions: payload.linked_transactions.map((transactionIDPayload) => (0, transactionIDPayload_1.toTransactionID)(transactionIDPayload)) }));
25
28
  const toTransactionWithAccountAndClassLine = (payload, currency, type = 'transaction_with_account_and_class_line') => {
@@ -146,3 +149,19 @@ const toLineDetailInfoLinePayload = (line) => ({
146
149
  line_detail_type: line.platformLineDetailType,
147
150
  });
148
151
  const toLinkedTransactionLinePayload = (line) => (Object.assign(Object.assign({}, toTransactionBaseLinePayload(line)), { linked_transactions: line.linkedTransactions.map((linkedTransaction) => (0, transactionIDPayload_1.toTransactionIDPayload)(linkedTransaction)) }));
152
+ const toAISummary = (payload) => ({
153
+ cot: payload.cot,
154
+ reasoning: payload.reasoning,
155
+ recommendationHash: payload.recommendation_hash,
156
+ recommendationType: payload.recommendation_type,
157
+ });
158
+ exports.toAISummary = toAISummary;
159
+ const toAISummaries = (payload) => {
160
+ var _a, _b, _c, _d, _e, _f;
161
+ return ({
162
+ categoryAISummaries: (_b = (_a = payload.category_ai_summaries) === null || _a === void 0 ? void 0 : _a.map(exports.toAISummary)) !== null && _b !== void 0 ? _b : [],
163
+ classAISummaries: (_d = (_c = payload.class_ai_summaries) === null || _c === void 0 ? void 0 : _c.map(exports.toAISummary)) !== null && _d !== void 0 ? _d : [],
164
+ vendorAISummaries: (_f = (_e = payload.vendor_ai_summaries) === null || _e === void 0 ? void 0 : _e.map(exports.toAISummary)) !== null && _f !== void 0 ? _f : [],
165
+ });
166
+ };
167
+ exports.toAISummaries = toAISummaries;
@@ -2,7 +2,7 @@ import { Amount } from '../../../commonStateTypes/amount';
2
2
  import { ZeniDate } from '../../../zeniDayJS';
3
3
  import { CustomerBase } from '../../customer/customerState';
4
4
  import { PaymentType } from './paymentType';
5
- import { Transaction } from './transaction';
5
+ import { RecommendationWithCOTByLineId, Transaction } from './transaction';
6
6
  export interface CustomerTransaction extends Transaction {
7
7
  customer?: CustomerBase;
8
8
  paymentType?: PaymentType;
@@ -11,4 +11,7 @@ export interface CustomerTransaction extends Transaction {
11
11
  balance?: Amount;
12
12
  dueDate?: ZeniDate;
13
13
  }
14
+ export interface CustomerTransactionWithCOT extends Omit<CustomerTransaction, 'recommendations'> {
15
+ recommendationsWithCOT?: RecommendationWithCOTByLineId;
16
+ }
14
17
  export declare const isCustomerTransaction: (transaction: Transaction) => boolean;
@@ -1,6 +1,6 @@
1
1
  import { Amount } from '../../../commonStateTypes/amount';
2
2
  import { ID } from '../../../commonStateTypes/common';
3
- import { Recommendation } from '../../../commonStateTypes/recommendationBase';
3
+ import { Recommendation, RecommendationWithCOT } from '../../../commonStateTypes/recommendationBase';
4
4
  import { ZeniDate } from '../../../zeniDayJS';
5
5
  import { ZeniUrl as Url } from '../../../zeniUrl';
6
6
  import { AccountBase } from '../../account/accountState';
@@ -12,6 +12,7 @@ export interface TransactionID {
12
12
  type: TransactionType;
13
13
  }
14
14
  export type RecommendationByLineId = Record<ID, Recommendation[]>;
15
+ export type RecommendationWithCOTByLineId = Record<ID, RecommendationWithCOT[]>;
15
16
  export interface BaseTransaction extends TransactionID {
16
17
  date: ZeniDate;
17
18
  amount: Amount;
@@ -42,3 +43,6 @@ export interface Transaction extends BaseTransaction {
42
43
  customerId?: ID;
43
44
  customerName?: string;
44
45
  }
46
+ export interface TransactionWithCOT extends Omit<Transaction, 'recommendations'> {
47
+ recommendationsWithCOT?: RecommendationWithCOTByLineId;
48
+ }
@@ -6,6 +6,17 @@ import { CustomerBase } from '../../customer/customerState';
6
6
  import { VendorBase } from '../../vendor/vendorState';
7
7
  import { TransactionID } from './transaction';
8
8
  import { TransactionCategory, TransactionType } from './transactionType';
9
+ export interface AISummary {
10
+ cot: string[];
11
+ reasoning: string;
12
+ recommendationHash: string;
13
+ recommendationType: string;
14
+ }
15
+ export interface AISummaries {
16
+ categoryAISummaries: AISummary[];
17
+ classAISummaries: AISummary[];
18
+ vendorAISummaries: AISummary[];
19
+ }
9
20
  export interface TransactionLineBase {
10
21
  id: ID;
11
22
  type: LineType;
@@ -15,6 +26,7 @@ export interface TransactionLineBase {
15
26
  recipientAmount?: Amount;
16
27
  categorizationStatus?: CategorizationStatusType;
17
28
  reviewPendingReasons?: string[];
29
+ aiSummaries?: AISummaries;
18
30
  }
19
31
  export interface LinkedTransactionLine extends TransactionLineBase {
20
32
  linkedTransactions: TransactionID[];
@@ -3,7 +3,7 @@ import { ZeniDate } from '../../../zeniDayJS';
3
3
  import { CustomerBase } from '../../customer/customerState';
4
4
  import { VendorBase } from '../../vendor/vendorState';
5
5
  import { PaymentType } from './paymentType';
6
- import { Transaction } from './transaction';
6
+ import { RecommendationWithCOTByLineId, Transaction } from './transaction';
7
7
  export interface VendorTransaction extends Transaction {
8
8
  vendor?: VendorBase;
9
9
  paymentType?: PaymentType;
@@ -12,8 +12,14 @@ export interface VendorTransaction extends Transaction {
12
12
  balance?: Amount;
13
13
  dueDate?: ZeniDate;
14
14
  }
15
+ export interface VendorTransactionWithCOT extends Omit<VendorTransaction, 'recommendations'> {
16
+ recommendationsWithCOT?: RecommendationWithCOTByLineId;
17
+ }
15
18
  export interface VendorTransactionWithCustomer extends VendorTransaction {
16
19
  customer?: CustomerBase;
17
20
  }
21
+ export interface VendorTransactionWithCustomerWithCOT extends Omit<VendorTransactionWithCustomer, 'recommendations'> {
22
+ recommendationsWithCOT?: RecommendationWithCOTByLineId;
23
+ }
18
24
  export declare const isVendorTransaction: (transaction: Transaction) => boolean;
19
25
  export declare const isVendorTransactionWithCustomer: (transaction: Transaction) => boolean;
@@ -0,0 +1,5 @@
1
+ import { Recommendation, RecommendationWithCOT } from '../../commonStateTypes/recommendationBase';
2
+ import { RecommendationByLineId, RecommendationWithCOTByLineId, Transaction, TransactionWithCOT } from './stateTypes/transaction';
3
+ export declare function getTransactionWithCOT(transaction: Transaction): TransactionWithCOT;
4
+ export declare const convertRecommendationByLineIdToCOT: (recommendationByLineId: RecommendationByLineId, transactionWithCOT: TransactionWithCOT) => RecommendationWithCOTByLineId;
5
+ export declare const convertCOTRecommendationsToRegular: (recommendationsWithCOT?: RecommendationWithCOT[]) => Recommendation[] | undefined;
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.convertCOTRecommendationsToRegular = exports.convertRecommendationByLineIdToCOT = void 0;
15
+ exports.getTransactionWithCOT = getTransactionWithCOT;
16
+ // Helper function to get AI summary by recommendation type and hash
17
+ function getAISummaryByRecommendationHash(aiSummaries, recommendationType, recommendationHash) {
18
+ if (recommendationHash == null) {
19
+ return undefined;
20
+ }
21
+ let targetSummaries = [];
22
+ switch (recommendationType) {
23
+ case 'account':
24
+ targetSummaries = aiSummaries.categoryAISummaries;
25
+ break;
26
+ case 'class':
27
+ targetSummaries = aiSummaries.classAISummaries;
28
+ break;
29
+ case 'vendor':
30
+ targetSummaries = aiSummaries.vendorAISummaries;
31
+ break;
32
+ }
33
+ return targetSummaries.find((summary) => summary.recommendationHash === recommendationHash);
34
+ }
35
+ // Helper function to process recommendation types with COT
36
+ function processRecommendationType(recommendation, line, emptyAISummary, type) {
37
+ var _a, _b, _c;
38
+ if (!recommendation) {
39
+ return undefined;
40
+ }
41
+ const aiSummary = getAISummaryByRecommendationHash((_a = line.aiSummaries) !== null && _a !== void 0 ? _a : emptyAISummary, type, recommendation.recommendationHash);
42
+ return Object.assign(Object.assign({}, recommendation), { cot: (_b = aiSummary === null || aiSummary === void 0 ? void 0 : aiSummary.cot) !== null && _b !== void 0 ? _b : [], reasoning: (_c = aiSummary === null || aiSummary === void 0 ? void 0 : aiSummary.reasoning) !== null && _c !== void 0 ? _c : '' });
43
+ }
44
+ // Main helper function to convert Transaction to TransactionWithCOT
45
+ function getTransactionWithCOT(transaction) {
46
+ if (!transaction.lines || !transaction.recommendations) {
47
+ const { recommendations: _recommendations } = transaction, transactionWithoutRecommendations = __rest(transaction, ["recommendations"]);
48
+ void _recommendations; // Explicitly mark as used to avoid linting error
49
+ return Object.assign(Object.assign({}, transactionWithoutRecommendations), { recommendationsWithCOT: undefined });
50
+ }
51
+ const recommendationsWithCOT = {};
52
+ // Process each line
53
+ transaction.lines.forEach((line) => {
54
+ var _a;
55
+ if (!((_a = transaction.recommendations) === null || _a === void 0 ? void 0 : _a[line.id])) {
56
+ return;
57
+ }
58
+ const lineRecommendations = transaction.recommendations[line.id];
59
+ const recommendationsWithCOTForLine = [];
60
+ const emptyAISummary = {
61
+ categoryAISummaries: [],
62
+ classAISummaries: [],
63
+ vendorAISummaries: [],
64
+ };
65
+ // Process each recommendation for this line
66
+ lineRecommendations.forEach((recommendation) => {
67
+ const recommendationWithCOT = {
68
+ account: processRecommendationType(recommendation.account, line, emptyAISummary, 'account'),
69
+ class: processRecommendationType(recommendation.class, line, emptyAISummary, 'class'),
70
+ vendor: processRecommendationType(recommendation.vendor, line, emptyAISummary, 'vendor'),
71
+ };
72
+ recommendationsWithCOTForLine.push(recommendationWithCOT);
73
+ });
74
+ recommendationsWithCOT[line.id] = recommendationsWithCOTForLine;
75
+ });
76
+ const { recommendations: _recommendations } = transaction, transactionWithoutRecommendations = __rest(transaction, ["recommendations"]);
77
+ void _recommendations; // Mark as used to avoid linting error
78
+ return Object.assign(Object.assign({}, transactionWithoutRecommendations), { recommendationsWithCOT: Object.keys(recommendationsWithCOT).length > 0
79
+ ? recommendationsWithCOT
80
+ : undefined });
81
+ }
82
+ // Helper function to convert RecommendationByLineId to RecommendationWithCOTByLineId
83
+ const convertRecommendationByLineIdToCOT = (recommendationByLineId, transactionWithCOT) => {
84
+ const recommendationWithCOTByLineId = {};
85
+ Object.keys(recommendationByLineId).forEach((lineId) => {
86
+ var _a;
87
+ const lineRecommendations = recommendationByLineId[lineId];
88
+ const cotRecommendations = ((_a = transactionWithCOT.recommendationsWithCOT) === null || _a === void 0 ? void 0 : _a[lineId]) || [];
89
+ // Map each recommendation to its COT equivalent
90
+ const recommendationsWithCOT = lineRecommendations.map((recommendation, index) => {
91
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
92
+ const cotRecommendation = (_a = cotRecommendations[index]) !== null && _a !== void 0 ? _a : {};
93
+ return {
94
+ account: recommendation.account
95
+ ? Object.assign(Object.assign({}, recommendation.account), { cot: (_c = (_b = cotRecommendation.account) === null || _b === void 0 ? void 0 : _b.cot) !== null && _c !== void 0 ? _c : [], reasoning: (_e = (_d = cotRecommendation.account) === null || _d === void 0 ? void 0 : _d.reasoning) !== null && _e !== void 0 ? _e : '' }) : undefined,
96
+ class: recommendation.class
97
+ ? Object.assign(Object.assign({}, recommendation.class), { cot: (_g = (_f = cotRecommendation.class) === null || _f === void 0 ? void 0 : _f.cot) !== null && _g !== void 0 ? _g : [], reasoning: (_j = (_h = cotRecommendation.class) === null || _h === void 0 ? void 0 : _h.reasoning) !== null && _j !== void 0 ? _j : '' }) : undefined,
98
+ vendor: recommendation.vendor
99
+ ? Object.assign(Object.assign({}, recommendation.vendor), { cot: (_l = (_k = cotRecommendation.vendor) === null || _k === void 0 ? void 0 : _k.cot) !== null && _l !== void 0 ? _l : [], reasoning: (_o = (_m = cotRecommendation.vendor) === null || _m === void 0 ? void 0 : _m.reasoning) !== null && _o !== void 0 ? _o : '' }) : undefined,
100
+ };
101
+ });
102
+ recommendationWithCOTByLineId[lineId] = recommendationsWithCOT;
103
+ });
104
+ return recommendationWithCOTByLineId;
105
+ };
106
+ exports.convertRecommendationByLineIdToCOT = convertRecommendationByLineIdToCOT;
107
+ // Helper function to convert COT recommendations to regular recommendations
108
+ const convertCOTRecommendationsToRegular = (recommendationsWithCOT) => {
109
+ if (!recommendationsWithCOT) {
110
+ return undefined;
111
+ }
112
+ return recommendationsWithCOT.map((recWithCOT) => {
113
+ const regularRec = {};
114
+ if (recWithCOT.account) {
115
+ const _a = recWithCOT.account, { cot, reasoning } = _a, accountWithoutCOT = __rest(_a, ["cot", "reasoning"]);
116
+ void cot;
117
+ void reasoning; // Mark as used to avoid linting error
118
+ regularRec.account = accountWithoutCOT;
119
+ }
120
+ if (recWithCOT.class) {
121
+ const _b = recWithCOT.class, { cot, reasoning } = _b, classWithoutCOT = __rest(_b, ["cot", "reasoning"]);
122
+ void cot;
123
+ void reasoning; // Mark as used to avoid linting error
124
+ regularRec.class = classWithoutCOT;
125
+ }
126
+ if (recWithCOT.vendor) {
127
+ const _c = recWithCOT.vendor, { cot, reasoning } = _c, vendorWithoutCOT = __rest(_c, ["cot", "reasoning"]);
128
+ void cot;
129
+ void reasoning; // Mark as used to avoid linting error
130
+ regularRec.vendor = vendorWithoutCOT;
131
+ }
132
+ return regularRec;
133
+ });
134
+ };
135
+ exports.convertCOTRecommendationsToRegular = convertCOTRecommendationsToRegular;
@@ -3,12 +3,13 @@ import { TransactionDetailKey, ZeniTransactionDetailKey } from '../../view/trans
3
3
  import { CustomerTransactionPayload } from './payloadTypes/customerTransactionPayload';
4
4
  import { TransactionPayload } from './payloadTypes/transactionPayload';
5
5
  import { VendorTransactionPayload, VendorTransactionWithCustomerPayload } from './payloadTypes/vendorTransactionPayload';
6
- import { CustomerTransaction } from './stateTypes/customerTransaction';
6
+ import { CustomerTransaction, CustomerTransactionWithCOT } from './stateTypes/customerTransaction';
7
7
  import { MatchedTransaction } from './stateTypes/reconciliationTransaction';
8
8
  import { ScheduleTransaction } from './stateTypes/scheduleTransaction';
9
- import { Transaction } from './stateTypes/transaction';
10
- import { VendorTransaction, VendorTransactionWithCustomer } from './stateTypes/vendorTransaction';
9
+ import { Transaction, TransactionWithCOT } from './stateTypes/transaction';
10
+ import { VendorTransaction, VendorTransactionWithCOT, VendorTransactionWithCustomer, VendorTransactionWithCustomerWithCOT } from './stateTypes/vendorTransaction';
11
11
  export type SupportedTransaction = Transaction | CustomerTransaction | VendorTransaction | VendorTransactionWithCustomer;
12
+ export type SupportedTransactionWithCOT = TransactionWithCOT | CustomerTransactionWithCOT | VendorTransactionWithCOT | VendorTransactionWithCustomerWithCOT;
12
13
  export type SupportedTransactionPayload = TransactionPayload | CustomerTransactionPayload | VendorTransactionPayload | VendorTransactionWithCustomerPayload;
13
14
  export type AllSupportedTransactions = SupportedTransaction | undefined;
14
15
  export interface TransactionState {
package/lib/index.d.ts CHANGED
@@ -23,7 +23,7 @@ import { getActualPeriodOfFY, getActualPeriodOfFYQtr } from './commonStateTypes/
23
23
  import { getFYMonths } from './commonStateTypes/fiscalYearHelpers/getFYMonths';
24
24
  import { getFYQuarterAndYear, getLastMonthOfFYQuarter, getLastMonthOfFYYear } from './commonStateTypes/fiscalYearHelpers/getFYQuarterAndYear';
25
25
  import { getStartOfAndEndOfTimeframeForFY } from './commonStateTypes/fiscalYearHelpers/getStartOfAndEndOfTimeframeFY';
26
- import { Recommendation } from './commonStateTypes/recommendationBase';
26
+ import { Recommendation, RecommendationWithCOT, TransactionLineRecommendationFieldTypes } from './commonStateTypes/recommendationBase';
27
27
  import { isAllFetchCompleted, isAnyFetchInProgress, reduceAllFetchState, reduceAnyCompletedFetchState, reduceAnyFetchState, reduceFetchState } from './commonStateTypes/reduceFetchState';
28
28
  import { toReimbursementTypeCode } from './commonStateTypes/reimbursementTypeCode';
29
29
  import { ClassesViewSelectorReportV2 } from './commonStateTypes/selectorTypes/classesViewSelectorReport';
@@ -126,15 +126,15 @@ import { pushToastNotification } from './entity/toastNotification/toastNotificat
126
126
  import { getLastNotificationTime, getNotifications } from './entity/toastNotification/toastNotificationSelector';
127
127
  import { ToastNotification } from './entity/toastNotification/toastNotificationState';
128
128
  import { Attachment, ContentType, mapFileEntityToAttachment, toContentType, toContentTypeStrict } from './entity/transaction/stateTypes/attachment';
129
- import { CustomerTransaction, isCustomerTransaction } from './entity/transaction/stateTypes/customerTransaction';
129
+ import { CustomerTransaction, CustomerTransactionWithCOT, isCustomerTransaction } from './entity/transaction/stateTypes/customerTransaction';
130
130
  import { TransferTransaction, isTransferTransaction } from './entity/transaction/stateTypes/otherTransaction';
131
131
  import { MatchedTransaction } from './entity/transaction/stateTypes/reconciliationTransaction';
132
132
  import { ScheduleTransaction } from './entity/transaction/stateTypes/scheduleTransaction';
133
- import { RecommendationByLineId, Transaction, TransactionID } from './entity/transaction/stateTypes/transaction';
133
+ import { RecommendationByLineId, RecommendationWithCOTByLineId, Transaction, TransactionID, TransactionWithCOT } from './entity/transaction/stateTypes/transaction';
134
134
  import { BillableStatus, JournalEntryTransactionLine, Line, LineType, LinkedTransactionLine, PlatformLineDetailType, ProductOrService, TransactionInfoLine, TransactionLineBase, TransactionWithAccountAndClassLine, TransactionWithProductOrServiceLine, toPlatformLineDetailType } from './entity/transaction/stateTypes/transactionLine';
135
135
  import { CustomerTransactionType, EmployeeTransactionType, OtherTransactionType, TransactionCategory, TransactionType, TransferTransactionType, VendorTransactionType, toTransactionCategory, toTransactionType, toTransactionTypeStrict } from './entity/transaction/stateTypes/transactionType';
136
- import { VendorTransaction, VendorTransactionWithCustomer, isVendorTransaction, isVendorTransactionWithCustomer } from './entity/transaction/stateTypes/vendorTransaction';
137
- import { SupportedTransaction, SupportedTransactionPayload } from './entity/transaction/transactionState';
136
+ import { VendorTransaction, VendorTransactionWithCOT, VendorTransactionWithCustomer, VendorTransactionWithCustomerWithCOT, isVendorTransaction, isVendorTransactionWithCustomer } from './entity/transaction/stateTypes/vendorTransaction';
137
+ import { SupportedTransaction, SupportedTransactionPayload, SupportedTransactionWithCOT } from './entity/transaction/transactionState';
138
138
  import { getUserRoleByUserId, getUserRoleByUserIds } from './entity/userRole/userRoleSelector';
139
139
  import { RoleMap, UserRoleType, getUserRoleMap, hasAdminLevelAccess, hasAnyCompanyRole, hasAnyFinOpRole, hasBillPayAccess, hasBillPayAccessible, hasBillPayAdminLevelAccess, hasBillPayFallbackAdminLevelAccess, hasBookKeepingAdminLevelAccess, hasBookKeepingUserLevelAccess, hasChargeCardAccess, hasChargeCardAccessible, hasChargeCardAdminLevelAccess, hasEmployeeLevelAccess, hasFullOrAdminLevelAccess, hasInvestorBankerLevelAccess, hasOnlyBillPayAccess, hasOnlyChargeCardAccess, hasOnlyReimbursementAccess, hasOnlyZeniAccountsAccess, hasReimbursementAccess, hasReimbursementAccessible, hasReimbursementAdminLevelAccess, hasReimbursementUserAccess, hasRemiFallbackAdminLevelAccess, hasSpendManagementAccess, hasSpendManagementAdminLevelAccess, hasSuperAdminLevelAccess, hasZeniAccountsAccess, hasZeniAccountsAccessible, hasZeniAccountsAdminLevelAccess, hasZeniRoleOrCompanyOfficerAccess, isFinOpsUserRoleType, isNonZeniRole, isZeniSignedInUser, toUserRoleType, toUserRoleTypeStrict } from './entity/userRole/userRoleType';
140
140
  import { updateVendors } from './entity/vendor/vendorReducer';
@@ -652,16 +652,16 @@ export { FinanceStatementReport, getFinanceStatement, fetchFinanceStatement, upd
652
652
  export { Attachment, ContentType, toContentTypeStrict, toContentType, mapFileEntityToAttachment, };
653
653
  export { AttachmentPayload, toAttachment, } from './entity/transaction/payloadTypes/attachmentPayload';
654
654
  export { CustomerBase, Customer, defaultCustomerCurrency };
655
- export { CustomerTransaction, isCustomerTransaction };
656
- export { TransactionID, Transaction, RecommendationByLineId };
655
+ export { CustomerTransaction, CustomerTransactionWithCOT, isCustomerTransaction };
656
+ export { TransactionID, TransactionWithCOT, Transaction, RecommendationWithCOTByLineId, RecommendationByLineId, };
657
657
  export { TransactionIDPayload, toTransactionID, } from './entity/transaction/payloadTypes/transactionIDPayload';
658
658
  export { TransactionLineBase, LinkedTransactionLine, TransactionWithAccountAndClassLine, TransactionWithProductOrServiceLine, JournalEntryTransactionLine, TransactionInfoLine, Line, LineType, ProductOrService, toPlatformLineDetailType, PlatformLineDetailType, };
659
659
  export { CustomerTransactionType, VendorTransactionType, EmployeeTransactionType, TransferTransactionType, OtherTransactionType, TransactionType, toTransactionType, toTransactionTypeStrict, toTransactionCategory, TransactionCategory, };
660
660
  export { VendorBase, Vendor, defaultVendorCurrency, updateVendors };
661
- export { VendorTransaction, isVendorTransaction, VendorTransactionWithCustomer, isVendorTransactionWithCustomer, };
661
+ export { VendorTransaction, VendorTransactionWithCOT, isVendorTransaction, VendorTransactionWithCustomer, VendorTransactionWithCustomerWithCOT, isVendorTransactionWithCustomer, };
662
662
  export { TransferTransaction, isTransferTransaction };
663
663
  export { MatchedTransaction };
664
- export { SupportedTransaction, SupportedTransactionPayload };
664
+ export { SupportedTransaction, SupportedTransactionWithCOT, SupportedTransactionPayload, };
665
665
  export { clearTransactionList, updateLatestTransactionId, parallelFetchAccountTransactionList, parallelFetchEntityTransactionList, fetchAccountTransactionList, updateTransactionListByAccount, updateTransactionListByAccountFailure, updateTransactionListByAccountUIState, parallelFetchClassTransactionList, updateTransactionListByClassUIState, updateTransactionListByClass, updateTransactionListUIStateByCategoryType, parallelFetchTransactionListByCategoryType, };
666
666
  export { TransactionListByAccountReport, getTransactionListByAccount, getTransactionListUIStateByAccountKey, };
667
667
  export { fetchEntityTransactionList, updateTransactionListByEntity, saveTransactionDetailLocalData, clearTransactionDetailSaveStatus, updateTransactionListByEntityFailure, resetLineItemsCategoryClassInLocalData, setAllLineItemsToCategoryClassInLocalData, saveTransactionDetail, setAllLineItemsLocalDataIsUpdateAllChecked, initializeTransactionDetailLocalData, removeEntityRecommendationForLineIdForTransactionDetail, updateSelectedVendor, updateSelectedCustomer, resetSelectedCustomer, resetVendor, updateLocalDataWithTransactionsUpdateWithVendorCheckbox, updateVendorToAllLineItems, resetAllLineItemsToVendor, updateLatestSelectedEntity, updateVendorBulkRecommendationsFetchStatus, setIsVendorUpdateAllChecked, };
@@ -765,7 +765,7 @@ export { openSnackbar, closeSnackbar, getSnackbar, SnackbarMessageType, Snackbar
765
765
  export { getSpendManagementEffectiveListPeriod, getSelectedCompanyOfficer, showBillPayPromoPage, showReimbursementPromoPage, getActualPaymentDate, isVerifiedStatusCode, isBulkProcessing, getBillListUniqueType, getRemiListUniqueType, BulkOperationType, BulkOperationFinishedType, getBulkOperationSuffix, ZeniAccountsPromoConfig, toAccountsPromoConfig, isPaymentMethodOutsideZeni, isAwaitingMarkAsPaid, checkIfLowBalance, };
766
766
  export { FilterCategoryValueType, canSendMonthEndEmailReport, shouldEnableCalendarPickerForLastReportSent, };
767
767
  export { BillPayConfig, BillPaymentConfigCodeType, BillPaymentSubConfigCodeType, getInternationalSubConfigCodeKey, InternationalSubConfigCodeType, BILL_NEW_PAYMENT_METHODS, NEW_INTERNATIONAL_METHOD_SUBTEXT, SWIFT_OUR_INTERNATIONAL_METHOD_SUBTEXT, LOCAL_CURRENCY_INTERNATIONAL_METHOD_SUBTEXT, AccountTypeSubConfigCodeKeyType, };
768
- export { Recommendation };
768
+ export { Recommendation, TransactionLineRecommendationFieldTypes, RecommendationWithCOT, };
769
769
  export { Filing1099TinType };
770
770
  export { BillPayCardReport };
771
771
  export { ReimbursementCardReport };
@@ -4,10 +4,10 @@ import { CompanyTaskManagerViewPayload } from './companyTaskManagerViewPayload';
4
4
  import { CompanyTaskManagerViewState, CompanyTaskManagerViewUIState } from './companyTaskManagerViewState';
5
5
  export declare const initialUIState: CompanyTaskManagerViewUIState;
6
6
  export declare const initialState: CompanyTaskManagerViewState;
7
- export declare const fetchCompanyTaskManagerView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[pageToken: PageToken, sortKey: "status" | "name" | "dueDate" | "tags" | "createdBy" | "priority" | "taskName" | "assignee", sortOrder: "ascending" | "descending", keepExistingListItems?: any, searchString?: string | undefined], {
7
+ export declare const fetchCompanyTaskManagerView: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[pageToken: PageToken, sortKey: "status" | "dueDate" | "name" | "tags" | "createdBy" | "priority" | "taskName" | "assignee", sortOrder: "ascending" | "descending", keepExistingListItems?: any, searchString?: string | undefined], {
8
8
  pageToken: PageToken;
9
9
  searchString: string | undefined;
10
- sortKey: "status" | "name" | "dueDate" | "tags" | "createdBy" | "priority" | "taskName" | "assignee";
10
+ sortKey: "status" | "dueDate" | "name" | "tags" | "createdBy" | "priority" | "taskName" | "assignee";
11
11
  sortOrder: "ascending" | "descending";
12
12
  keepExistingListItems: any;
13
13
  }, "companyTaskManagerView/fetchCompanyTaskManagerView", never, never>, updateCompanyTaskManagerViewOnSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
@@ -7,7 +7,7 @@ export declare const toPortfolioSortKeyType: (v: string) => "expenses" | "runway
7
7
  export declare const toManagementSortKeyType: (v: string) => "status" | "bookCloseDate" | "group" | "taxStatus" | "controller" | "preparer" | "reviewer" | "annualRecurringRevenue" | "monthlyRecurringRevenue" | "companyName" | "task" | "notes" | "plans" | "customerSuccessManager" | "apAnalyst" | "reportSent" | "taxLead" | "satisfaction";
8
8
  export declare const toOnboardingSortKeyType: (v: string) => "companyName" | "identityVerified" | "businessVerified" | "bankAccountLinked" | "qboLinked" | "groupCreated" | "customerCreated" | "notes" | "enroller" | "invite" | "latestCreated";
9
9
  export declare const toHealthSortKeyType: (v: string) => "group" | "runway" | "controller" | "monthlyRecurringRevenue" | "companyName" | "companyEngagementMetricsUpdatedAt" | "netPromoterScore" | "customerSatisfactionScore" | "externalProductServiceExposure" | "customerSuccessManager" | "lastReportSent" | "issues" | "productVerticals" | "churnProbability" | "subscriptionDate" | "renewalDate" | "dashboardLastSeen" | "lastEngagement";
10
- export declare const toTaskManagerSortKeyType: (v: string) => "status" | "name" | "dueDate" | "tags" | "createdBy" | "priority" | "taskName" | "assignee";
10
+ export declare const toTaskManagerSortKeyType: (v: string) => "status" | "dueDate" | "name" | "tags" | "createdBy" | "priority" | "taskName" | "assignee";
11
11
  export type PortfolioViewSortKey = ReturnType<typeof toPortfolioSortKeyType>;
12
12
  export type ManagementViewSortKey = ReturnType<typeof toManagementSortKeyType>;
13
13
  export type OnboardingViewSortKey = ReturnType<typeof toOnboardingSortKeyType>;