@zeniai/client-epic-state 5.0.4-beta0ND → 5.0.4-betaJK1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/lib/coreEpics.js +1 -2
  2. package/lib/entity/accountRecon/accountReconState.d.ts +1 -1
  3. package/lib/entity/accountRecon/accountReconState.js +1 -0
  4. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerPayload.d.ts +1 -9
  5. package/lib/entity/aiAccountantCustomer/aiAccountantCustomerPayload.js +1 -16
  6. package/lib/entity/tenant/tenantReducer.d.ts +1 -5
  7. package/lib/entity/tenant/tenantReducer.js +2 -23
  8. package/lib/entity/tenant/tenantState.d.ts +0 -1
  9. package/lib/esm/coreEpics.js +1 -2
  10. package/lib/esm/entity/accountRecon/accountReconState.js +1 -0
  11. package/lib/esm/entity/aiAccountantCustomer/aiAccountantCustomerPayload.js +1 -16
  12. package/lib/esm/entity/tenant/tenantReducer.js +1 -21
  13. package/lib/esm/index.js +2 -5
  14. package/lib/esm/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +2 -0
  15. package/lib/esm/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +1 -0
  16. package/lib/esm/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +29 -2
  17. package/lib/esm/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +2 -1
  18. package/lib/index.d.ts +2 -5
  19. package/lib/index.js +30 -36
  20. package/lib/view/expenseAutomationView/epics/accountRecon/fetchReconciliationViewEpic.js +2 -0
  21. package/lib/view/expenseAutomationView/epics/accountRecon/initialiseLocalDataForSelectedAccountIdEpic.js +1 -0
  22. package/lib/view/expenseAutomationView/epics/accountRecon/saveReconciliationReviewEpic.js +29 -2
  23. package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.d.ts +1 -1
  24. package/lib/view/expenseAutomationView/epics/accountRecon/uploadAccountStatementDocumentAIHelper.js +2 -1
  25. package/lib/view/expenseAutomationView/types/reconciliationViewState.d.ts +4 -1
  26. package/package.json +1 -1
  27. package/lib/entity/tenant/SessionManager.d.ts +0 -38
  28. package/lib/entity/tenant/SessionManager.js +0 -171
  29. package/lib/entity/tenant/epic/sessionHeartbeatEpic.d.ts +0 -16
  30. package/lib/entity/tenant/epic/sessionHeartbeatEpic.js +0 -16
  31. package/lib/entity/tenant/sessionTypes.d.ts +0 -26
  32. package/lib/entity/tenant/sessionTypes.js +0 -12
  33. package/lib/esm/entity/tenant/SessionManager.js +0 -167
  34. package/lib/esm/entity/tenant/epic/sessionHeartbeatEpic.js +0 -12
  35. package/lib/esm/entity/tenant/sessionTypes.js +0 -9
  36. package/lib/tsconfig.typecheck.tsbuildinfo +0 -1
package/lib/coreEpics.js CHANGED
@@ -24,7 +24,6 @@ const resendVerifyDeviceOTPEpic_1 = require("./entity/tenant/epic/resendVerifyDe
24
24
  const saveExternalConnectionEpic_1 = require("./entity/tenant/epic/saveExternalConnectionEpic");
25
25
  const sendEmailMagicLinkToUserEpic_1 = require("./entity/tenant/epic/sendEmailMagicLinkToUserEpic");
26
26
  const signInUserEpic_1 = require("./entity/tenant/epic/signInUserEpic");
27
- const sessionHeartbeatEpic_1 = require("./entity/tenant/epic/sessionHeartbeatEpic");
28
27
  const signOutUserEpic_1 = require("./entity/tenant/epic/signOutUserEpic");
29
28
  const verifyDeviceWithTwoFAEpic_1 = require("./entity/tenant/epic/verifyDeviceWithTwoFAEpic");
30
29
  // ── Toast Notification Epic ──────────────────────────────────────────
@@ -49,7 +48,7 @@ const verifyOtpEpic_1 = require("./view/twoFactorAuthentication/verifyOtpEpic");
49
48
  // RootActionType is only available in the dynamically imported epic.ts.
50
49
  const coreRootEpic = (0, redux_observable_1.combineEpics)(
51
50
  // Auth & tenant
52
- clearAllEpic_1.clearAllEpic, doMagicLinkSignInEpic_1.doMagicLinkSignInEpic, signInUserEpic_1.doSignInEpic, signOutUserEpic_1.doSignOutEpic, sessionHeartbeatEpic_1.sessionHeartbeatEpic, fetchActiveTenantEpic_1.fetchActiveTenantEpic, fetchAllTenantsEpic_1.fetchAllTenantsEpic, fetchExcludedResourcesEpic_1.fetchExcludedResourcesEpic, fetchExternalConnectionsEpic_1.fetchExternalConnectionsEpic, fetchSubscriptionSummaryForTenantEpic_1.fetchSubscriptionSummaryForTenantEpic, resendVerifyDeviceOTPEpic_1.resendVerifyDeviceOTPEpic, saveExternalConnectionEpic_1.saveExternalConnectionEpic, sendEmailMagicLinkToUserEpic_1.sendEmailMagicLinkToUserEpic, verifyDeviceWithTwoFAEpic_1.verifyDeviceWithTwoFAEpic,
51
+ clearAllEpic_1.clearAllEpic, doMagicLinkSignInEpic_1.doMagicLinkSignInEpic, signInUserEpic_1.doSignInEpic, signOutUserEpic_1.doSignOutEpic, fetchActiveTenantEpic_1.fetchActiveTenantEpic, fetchAllTenantsEpic_1.fetchAllTenantsEpic, fetchExcludedResourcesEpic_1.fetchExcludedResourcesEpic, fetchExternalConnectionsEpic_1.fetchExternalConnectionsEpic, fetchSubscriptionSummaryForTenantEpic_1.fetchSubscriptionSummaryForTenantEpic, resendVerifyDeviceOTPEpic_1.resendVerifyDeviceOTPEpic, saveExternalConnectionEpic_1.saveExternalConnectionEpic, sendEmailMagicLinkToUserEpic_1.sendEmailMagicLinkToUserEpic, verifyDeviceWithTwoFAEpic_1.verifyDeviceWithTwoFAEpic,
53
52
  // Toast
54
53
  pushToastNotificationEpic_1.pushToastNotificationEpic,
55
54
  // Collaboration
@@ -4,7 +4,7 @@ import { MonthYearPeriod } from '../../commonStateTypes/timePeriod';
4
4
  import { ZeniDate } from '../../zeniDayJS';
5
5
  import { MerchantType, TransactionDirectionType } from '../transaction/stateTypes/reconciliationTransaction';
6
6
  import { TransactionType } from '../transaction/stateTypes/transactionType';
7
- export declare const toRecommendedActionCodeType: (v: string) => "record_expense" | "record_deposit" | "record_transfer" | "record_bill_payment" | "record_cc_payment" | "record_cc_credit";
7
+ export declare const toRecommendedActionCodeType: (v: string) => "record_expense" | "record_deposit" | "record_transfer" | "record_bill_payment" | "record_cc_payment" | "record_cc_credit" | "record_journal_entry";
8
8
  export type RecommendedActionCodeType = ReturnType<typeof toRecommendedActionCodeType>;
9
9
  export declare const toReconciliationStatusCodeType: (v: string) => "pending" | "failed" | "in_progress" | "save_for_later" | "reconciled" | "reconciled_on_qbo";
10
10
  export type ReconciliationStatusCodeType = ReturnType<typeof toReconciliationStatusCodeType>;
@@ -10,6 +10,7 @@ const RECOMMENDED_ACTION_CODE = [
10
10
  'record_bill_payment', // Match
11
11
  'record_cc_payment', // Categorize
12
12
  'record_cc_credit', // Categorize
13
+ 'record_journal_entry', // Journal Entry
13
14
  ];
14
15
  const toRecommendedActionCodeType = (v) => (0, stringToUnion_1.stringToUnion)(v, RECOMMENDED_ACTION_CODE);
15
16
  exports.toRecommendedActionCodeType = toRecommendedActionCodeType;
@@ -1,15 +1,7 @@
1
1
  import { AiAccountantCustomer, AiAccountantEnrollment, AiAccountantJob } from './aiAccountantCustomerState';
2
- export interface AiAccountantModelAccuracyPayload {
3
- accuracy: number;
4
- model_id: string;
5
- passed: boolean;
6
- threshold: number;
7
- training_status: string;
8
- validated_at: string;
9
- }
10
2
  export interface AiAccountantEnrollmentPayload {
11
3
  status: string;
12
- accuracy?: Record<string, AiAccountantModelAccuracyPayload> | null;
4
+ accuracy?: Record<string, number>;
13
5
  latest_training?: string;
14
6
  latest_transaction_sync?: string;
15
7
  offboarded_at?: string;
@@ -4,24 +4,9 @@ exports.toAiAccountantJob = exports.toAiAccountantCustomer = exports.toAiAccount
4
4
  const zeniDayJS_1 = require("../../zeniDayJS");
5
5
  const aiAccountantCustomerState_1 = require("./aiAccountantCustomerState");
6
6
  // ── Mapping functions (payload → state) ──
7
- // Backend returns accuracy as a percent (0–100) inside a nested object; the UI
8
- // layer treats it as a 0–1 fraction. Normalize here and drop malformed entries.
9
- const toAccuracyByModel = (accuracyPayload) => {
10
- if (accuracyPayload == null) {
11
- return undefined;
12
- }
13
- const result = {};
14
- Object.entries(accuracyPayload).forEach(([model, entry]) => {
15
- const percent = entry?.accuracy;
16
- if (typeof percent === 'number' && Number.isFinite(percent)) {
17
- result[model] = percent / 100;
18
- }
19
- });
20
- return Object.keys(result).length > 0 ? result : undefined;
21
- };
22
7
  const toAiAccountantEnrollment = (payload) => ({
23
8
  status: (0, aiAccountantCustomerState_1.toAiAccountantEnrollmentStatus)(payload.status),
24
- accuracy: toAccuracyByModel(payload.accuracy),
9
+ accuracy: payload.accuracy,
25
10
  latestTraining: payload.latest_training != null
26
11
  ? (0, zeniDayJS_1.date)(payload.latest_training)
27
12
  : undefined,
@@ -51,11 +51,7 @@ export declare const updateTenants: import("@reduxjs/toolkit").ActionCreatorWith
51
51
  accountLockTime?: string;
52
52
  accountUnlockTime?: string;
53
53
  isAccountLocked?: boolean;
54
- }, "tenant/sendEmailMagicLinkToUserFailure">, updateSignInState: import("@reduxjs/toolkit").ActionCreatorWithPayload<FetchState, "tenant/updateSignInState">, doSignOut: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/doSignOut">, signOutSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/signOutSuccess">, sendSessionHeartbeat: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/sendSessionHeartbeat">, sessionHeartbeatSuccess: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[expiresAt: string], {
55
- expiresAt: string;
56
- }, "tenant/sessionHeartbeatSuccess", never, never>, sessionHeartbeatFailure: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[error: ZeniAPIStatus<Record<string, unknown>>], {
57
- error: ZeniAPIStatus<Record<string, unknown>>;
58
- }, "tenant/sessionHeartbeatFailure", never, never>, updateLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userPayload: LoggedInUserPayload, zeniSessionId: string, authProvider: AuthProvider], {
54
+ }, "tenant/sendEmailMagicLinkToUserFailure">, updateSignInState: import("@reduxjs/toolkit").ActionCreatorWithPayload<FetchState, "tenant/updateSignInState">, doSignOut: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/doSignOut">, signOutSuccess: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"tenant/signOutSuccess">, updateLoggedInUser: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[userPayload: LoggedInUserPayload, zeniSessionId: string, authProvider: AuthProvider], {
59
55
  userPayload: LoggedInUserPayload;
60
56
  zeniSessionId: string;
61
57
  authProvider: AuthProvider;
@@ -4,8 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  var _a;
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.resendVerifyDeviceOTPSuccess = exports.resendVerifyDeviceOTP = exports.verifyDeviceWithTwoFAFailure = exports.verifyDeviceWithTwoFASuccess = exports.verifyDeviceWithTwoFA = exports.updateTenantMasterTOSInfo = exports.updateTenantAccountingClassesEnabled = exports.trigger2FA = exports.resetSignInState = exports.updateTreasuryVideoViewedForLoggedInUser = exports.updateReferViewedForLoggedInUser = exports.updateTenantReimbursementInfo = exports.removeOnboardingTenant = exports.updateOnboardingTenants = exports.updateSubscriptionSummaryForTenantFailure = exports.updateSubscriptionSummaryForTenantSuccess = exports.fetchSubscriptionSummaryForTenant = exports.clearAll = exports.fetchExternalConnectionsSuccess = exports.fetchExternalConnectionsFailure = exports.saveExternalConnectionFailure = exports.saveExternalConnectionSuccess = exports.saveExternalConnection = exports.fetchExternalConnections = exports.updateLoggedInUser = exports.sessionHeartbeatFailure = exports.sessionHeartbeatSuccess = exports.sendSessionHeartbeat = exports.signOutSuccess = exports.doSignOut = exports.updateSignInState = exports.sendEmailMagicLinkToUserFailure = exports.sendEmailMagicLinkToUserSuccess = exports.sendEmailMagicLinkToUser = exports.magicLinkSignInFailure = exports.magicLinkSignInSuccess = exports.doMagicLinkSignIn = exports.doSignIn = exports.updateExcludedResourcesFailure = exports.updateExcludedResourcesSuccess = exports.fetchExcludedResources = exports.updateCurrentTenant = exports.updateTenantFailure = exports.updateTenantSuccess = exports.fetchActiveTenant = exports.updateTenantsFailure = exports.updateTenantsSuccess = exports.fetchAllTenants = exports.updateTenants = exports.initialState = void 0;
8
- exports.toConnection = exports.toRoleResource = exports.resendVerifyDeviceOTPFailure = void 0;
7
+ exports.toConnection = exports.toRoleResource = exports.resendVerifyDeviceOTPFailure = exports.resendVerifyDeviceOTPSuccess = exports.resendVerifyDeviceOTP = exports.verifyDeviceWithTwoFAFailure = exports.verifyDeviceWithTwoFASuccess = exports.verifyDeviceWithTwoFA = exports.updateTenantMasterTOSInfo = exports.updateTenantAccountingClassesEnabled = exports.trigger2FA = exports.resetSignInState = exports.updateTreasuryVideoViewedForLoggedInUser = exports.updateReferViewedForLoggedInUser = exports.updateTenantReimbursementInfo = exports.removeOnboardingTenant = exports.updateOnboardingTenants = exports.updateSubscriptionSummaryForTenantFailure = exports.updateSubscriptionSummaryForTenantSuccess = exports.fetchSubscriptionSummaryForTenant = exports.clearAll = exports.fetchExternalConnectionsSuccess = exports.fetchExternalConnectionsFailure = exports.saveExternalConnectionFailure = exports.saveExternalConnectionSuccess = exports.saveExternalConnection = exports.fetchExternalConnections = exports.updateLoggedInUser = exports.signOutSuccess = exports.doSignOut = exports.updateSignInState = exports.sendEmailMagicLinkToUserFailure = exports.sendEmailMagicLinkToUserSuccess = exports.sendEmailMagicLinkToUser = exports.magicLinkSignInFailure = exports.magicLinkSignInSuccess = exports.doMagicLinkSignIn = exports.doSignIn = exports.updateExcludedResourcesFailure = exports.updateExcludedResourcesSuccess = exports.fetchExcludedResources = exports.updateCurrentTenant = exports.updateTenantFailure = exports.updateTenantSuccess = exports.fetchActiveTenant = exports.updateTenantsFailure = exports.updateTenantsSuccess = exports.fetchAllTenants = exports.updateTenants = exports.initialState = void 0;
9
8
  exports.mapConnectionsPayloadToState = mapConnectionsPayloadToState;
10
9
  const toolkit_1 = require("@reduxjs/toolkit");
11
10
  const js_base64_1 = require("js-base64");
@@ -437,26 +436,6 @@ const tenant = (0, toolkit_1.createSlice)({
437
436
  signOutSuccess(draft) {
438
437
  draft.loggedInUser = undefined;
439
438
  draft.currentTenantId = undefined;
440
- draft.sessionExpiresAt = undefined;
441
- },
442
- sendSessionHeartbeat() {
443
- // No state change needed — epic handles the API call
444
- },
445
- sessionHeartbeatSuccess: {
446
- prepare(expiresAt) {
447
- return { payload: { expiresAt } };
448
- },
449
- reducer(draft, action) {
450
- draft.sessionExpiresAt = action.payload.expiresAt;
451
- },
452
- },
453
- sessionHeartbeatFailure: {
454
- prepare(error) {
455
- return { payload: { error } };
456
- },
457
- reducer(draft, action) {
458
- draft.error = action.payload.error;
459
- },
460
439
  },
461
440
  fetchSubscriptionSummaryForTenant: {
462
441
  prepare(tenantId) {
@@ -564,7 +543,7 @@ const tenant = (0, toolkit_1.createSlice)({
564
543
  },
565
544
  },
566
545
  });
567
- _a = tenant.actions, exports.updateTenants = _a.updateTenants, exports.fetchAllTenants = _a.fetchAllTenants, exports.updateTenantsSuccess = _a.updateTenantsSuccess, exports.updateTenantsFailure = _a.updateTenantsFailure, exports.fetchActiveTenant = _a.fetchActiveTenant, exports.updateTenantSuccess = _a.updateTenantSuccess, exports.updateTenantFailure = _a.updateTenantFailure, exports.updateCurrentTenant = _a.updateCurrentTenant, exports.fetchExcludedResources = _a.fetchExcludedResources, exports.updateExcludedResourcesSuccess = _a.updateExcludedResourcesSuccess, exports.updateExcludedResourcesFailure = _a.updateExcludedResourcesFailure, exports.doSignIn = _a.doSignIn, exports.doMagicLinkSignIn = _a.doMagicLinkSignIn, exports.magicLinkSignInSuccess = _a.magicLinkSignInSuccess, exports.magicLinkSignInFailure = _a.magicLinkSignInFailure, exports.sendEmailMagicLinkToUser = _a.sendEmailMagicLinkToUser, exports.sendEmailMagicLinkToUserSuccess = _a.sendEmailMagicLinkToUserSuccess, exports.sendEmailMagicLinkToUserFailure = _a.sendEmailMagicLinkToUserFailure, exports.updateSignInState = _a.updateSignInState, exports.doSignOut = _a.doSignOut, exports.signOutSuccess = _a.signOutSuccess, exports.sendSessionHeartbeat = _a.sendSessionHeartbeat, exports.sessionHeartbeatSuccess = _a.sessionHeartbeatSuccess, exports.sessionHeartbeatFailure = _a.sessionHeartbeatFailure, exports.updateLoggedInUser = _a.updateLoggedInUser, exports.fetchExternalConnections = _a.fetchExternalConnections, exports.saveExternalConnection = _a.saveExternalConnection, exports.saveExternalConnectionSuccess = _a.saveExternalConnectionSuccess, exports.saveExternalConnectionFailure = _a.saveExternalConnectionFailure, exports.fetchExternalConnectionsFailure = _a.fetchExternalConnectionsFailure, exports.fetchExternalConnectionsSuccess = _a.fetchExternalConnectionsSuccess, exports.clearAll = _a.clearAll, exports.fetchSubscriptionSummaryForTenant = _a.fetchSubscriptionSummaryForTenant, exports.updateSubscriptionSummaryForTenantSuccess = _a.updateSubscriptionSummaryForTenantSuccess, exports.updateSubscriptionSummaryForTenantFailure = _a.updateSubscriptionSummaryForTenantFailure, exports.updateOnboardingTenants = _a.updateOnboardingTenants, exports.removeOnboardingTenant = _a.removeOnboardingTenant, exports.updateTenantReimbursementInfo = _a.updateTenantReimbursementInfo, exports.updateReferViewedForLoggedInUser = _a.updateReferViewedForLoggedInUser, exports.updateTreasuryVideoViewedForLoggedInUser = _a.updateTreasuryVideoViewedForLoggedInUser, exports.resetSignInState = _a.resetSignInState, exports.trigger2FA = _a.trigger2FA, exports.updateTenantAccountingClassesEnabled = _a.updateTenantAccountingClassesEnabled, exports.updateTenantMasterTOSInfo = _a.updateTenantMasterTOSInfo, exports.verifyDeviceWithTwoFA = _a.verifyDeviceWithTwoFA, exports.verifyDeviceWithTwoFASuccess = _a.verifyDeviceWithTwoFASuccess, exports.verifyDeviceWithTwoFAFailure = _a.verifyDeviceWithTwoFAFailure, exports.resendVerifyDeviceOTP = _a.resendVerifyDeviceOTP, exports.resendVerifyDeviceOTPSuccess = _a.resendVerifyDeviceOTPSuccess, exports.resendVerifyDeviceOTPFailure = _a.resendVerifyDeviceOTPFailure;
546
+ _a = tenant.actions, exports.updateTenants = _a.updateTenants, exports.fetchAllTenants = _a.fetchAllTenants, exports.updateTenantsSuccess = _a.updateTenantsSuccess, exports.updateTenantsFailure = _a.updateTenantsFailure, exports.fetchActiveTenant = _a.fetchActiveTenant, exports.updateTenantSuccess = _a.updateTenantSuccess, exports.updateTenantFailure = _a.updateTenantFailure, exports.updateCurrentTenant = _a.updateCurrentTenant, exports.fetchExcludedResources = _a.fetchExcludedResources, exports.updateExcludedResourcesSuccess = _a.updateExcludedResourcesSuccess, exports.updateExcludedResourcesFailure = _a.updateExcludedResourcesFailure, exports.doSignIn = _a.doSignIn, exports.doMagicLinkSignIn = _a.doMagicLinkSignIn, exports.magicLinkSignInSuccess = _a.magicLinkSignInSuccess, exports.magicLinkSignInFailure = _a.magicLinkSignInFailure, exports.sendEmailMagicLinkToUser = _a.sendEmailMagicLinkToUser, exports.sendEmailMagicLinkToUserSuccess = _a.sendEmailMagicLinkToUserSuccess, exports.sendEmailMagicLinkToUserFailure = _a.sendEmailMagicLinkToUserFailure, exports.updateSignInState = _a.updateSignInState, exports.doSignOut = _a.doSignOut, exports.signOutSuccess = _a.signOutSuccess, exports.updateLoggedInUser = _a.updateLoggedInUser, exports.fetchExternalConnections = _a.fetchExternalConnections, exports.saveExternalConnection = _a.saveExternalConnection, exports.saveExternalConnectionSuccess = _a.saveExternalConnectionSuccess, exports.saveExternalConnectionFailure = _a.saveExternalConnectionFailure, exports.fetchExternalConnectionsFailure = _a.fetchExternalConnectionsFailure, exports.fetchExternalConnectionsSuccess = _a.fetchExternalConnectionsSuccess, exports.clearAll = _a.clearAll, exports.fetchSubscriptionSummaryForTenant = _a.fetchSubscriptionSummaryForTenant, exports.updateSubscriptionSummaryForTenantSuccess = _a.updateSubscriptionSummaryForTenantSuccess, exports.updateSubscriptionSummaryForTenantFailure = _a.updateSubscriptionSummaryForTenantFailure, exports.updateOnboardingTenants = _a.updateOnboardingTenants, exports.removeOnboardingTenant = _a.removeOnboardingTenant, exports.updateTenantReimbursementInfo = _a.updateTenantReimbursementInfo, exports.updateReferViewedForLoggedInUser = _a.updateReferViewedForLoggedInUser, exports.updateTreasuryVideoViewedForLoggedInUser = _a.updateTreasuryVideoViewedForLoggedInUser, exports.resetSignInState = _a.resetSignInState, exports.trigger2FA = _a.trigger2FA, exports.updateTenantAccountingClassesEnabled = _a.updateTenantAccountingClassesEnabled, exports.updateTenantMasterTOSInfo = _a.updateTenantMasterTOSInfo, exports.verifyDeviceWithTwoFA = _a.verifyDeviceWithTwoFA, exports.verifyDeviceWithTwoFASuccess = _a.verifyDeviceWithTwoFASuccess, exports.verifyDeviceWithTwoFAFailure = _a.verifyDeviceWithTwoFAFailure, exports.resendVerifyDeviceOTP = _a.resendVerifyDeviceOTP, exports.resendVerifyDeviceOTPSuccess = _a.resendVerifyDeviceOTPSuccess, exports.resendVerifyDeviceOTPFailure = _a.resendVerifyDeviceOTPFailure;
568
547
  exports.default = tenant.reducer;
569
548
  /**
570
549
  * Converts tenants payload to Tenant and User State
@@ -45,7 +45,6 @@ export interface TenantState extends FetchedState {
45
45
  magicLinkCodeVerifier?: string;
46
46
  magicLinkEmail?: string;
47
47
  otpChallenge?: string;
48
- sessionExpiresAt?: string;
49
48
  twoFAPhoneNumber?: string;
50
49
  }
51
50
  export interface TenantProductSettings {
@@ -22,7 +22,6 @@ import { resendVerifyDeviceOTPEpic } from './entity/tenant/epic/resendVerifyDevi
22
22
  import { saveExternalConnectionEpic } from './entity/tenant/epic/saveExternalConnectionEpic';
23
23
  import { sendEmailMagicLinkToUserEpic } from './entity/tenant/epic/sendEmailMagicLinkToUserEpic';
24
24
  import { doSignInEpic } from './entity/tenant/epic/signInUserEpic';
25
- import { sessionHeartbeatEpic } from './entity/tenant/epic/sessionHeartbeatEpic';
26
25
  import { doSignOutEpic } from './entity/tenant/epic/signOutUserEpic';
27
26
  import { verifyDeviceWithTwoFAEpic } from './entity/tenant/epic/verifyDeviceWithTwoFAEpic';
28
27
  // ── Toast Notification Epic ──────────────────────────────────────────
@@ -47,7 +46,7 @@ import { verifyOtpEpic } from './view/twoFactorAuthentication/verifyOtpEpic';
47
46
  // RootActionType is only available in the dynamically imported epic.ts.
48
47
  const coreRootEpic = combineEpics(
49
48
  // Auth & tenant
50
- clearAllEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, sessionHeartbeatEpic, fetchActiveTenantEpic, fetchAllTenantsEpic, fetchExcludedResourcesEpic, fetchExternalConnectionsEpic, fetchSubscriptionSummaryForTenantEpic, resendVerifyDeviceOTPEpic, saveExternalConnectionEpic, sendEmailMagicLinkToUserEpic, verifyDeviceWithTwoFAEpic,
49
+ clearAllEpic, doMagicLinkSignInEpic, doSignInEpic, doSignOutEpic, fetchActiveTenantEpic, fetchAllTenantsEpic, fetchExcludedResourcesEpic, fetchExternalConnectionsEpic, fetchSubscriptionSummaryForTenantEpic, resendVerifyDeviceOTPEpic, saveExternalConnectionEpic, sendEmailMagicLinkToUserEpic, verifyDeviceWithTwoFAEpic,
51
50
  // Toast
52
51
  pushToastNotificationEpic,
53
52
  // Collaboration
@@ -7,6 +7,7 @@ const RECOMMENDED_ACTION_CODE = [
7
7
  'record_bill_payment', // Match
8
8
  'record_cc_payment', // Categorize
9
9
  'record_cc_credit', // Categorize
10
+ 'record_journal_entry', // Journal Entry
10
11
  ];
11
12
  export const toRecommendedActionCodeType = (v) => stringToUnion(v, RECOMMENDED_ACTION_CODE);
12
13
  const RECONCILIATION_STATUS_CODE = [
@@ -1,24 +1,9 @@
1
1
  import { date } from '../../zeniDayJS';
2
2
  import { toAiAccountantEnrollmentStatus, toAiAccountantJobStatus, toAiAccountantOperationType, } from './aiAccountantCustomerState';
3
3
  // ── Mapping functions (payload → state) ──
4
- // Backend returns accuracy as a percent (0–100) inside a nested object; the UI
5
- // layer treats it as a 0–1 fraction. Normalize here and drop malformed entries.
6
- const toAccuracyByModel = (accuracyPayload) => {
7
- if (accuracyPayload == null) {
8
- return undefined;
9
- }
10
- const result = {};
11
- Object.entries(accuracyPayload).forEach(([model, entry]) => {
12
- const percent = entry?.accuracy;
13
- if (typeof percent === 'number' && Number.isFinite(percent)) {
14
- result[model] = percent / 100;
15
- }
16
- });
17
- return Object.keys(result).length > 0 ? result : undefined;
18
- };
19
4
  export const toAiAccountantEnrollment = (payload) => ({
20
5
  status: toAiAccountantEnrollmentStatus(payload.status),
21
- accuracy: toAccuracyByModel(payload.accuracy),
6
+ accuracy: payload.accuracy,
22
7
  latestTraining: payload.latest_training != null
23
8
  ? date(payload.latest_training)
24
9
  : undefined,
@@ -428,26 +428,6 @@ const tenant = createSlice({
428
428
  signOutSuccess(draft) {
429
429
  draft.loggedInUser = undefined;
430
430
  draft.currentTenantId = undefined;
431
- draft.sessionExpiresAt = undefined;
432
- },
433
- sendSessionHeartbeat() {
434
- // No state change needed — epic handles the API call
435
- },
436
- sessionHeartbeatSuccess: {
437
- prepare(expiresAt) {
438
- return { payload: { expiresAt } };
439
- },
440
- reducer(draft, action) {
441
- draft.sessionExpiresAt = action.payload.expiresAt;
442
- },
443
- },
444
- sessionHeartbeatFailure: {
445
- prepare(error) {
446
- return { payload: { error } };
447
- },
448
- reducer(draft, action) {
449
- draft.error = action.payload.error;
450
- },
451
431
  },
452
432
  fetchSubscriptionSummaryForTenant: {
453
433
  prepare(tenantId) {
@@ -555,7 +535,7 @@ const tenant = createSlice({
555
535
  },
556
536
  },
557
537
  });
558
- export const { updateTenants, fetchAllTenants, updateTenantsSuccess, updateTenantsFailure, fetchActiveTenant, updateTenantSuccess, updateTenantFailure, updateCurrentTenant, fetchExcludedResources, updateExcludedResourcesSuccess, updateExcludedResourcesFailure, doSignIn, doMagicLinkSignIn, magicLinkSignInSuccess, magicLinkSignInFailure, sendEmailMagicLinkToUser, sendEmailMagicLinkToUserSuccess, sendEmailMagicLinkToUserFailure, updateSignInState, doSignOut, signOutSuccess, sendSessionHeartbeat, sessionHeartbeatSuccess, sessionHeartbeatFailure, updateLoggedInUser, fetchExternalConnections, saveExternalConnection, saveExternalConnectionSuccess, saveExternalConnectionFailure, fetchExternalConnectionsFailure, fetchExternalConnectionsSuccess, clearAll, fetchSubscriptionSummaryForTenant, updateSubscriptionSummaryForTenantSuccess, updateSubscriptionSummaryForTenantFailure, updateOnboardingTenants, removeOnboardingTenant, updateTenantReimbursementInfo, updateReferViewedForLoggedInUser, updateTreasuryVideoViewedForLoggedInUser, resetSignInState, trigger2FA, updateTenantAccountingClassesEnabled, updateTenantMasterTOSInfo, verifyDeviceWithTwoFA, verifyDeviceWithTwoFASuccess, verifyDeviceWithTwoFAFailure, resendVerifyDeviceOTP, resendVerifyDeviceOTPSuccess, resendVerifyDeviceOTPFailure, } = tenant.actions;
538
+ export const { updateTenants, fetchAllTenants, updateTenantsSuccess, updateTenantsFailure, fetchActiveTenant, updateTenantSuccess, updateTenantFailure, updateCurrentTenant, fetchExcludedResources, updateExcludedResourcesSuccess, updateExcludedResourcesFailure, doSignIn, doMagicLinkSignIn, magicLinkSignInSuccess, magicLinkSignInFailure, sendEmailMagicLinkToUser, sendEmailMagicLinkToUserSuccess, sendEmailMagicLinkToUserFailure, updateSignInState, doSignOut, signOutSuccess, updateLoggedInUser, fetchExternalConnections, saveExternalConnection, saveExternalConnectionSuccess, saveExternalConnectionFailure, fetchExternalConnectionsFailure, fetchExternalConnectionsSuccess, clearAll, fetchSubscriptionSummaryForTenant, updateSubscriptionSummaryForTenantSuccess, updateSubscriptionSummaryForTenantFailure, updateOnboardingTenants, removeOnboardingTenant, updateTenantReimbursementInfo, updateReferViewedForLoggedInUser, updateTreasuryVideoViewedForLoggedInUser, resetSignInState, trigger2FA, updateTenantAccountingClassesEnabled, updateTenantMasterTOSInfo, verifyDeviceWithTwoFA, verifyDeviceWithTwoFASuccess, verifyDeviceWithTwoFAFailure, resendVerifyDeviceOTP, resendVerifyDeviceOTPSuccess, resendVerifyDeviceOTPFailure, } = tenant.actions;
559
539
  export default tenant.reducer;
560
540
  /**
561
541
  * Converts tenants payload to Tenant and User State
package/lib/esm/index.js CHANGED
@@ -59,7 +59,7 @@ import { closeSnackbar, openSnackbar } from './entity/snackbar/snackbarReducer';
59
59
  import { getSnackbar } from './entity/snackbar/snackbarSelector';
60
60
  import { toPriorityCodeType, toTaskStatusCodeType, } from './entity/task/taskState';
61
61
  import { getTaskGroupById } from './entity/taskGroup/taskGroupSelector';
62
- import { clearAll, doMagicLinkSignIn, doSignIn, doSignOut, sendSessionHeartbeat, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, saveExternalConnection as saveExternalConnectionForTenant, sendEmailMagicLinkToUser, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA, } from './entity/tenant/tenantReducer';
62
+ import { clearAll, doMagicLinkSignIn, doSignIn, doSignOut, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, saveExternalConnection as saveExternalConnectionForTenant, sendEmailMagicLinkToUser, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA, } from './entity/tenant/tenantReducer';
63
63
  import { getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView, } from './entity/tenant/tenantSelector';
64
64
  import { pushToastNotification } from './entity/toastNotification/toastNotificationReducer';
65
65
  import { getLastNotificationTime, getNotifications, } from './entity/toastNotification/toastNotificationSelector';
@@ -433,7 +433,7 @@ export { toTimeframeTick, mapTimePeriodtoTimeframeTick, toTimePeriod, toAbsolute
433
433
  export { toVendorSpendTrendFilterTabsTypeStrict, } from './entity/vendorExpense/vendorExpenseSelector';
434
434
  export { getNumberOfPeriods };
435
435
  export { SCHEDULE_DAYS_OF_MONTH, toScheduleDaysOfMonth, toMonth, toMonthStrict, toQuarter, toQuarterStrict, };
436
- export { getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, doSignOut, sendSessionHeartbeat, resetSignInState, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
436
+ export { getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, doSignOut, resetSignInState, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
437
437
  export { toAccountType, toAccountGroupType, getAccountGroupKey, };
438
438
  export { getClassById } from './entity/class/classSelector';
439
439
  export { getForecast };
@@ -631,6 +631,3 @@ export { getAutoTransferRules, getAutoTransferRuleById, getAutoTransferRuleHisto
631
631
  export { BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS, BULK_UPLOAD_BAR_COMPLETE_HOLD_MS, } from './view/expenseAutomationView/helpers/bulkUploadTiming';
632
632
  export { fetchTransactionActivityLog } from './view/transactionActivityLogView/transactionActivityLogViewReducer';
633
633
  export { getTransactionActivityLogView, } from './view/transactionActivityLogView/transactionActivityLogViewSelector';
634
- // ── Session Management ──────────────────────────────────────────────
635
- export { SessionManager } from './entity/tenant/SessionManager';
636
- export { DEFAULT_SESSION_CONFIG } from './entity/tenant/sessionTypes';
@@ -2,6 +2,7 @@ import { from, of } from 'rxjs';
2
2
  import { catchError, filter, mergeMap } from 'rxjs/operators';
3
3
  import { convertToPeriod, toMonthYearPeriodId, } from '../../../../commonStateTypes/timePeriod';
4
4
  import { updateAccounts } from '../../../../entity/account/accountReducer';
5
+ import { toRecommendedActionCodeType } from '../../../../entity/accountRecon/accountReconState';
5
6
  import { updateAccountRecon } from '../../../../entity/accountRecon/accountReconReducer';
6
7
  import { getAccountReconByAccountIdAndSelectedPeriod } from '../../../../entity/accountRecon/accountReconSelector';
7
8
  import { updateFiles } from '../../../../entity/file/fileReducer';
@@ -116,6 +117,7 @@ export const prepareReviewTabLocalData = (transactionsToReview) => {
116
117
  .recommended_transactions[0].merchant_name,
117
118
  }
118
119
  : undefined,
120
+ recommendedActionType: toRecommendedActionCodeType(currentTransaction.recommended_action.recommended_actions),
119
121
  };
120
122
  return {
121
123
  ...prev,
@@ -45,6 +45,7 @@ export const prepareReviewTabLocalData = (transactionsToReview) => {
45
45
  .recommendedTransactions[0].merchantName,
46
46
  }
47
47
  : undefined,
48
+ recommendedActionType: currentTransaction.recommendedAction.action,
48
49
  };
49
50
  return {
50
51
  ...prev,
@@ -30,8 +30,10 @@ export const saveReconciliationReviewEpic = (actions$, state$, zeniAPI) => actio
30
30
  reconciliationId = reconciliationData?.reconciliationId;
31
31
  updatedTransaction = reconciliationData?.transactionsToReview.find((transaction) => transaction.transactionId === transactionId);
32
32
  }
33
+ const reviewAction = localData?.recommendedActionType ??
34
+ updatedTransaction?.recommendedAction.action;
33
35
  const queryParam = {
34
- review_action: updatedTransaction?.recommendedAction.action,
36
+ review_action: reviewAction,
35
37
  reconciliation_id: reconciliationId ?? '',
36
38
  ref_account_id: selectedAccountId,
37
39
  ref_account_name: reconciliationData?.account.accountName,
@@ -41,7 +43,7 @@ export const saveReconciliationReviewEpic = (actions$, state$, zeniAPI) => actio
41
43
  if (reconciliationData != null &&
42
44
  updatedTransaction != null &&
43
45
  localData != null) {
44
- switch (updatedTransaction.recommendedAction.action) {
46
+ switch (reviewAction) {
45
47
  case 'record_expense':
46
48
  payload = getPayloadForExpenseRecord(updatedTransaction, localData);
47
49
  break;
@@ -63,6 +65,9 @@ export const saveReconciliationReviewEpic = (actions$, state$, zeniAPI) => actio
63
65
  case 'record_deposit':
64
66
  payload = getPayloadForDeposit(updatedTransaction, localData, entityState);
65
67
  break;
68
+ case 'record_journal_entry':
69
+ payload = getPayloadForJournalEntry(updatedTransaction, localData);
70
+ break;
66
71
  }
67
72
  }
68
73
  payload = {
@@ -220,6 +225,28 @@ const getPayloadForBillPayment = (updatedTransaction, linkedTransaction, localDa
220
225
  vendor_name: linkedTransaction?.merchantName,
221
226
  };
222
227
  };
228
+ function getPayloadForJournalEntry(updatedTransaction, localData) {
229
+ return {
230
+ transaction_id: updatedTransaction.transactionId,
231
+ transaction_date: updatedTransaction.transactionDate.format(DEFAULT_DATE_FORMAT),
232
+ transaction_memo: updatedTransaction.memo,
233
+ amount: updatedTransaction.amount.amount,
234
+ currency_code: updatedTransaction.amount.currencyCode,
235
+ transaction_direction: updatedTransaction.transactionDirection,
236
+ lines: [
237
+ {
238
+ class_id: localData.jeDebitClassId,
239
+ posting_type: 'Debit',
240
+ amount: updatedTransaction.amount.amount,
241
+ },
242
+ {
243
+ class_id: localData.jeCreditClassId,
244
+ posting_type: 'Credit',
245
+ amount: updatedTransaction.amount.amount,
246
+ },
247
+ ],
248
+ };
249
+ }
223
250
  const getToastMessageSection = (updatedTransaction) => {
224
251
  if (updatedTransaction?.recommendedAction.action === 'record_bill_payment') {
225
252
  return 'recon_transaction_match';
@@ -1,6 +1,6 @@
1
1
  import fetch from 'cross-fetch';
2
2
  import { zeniAPI } from '../../../../init';
3
- export default async function uploadAccountStatementIntoDocumentAI(accountType, fileBlob, authParams) {
3
+ export default async function uploadAccountStatementIntoDocumentAI(accountType, fileBlob, authParams, accountName) {
4
4
  let statementUpload;
5
5
  const urlEndPoint = `${zeniAPI.apiEndPoints.documentAIMicroServiceBaseUrl}/1.0/processors/statement`;
6
6
  const data = new FormData();
@@ -10,6 +10,7 @@ export default async function uploadAccountStatementIntoDocumentAI(accountType,
10
10
  ? 'reconciliation_card_statement_upload'
11
11
  : 'reconciliation_bank_statement_upload',
12
12
  purpose_id: 'reconciliation',
13
+ ...(accountName != null && { account_name: accountName }),
13
14
  });
14
15
  data.append('attachment_json_0', attachment_json);
15
16
  try {
package/lib/index.d.ts CHANGED
@@ -123,7 +123,7 @@ import { PriorityCodeType, Task, TaskCodeType, TaskPriority, TaskStatus, TaskSta
123
123
  import { getTaskGroupById } from './entity/taskGroup/taskGroupSelector';
124
124
  import { TaskGroupState } from './entity/taskGroup/taskGroupState';
125
125
  import { TaskGroupTemplate } from './entity/taskGroupTemplate/taskGroupTemplateState';
126
- import { DoSignInPayload, clearAll, doMagicLinkSignIn, doSignIn, doSignOut, sendSessionHeartbeat, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, saveExternalConnection as saveExternalConnectionForTenant, sendEmailMagicLinkToUser, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA } from './entity/tenant/tenantReducer';
126
+ import { DoSignInPayload, clearAll, doMagicLinkSignIn, doSignIn, doSignOut, fetchActiveTenant, fetchAllTenants, fetchExcludedResources as fetchExcludedResourcesForTenant, fetchExternalConnections as fetchExternalConnectionsForTenant, fetchSubscriptionSummaryForTenant, resendVerifyDeviceOTP, resetSignInState, saveExternalConnection as saveExternalConnectionForTenant, sendEmailMagicLinkToUser, updateCurrentTenant, updateSignInState, verifyDeviceWithTwoFA } from './entity/tenant/tenantReducer';
127
127
  import { CurrentTenant, TenantBaseView, TenantCoreDetailsView, TenantView, TenantsBaseOrdered, TenantsOrdered, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantBaseById, getTenantBaseViewForTenantId, getTenantBaseViewForTenantView, getTenantsBaseByCheckInDateSelector, getTenantsByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, isOtherProductsEnabledForTenant, isTenantBankingOnly, isTenantBookkeepingEnabled, isTenantCardsOnly, isTenantUsingZeniCOA, isZeniDomainTenant, toTenantCoreDetailsView } from './entity/tenant/tenantSelector';
128
128
  import { Connection, LoggedInUser, RoleResource, Tenant, TenantProductSettings } from './entity/tenant/tenantState';
129
129
  import { ToastNotificationPayload } from './entity/toastNotification/toastNotificationPayload';
@@ -643,7 +643,7 @@ export { TimeframeTick, TimeframeTickWithMetaData, toTimeframeTick, mapTimePerio
643
643
  export { VendorSpendTrendFilterTabType, toVendorSpendTrendFilterTabsTypeStrict, } from './entity/vendorExpense/vendorExpenseSelector';
644
644
  export { getNumberOfPeriods };
645
645
  export { SCHEDULE_DAYS_OF_MONTH, ScheduleDaysOfMonth, toScheduleDaysOfMonth, Day, Month, toMonth, toMonthStrict, Quarter, toQuarter, toQuarterStrict, AbsoluteDay, TimePeriod, };
646
- export { Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, DoSignInPayload, doSignOut, sendSessionHeartbeat, resetSignInState, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
646
+ export { Tenant, TenantView, LoggedInUser, TenantBaseView, CurrentTenant, TenantProductSettings, getTenantBaseById, getCurrentTenant, getIsAccountingClassesEnabled, getIsAccountingProjectsEnabled, getTenantsByCheckInDateSelector, getTenantsBaseByCheckInDateSelector, getTenantsCoreDetailsByCheckInDateSelector, toTenantCoreDetailsView, getTenantBaseViewForTenantView, getTenantBaseViewForTenantId, isZeniDomainTenant, isTenantUsingZeniCOA, TenantsBaseOrdered, TenantsOrdered, TenantCoreDetailsView, fetchActiveTenant, fetchAllTenants, updateCurrentTenant, clearAll, doMagicLinkSignIn, verifyDeviceWithTwoFA, resendVerifyDeviceOTP, sendEmailMagicLinkToUser, doSignIn, updateSignInState, DoSignInPayload, doSignOut, resetSignInState, RoleResource, Connection, fetchExcludedResourcesForTenant, fetchExternalConnectionsForTenant, saveExternalConnectionForTenant, fetchSubscriptionSummaryForTenant, isTenantBankingOnly, isTenantCardsOnly, isTenantBookkeepingEnabled, isOtherProductsEnabledForTenant, };
647
647
  export { Account, AccountType, AccountBase, StatementCloseDay, toAccountType, AccountReport, NestedAccountReport, AccountWithBalanceReport, AccountGroup, AccountGroupReportV2, AccountGroupType, toAccountGroupType, AccountGroupReport, getAccountGroupKey, AccountGroupKey, RecommendedAccountBase, };
648
648
  export { Class, ClassBase, RecommendedClassBase, } from './entity/class/classState';
649
649
  export { getClassById } from './entity/class/classSelector';
@@ -901,6 +901,3 @@ export { BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS, BULK_UPLOAD_BAR_COMPLETE_HOLD_MS,
901
901
  export { fetchTransactionActivityLog } from './view/transactionActivityLogView/transactionActivityLogViewReducer';
902
902
  export { TransactionActivityLogViewSelectorView, getTransactionActivityLogView, } from './view/transactionActivityLogView/transactionActivityLogViewSelector';
903
903
  export { UserGroup } from './entity/userGroups/userGroupsState';
904
- export { SessionManager } from './entity/tenant/SessionManager';
905
- export type { SessionCallbacks, SessionConfig } from './entity/tenant/sessionTypes';
906
- export { DEFAULT_SESSION_CONFIG } from './entity/tenant/sessionTypes';