@zeniai/client-epic-state 4.19.99-betaRD1 → 4.19.99-betaRD2

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.
@@ -1,7 +1,7 @@
1
1
  import { CurrentTenant, TenantView } from '../tenant/tenantSelector';
2
2
  import { LoggedInUser } from '../tenant/tenantState';
3
- export declare const toUserRoleTypeStrict: (v?: string) => "admin" | "bookkeeping_admin" | "bookkeeping_user" | "investor_or_banker" | "company_officer" | "reimbursements_user" | "bill_pay_admin" | "bill_pay_user" | "reimbursements_admin" | "deposit_accounts_admin" | "deposit_accounts_user" | "charge_card_admin" | "charge_card_user" | "treasury_admin" | "treasury_user" | "controller" | "tax_lead" | "ap_analyst" | "preparer" | "reviewer" | "customer_success_manager" | "zeni_support_user" | undefined;
4
- export declare const toUserRoleType: (v: string) => "admin" | "bookkeeping_admin" | "bookkeeping_user" | "investor_or_banker" | "company_officer" | "reimbursements_user" | "bill_pay_admin" | "bill_pay_user" | "reimbursements_admin" | "deposit_accounts_admin" | "deposit_accounts_user" | "charge_card_admin" | "charge_card_user" | "treasury_admin" | "treasury_user" | "controller" | "tax_lead" | "ap_analyst" | "preparer" | "reviewer" | "customer_success_manager" | "zeni_support_user";
3
+ export declare const toUserRoleTypeStrict: (v?: string) => "admin" | "controller" | "bookkeeping_admin" | "bookkeeping_user" | "investor_or_banker" | "company_officer" | "reimbursements_user" | "bill_pay_admin" | "bill_pay_user" | "reimbursements_admin" | "deposit_accounts_admin" | "deposit_accounts_user" | "charge_card_admin" | "charge_card_user" | "treasury_admin" | "treasury_user" | "tax_lead" | "ap_analyst" | "preparer" | "reviewer" | "customer_success_manager" | "zeni_support_user" | undefined;
4
+ export declare const toUserRoleType: (v: string) => "admin" | "controller" | "bookkeeping_admin" | "bookkeeping_user" | "investor_or_banker" | "company_officer" | "reimbursements_user" | "bill_pay_admin" | "bill_pay_user" | "reimbursements_admin" | "deposit_accounts_admin" | "deposit_accounts_user" | "charge_card_admin" | "charge_card_user" | "treasury_admin" | "treasury_user" | "tax_lead" | "ap_analyst" | "preparer" | "reviewer" | "customer_success_manager" | "zeni_support_user";
5
5
  export type UserRoleType = ReturnType<typeof toUserRoleType>;
6
6
  export type RoleMap = Record<string, boolean>;
7
7
  export declare const isFinOpsUserRoleType: (userRole: UserRoleType) => boolean;
@@ -6,10 +6,10 @@ export const initialAiAccountantViewState = {
6
6
  triggerJobStatus: { fetchState: 'Not-Started' },
7
7
  uiState: {
8
8
  filterText: '',
9
+ filters: {},
9
10
  selectedCustomerTenantId: '',
10
11
  sortKey: 'companyName',
11
12
  sortOrder: 'ascending',
12
- statusFilter: 'all',
13
13
  },
14
14
  };
15
15
  const aiAccountantView = createSlice({
@@ -12,11 +12,16 @@ export const getAiAccountantCockpitView = createSelector((state) => state.aiAcco
12
12
  filteredCustomers = filteredCustomers.filter((customer) => customer.companyName.toLowerCase().includes(query) ||
13
13
  customer.tenantId.toLowerCase().includes(query));
14
14
  }
15
- // Status filter
16
- if (uiState.statusFilter !== 'all') {
15
+ // Cockpit filters (e.g. enrollmentStatus)
16
+ const enrollmentStatusFilter = uiState.filters.categories?.find((category) => category.field === 'enrollmentStatus');
17
+ if (enrollmentStatusFilter != null &&
18
+ enrollmentStatusFilter.values.length > 0) {
19
+ const selectedStatuses = enrollmentStatusFilter.values.map(String);
20
+ const isEqual = enrollmentStatusFilter.matchingOperator === 'equal';
17
21
  filteredCustomers = filteredCustomers.filter((customer) => {
18
22
  const status = customer.enrollment?.status ?? 'unknown';
19
- return status === uiState.statusFilter;
23
+ const matches = selectedStatuses.includes(status);
24
+ return isEqual ? matches : !matches;
20
25
  });
21
26
  }
22
27
  // Sorting
package/lib/index.d.ts CHANGED
@@ -860,7 +860,7 @@ export { AiAccountantCustomerPayload, AiAccountantEnrollmentPayload, AiAccountan
860
860
  export { AiAccountantCancelOnboardingResponse, AiAccountantCancelOnboardingResponseData, AiAccountantCustomersResponse, AiAccountantCustomersResponseData, AiAccountantJobsResponse, AiAccountantJobsResponseData, AiAccountantTriggerJobResponse, AiAccountantTriggerJobResponseData, } from './view/aiAccountantView/aiAccountantViewPayload';
861
861
  export { clearAllAiAccountantCustomers, updateAiAccountantCustomers, updateAiAccountantCustomer, updateAiAccountantJobs, } from './entity/aiAccountantCustomer/aiAccountantCustomerReducer';
862
862
  export { AiAccountantCustomerView, AiAccountantEnrollmentView, AiAccountantJobView, getAiAccountantCustomers, getAiAccountantJobsByTenantId, } from './entity/aiAccountantCustomer/aiAccountantCustomerSelector';
863
- export { AiAccountantCustomerViewState, AiAccountantSortKey, AiAccountantStatusFilter, AiAccountantUIState, AiAccountantViewState, } from './view/aiAccountantView/aiAccountantViewState';
863
+ export { AiAccountantCustomerViewState, AiAccountantFilterCategoryField, AiAccountantSortKey, AiAccountantUIState, AiAccountantViewState, } from './view/aiAccountantView/aiAccountantViewState';
864
864
  export { cancelAiAccountantOnboarding, clearAiAccountantView, fetchAiAccountantCustomers, fetchAiAccountantJobs, setSelectedTenantIdsForJobTrigger, triggerAiAccountantJob, updateAiAccountantUIState, } from './view/aiAccountantView/aiAccountantViewReducer';
865
865
  export { AiAccountantCockpitView, getAiAccountantCockpitView, } from './view/aiAccountantView/aiAccountantViewSelector';
866
866
  export { fetchChatSessionsForUser, createSession, submitQuestion, updateAiCfoViewScrollPosition, updateCurrentInput, updateCotCollapsedState, clearInput, setSession, clearAiCfoView, clearCurrentSessionId, clearDeleteChatSessionStatus, clearLastContextMessage, createSessionAndSubmit, stopSubmit, stopSubmitQuestion, fetchChatHistory, acceptMasterTOS, deleteChatSession, updateResponseState, fetchSuggestedQuestions, fetchSuggestedQuestionsSuccess, fetchSuggestedQuestionsFailure, applyAiCfoSidePanelHostPageTransition, clearAiCfoSidePanelHostPageContext, } from './view/aiCfoView/aiCfoViewReducer';