@zeniai/client-epic-state 5.1.29 → 5.1.30-beta0AY

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 (64) hide show
  1. package/README.md +3 -1
  2. package/lib/entity/customer/customerPayload.js +11 -2
  3. package/lib/entity/jeSchedules/jeSchedulesPayload.js +2 -3
  4. package/lib/entity/transaction/payloadTypes/vendorTransactionPayload.js +1 -1
  5. package/lib/entity/vendor/vendorPayload.d.ts +2 -4
  6. package/lib/entity/vendor/vendorPayload.js +3 -12
  7. package/lib/entity/vendor/vendorReducer.js +0 -3
  8. package/lib/epic.d.ts +2 -1
  9. package/lib/epic.js +2 -1
  10. package/lib/esm/entity/customer/customerPayload.js +11 -2
  11. package/lib/esm/entity/jeSchedules/jeSchedulesPayload.js +2 -3
  12. package/lib/esm/entity/transaction/payloadTypes/vendorTransactionPayload.js +2 -2
  13. package/lib/esm/entity/vendor/vendorPayload.js +2 -10
  14. package/lib/esm/entity/vendor/vendorReducer.js +1 -4
  15. package/lib/esm/epic.js +2 -1
  16. package/lib/esm/index.js +4 -4
  17. package/lib/esm/view/aiCfoView/aiCfoViewReducer.js +29 -3
  18. package/lib/esm/view/aiCfoView/aiCfoViewSelector.js +11 -0
  19. package/lib/esm/view/aiCfoView/epics/createSessionAndSubmitEpic.js +2 -2
  20. package/lib/esm/view/aiCfoView/epics/fetchSkillsEpic.js +34 -0
  21. package/lib/esm/view/aiCfoView/epics/submitQuestionEpic.js +7 -1
  22. package/lib/esm/view/commonVendorView/transactionVendorView/epics/saveTransactionVendorEpic.js +6 -9
  23. package/lib/esm/view/commonVendorView/transactionVendorView/transactionVendorViewReducer.js +0 -2
  24. package/lib/esm/view/createTransferEntry/epics/createTransferEntryEpic.js +1 -1
  25. package/lib/esm/view/onboardingView/cockpitView/epic/initializeOnboardingCustomerViewUpdateDataEpic.js +4 -16
  26. package/lib/esm/view/onboardingView/cockpitView/onboardingCockpitViewPayload.js +2 -2
  27. package/lib/esm/view/referralView/epics/sendReferralInviteEpic.js +9 -1
  28. package/lib/esm/view/referralView/referralReducer.js +3 -2
  29. package/lib/esm/view/spendManagement/billPay/billDetailView/epics/fetchBillDetailEpic.js +3 -3
  30. package/lib/esm/view/transactionDetail/epics/transactionDetailEpic.js +9 -10
  31. package/lib/esm/view/transactionDetail/epics/updateTransactionDetailEpic.js +1 -1
  32. package/lib/esm/view/vendorFiling1099/vendorFiling1099List/vendorFiling1099ListReducer.js +1 -3
  33. package/lib/esm/view/vendorList/vendorListReducer.js +1 -3
  34. package/lib/esm/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewReducer.js +2 -2
  35. package/lib/index.d.ts +6 -6
  36. package/lib/index.js +11 -6
  37. package/lib/view/aiCfoView/aiCfoViewPayload.d.ts +14 -0
  38. package/lib/view/aiCfoView/aiCfoViewReducer.d.ts +8 -4
  39. package/lib/view/aiCfoView/aiCfoViewReducer.js +30 -4
  40. package/lib/view/aiCfoView/aiCfoViewSelector.d.ts +2 -1
  41. package/lib/view/aiCfoView/aiCfoViewSelector.js +12 -0
  42. package/lib/view/aiCfoView/aiCfoViewState.d.ts +15 -0
  43. package/lib/view/aiCfoView/epics/createSessionAndSubmitEpic.js +2 -2
  44. package/lib/view/aiCfoView/epics/fetchSkillsEpic.d.ts +8 -0
  45. package/lib/view/aiCfoView/epics/fetchSkillsEpic.js +38 -0
  46. package/lib/view/aiCfoView/epics/submitQuestionEpic.js +7 -1
  47. package/lib/view/commonVendorView/transactionVendorView/epics/saveTransactionVendorEpic.js +6 -9
  48. package/lib/view/commonVendorView/transactionVendorView/transactionVendorViewReducer.js +0 -2
  49. package/lib/view/createTransferEntry/epics/createTransferEntryEpic.js +1 -1
  50. package/lib/view/onboardingView/cockpitView/epic/initializeOnboardingCustomerViewUpdateDataEpic.js +3 -15
  51. package/lib/view/onboardingView/cockpitView/onboardingCockpitViewPayload.js +2 -2
  52. package/lib/view/referralView/epics/sendReferralInviteEpic.js +9 -1
  53. package/lib/view/referralView/referralReducer.d.ts +1 -0
  54. package/lib/view/referralView/referralReducer.js +4 -3
  55. package/lib/view/spendManagement/billPay/billDetailView/epics/fetchBillDetailEpic.js +3 -3
  56. package/lib/view/transactionDetail/epics/transactionDetailEpic.js +8 -9
  57. package/lib/view/transactionDetail/epics/updateTransactionDetailEpic.js +1 -1
  58. package/lib/view/vendorFiling1099/vendorFiling1099List/vendorFiling1099ListReducer.js +1 -3
  59. package/lib/view/vendorList/vendorListReducer.js +1 -3
  60. package/lib/view/vendorReviewView/vendorFirstReviewView/vendorFirstReviewViewReducer.js +2 -2
  61. package/package.json +71 -36
  62. package/lib/commonPayloadTypes/payloadIdentifier.d.ts +0 -6
  63. package/lib/commonPayloadTypes/payloadIdentifier.js +0 -18
  64. package/lib/esm/commonPayloadTypes/payloadIdentifier.js +0 -14
package/lib/index.d.ts CHANGED
@@ -379,7 +379,7 @@ import { ProfitAndLossProjectViewUIState } from './view/profitAndLossProjectView
379
379
  import { fetchProjectList } from './view/projectList/projectListReducer';
380
380
  import { ProjectListSelectorView, getProjectList } from './view/projectList/projectListSelector';
381
381
  import { fetchEntityRecommendationsByTransactionId, fetchEntityRecommendationsForLineUpdate, fetchRecommendationByEntityId, fetchRecommendationByEntityName } from './view/recommendation/recommendationReducer';
382
- import { clearReferrals, fetchReferrals, fetchRewardsPlan, resendReferralInvite, saveReferralFormDataInLocalStore, sendReferralInvite, updateReferViewed, updateReferralListSortUiState } from './view/referralView/referralReducer';
382
+ import { DEFAULT_REFERRER_AMOUNT, clearReferrals, fetchReferrals, fetchRewardsPlan, resendReferralInvite, saveReferralFormDataInLocalStore, sendReferralInvite, updateReferViewed, updateReferralListSortUiState } from './view/referralView/referralReducer';
383
383
  import { ReferralListSelectorView, RewardsPlanCardReport, getInviteFormView, getReferralListView, getRewardsPlanCard } from './view/referralView/referralSelector';
384
384
  import { AmountStatusTypes, InviteCompanyLocalData, ReferralAmountStatus, ReferralInvitation, ReferralListViewSortKey, ReferralStatus, ReferralViewState, ReferralViewUIState, RewardsPlanData, StatusTypes, toReferralListViewSortKeyType } from './view/referralView/referralState';
385
385
  import { fetchReimbursementCard } from './view/reimbursementCard/reimbursementCardReducer';
@@ -903,7 +903,7 @@ export { ExternalNotificationData, NotificationGroup, NotificationActivityType,
903
903
  export { NotificationView, NotificationViewUIState, NotificationTabState, NotificationTabType, NotificationSubTabType, toNotificationSubTabTypeStrict, toNotificationTabTypeStrict, fetchNotificationView, fetchNotificationUnreadCount, fetchNotificationUnreadCountSuccess, updateNotificationViewAllNotificationsStatus, updateNotificationViewNotificationStatus, updateNotificationViewTabState, updateNotificationViewCurrentTabAndSubTab, updateNotificationViewSubTab, updateNotificationViewUIState, getNotificationView, getExternalNotificationsForSelectedSubTab, getNotificationsForSelectedSubTab, };
904
904
  export { clearFeatureNotificationView, fetchRegisteredInterests, notifyMeForFeature, getFeatureNotificationView, getRegisteredInterests, getRegisteredInterestsByFeature, isFeatureInterestRegistered, FeatureInterest, FeatureNotificationViewState, };
905
905
  export { pushToastNotification, ToastNotification, ToastNotificationPayload, getLastNotificationTime, getNotifications, };
906
- export { getReferralListView, getInviteFormView, ReferralListSelectorView, ReferralViewState, InviteCompanyLocalData, ReferralInvitation, ReferralListViewSortKey, ReferralViewUIState, toReferralListViewSortKeyType, ReferralStatus, ReferralAmountStatus, StatusTypes, AmountStatusTypes, fetchReferrals, sendReferralInvite, clearReferrals, saveReferralFormDataInLocalStore, updateReferralListSortUiState, resendReferralInvite, fetchRewardsPlan, RewardsPlanCardReport, getRewardsPlanCard, updateReferViewed, RewardsPlanData, };
906
+ export { getReferralListView, getInviteFormView, ReferralListSelectorView, ReferralViewState, InviteCompanyLocalData, ReferralInvitation, ReferralListViewSortKey, ReferralViewUIState, toReferralListViewSortKeyType, ReferralStatus, ReferralAmountStatus, StatusTypes, AmountStatusTypes, DEFAULT_REFERRER_AMOUNT, fetchReferrals, sendReferralInvite, clearReferrals, saveReferralFormDataInLocalStore, updateReferralListSortUiState, resendReferralInvite, fetchRewardsPlan, RewardsPlanCardReport, getRewardsPlanCard, updateReferViewed, RewardsPlanData, };
907
907
  export { ALL_WEEK_DAYS, DayOfWeek, RecurringDatePickerOptions, RecurringFrequencyType, SEMI_WEEKLY_REQUIRED_DAYS_COUNT, getMinAllowedEndDate, getRecurringEndDateFromCount, toDayOfWeek, toRecurringFrequency, };
908
908
  export { fetchCockpitContext, fetchCompanyTaskManagerView, fetchTaskManagerMetrics, CompanyTaskManagerSelectorView, CompanyTaskManagerViewUIState, TaskManagerMetrics, getCompanyTaskManagerView, TaskWithCompanyDetail, createTaskFromTaskGroupTemplate, TaskGroupTemplate, };
909
909
  export { Country };
@@ -919,11 +919,11 @@ export { AiAccountantCustomerViewState, AiAccountantSortKey, AiAccountantUIState
919
919
  export { AiAccountantFilterCategoryField } from './view/companyView/types/cockpitTypes';
920
920
  export { cancelAiAccountantOnboarding, clearAiAccountantView, fetchAiAccountantCustomers, fetchAiAccountantJobs, setSelectedTenantIdsForJobTrigger, triggerAiAccountantJob, updateAiAccountantUIState, } from './view/aiAccountantView/aiAccountantViewReducer';
921
921
  export { AiAccountantCockpitView, getAiAccountantCockpitView, } from './view/aiAccountantView/aiAccountantViewSelector';
922
- 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';
923
- export { AiCfoViewState, AiCfoViewUIState, SuggestedQuestionsForPageContext, } from './view/aiCfoView/aiCfoViewState';
924
- export { FetchSuggestedQuestionsResponse, SuggestedQuestionsDataPayload, } from './view/aiCfoView/aiCfoViewPayload';
922
+ export { fetchChatSessionsForUser, createSession, submitQuestion, updateAiCfoViewScrollPosition, updateCurrentInput, updateCotCollapsedState, clearInput, setSession, clearAiCfoView, clearCurrentSessionId, clearDeleteChatSessionStatus, clearLastContextMessage, createSessionAndSubmit, stopSubmit, stopSubmitQuestion, fetchChatHistory, acceptMasterTOS, deleteChatSession, updateResponseState, fetchSuggestedQuestions, fetchSuggestedQuestionsSuccess, fetchSuggestedQuestionsFailure, fetchSkills, fetchSkillsSuccess, fetchSkillsFailure, applyAiCfoSidePanelHostPageTransition, clearAiCfoSidePanelHostPageContext, } from './view/aiCfoView/aiCfoViewReducer';
923
+ export { AiCfoViewState, AiCfoViewUIState, Skill, SkillsState, SuggestedQuestionsForPageContext, } from './view/aiCfoView/aiCfoViewState';
924
+ export { FetchSuggestedQuestionsResponse, SuggestedQuestionsDataPayload, FetchSkillsResponse, SkillSummaryPayload, SkillListDataPayload, } from './view/aiCfoView/aiCfoViewPayload';
925
925
  export type { AiCfoSuggestedQuestionsPageContext } from './common/aiCfo/aiCfoSuggestedQuestionsPageContext';
926
- export { AiCfoViewSelector, getAiCfoView, getSuggestedQuestionsForPageContext, } from './view/aiCfoView/aiCfoViewSelector';
926
+ export { AiCfoViewSelector, getAiCfoView, getSuggestedQuestionsForPageContext, getSkills, } from './view/aiCfoView/aiCfoViewSelector';
927
927
  export { MessagePayload, ChatSessionPayload, AiCfoAnswerPayload, } from './entity/aiCfo/aiCfoPayload';
928
928
  export { setNewSession, setSessions, updateAiCfoAnswerCardPolicyWizardPlan, upsertAnswerPayload, upsertOrAddQuestionAnswerPayload, addQuestionPayload, clearSession, clearAiCfo, toAiCfoVisualization, appendSyntheticAiCfoAnswer, updateSyntheticAiCfoAnswer, removeSyntheticAiCfoAnswer, clearSyntheticAiCfoAnswers, } from './entity/aiCfo/aiCfoReducer';
929
929
  export { AiCfoSelectorView, getAllQuestionAnswersForChatSession, getQuestionAnswerByIdForChatSession, getAllQuestionsForChatSession, getAiCfoSelectorView, getSyntheticAiCfoAnswersForChatSession, getSyntheticAiCfoAnswerByQuestionAnswerId, ChatSessionWithOrderedQuestionAnswers, } from './entity/aiCfo/aiCfoSelector';
package/lib/index.js CHANGED
@@ -70,12 +70,12 @@ exports.updatedJELinkWithRecommendedLocalData = exports.resetJELinkInLocalData =
70
70
  exports.getAllTasks = exports.getTaskGroupById = exports.toRecurringBillFrequencyStrict = exports.toRecurringBillFrequency = exports.updateArAgingNodeCollapseState = exports.getArAgingDetailForCustomer = exports.getArAgingReport = exports.updateArAgingDetailUIState = exports.fetchArAgingDetail = exports.updateArAgingUIState = exports.fetchArAging = exports.updateVendorGlobalReviewViewLocalData = exports.toVendorGlobalReviewColumnSortKeyType = exports.getTenantMerchantByMerchantId = exports.getVendorGlobalReviewView = exports.updateVendorGlobalReviewViewUIState = exports.updateSelectedGlobalMerchant = exports.fetchVendorGlobalReviewView = exports.rejectVendorGlobalReview = exports.approveVendorGlobalReview = exports.getGlobalMerchantView = exports.clearGlobalMerchantView = exports.updateCreateGlobalMerchantLocalData = exports.createGlobalMerchant = exports.fetchGlobalMerchantRecommendation = exports.getVendorDetailSelectorView = exports.saveVendorDetailsView = exports.updateReviewVendorDetailLocalData = exports.clearGlobalMerchantAutoCompleteResults = exports.fetchGlobalMerchantAutoCompleteView = exports.updateVendorFirstReviewSortUiState = exports.updateVendorFirstReviewViewLocalData = exports.saveVendorFirstReviewView = exports.clearRecentlySavedErroredVendorData = exports.updateVendorFirstReviewViewPageToken = exports.resetVendorFirstReviewLocalData = exports.updateVendorFirstReviewViewScrollYOffset = exports.fetchVendorFirstReviewAttachments = exports.fetchVendorFirstReviewView = exports.getVendorFirstReviewAttachmentView = exports.getVendorFirstReviewView = exports.getGlobalMerchantAutoCompleteResults = exports.toVendorFirstReviewViewColumnKeyType = exports.getVendorTabView = exports.updateVendorTabViewTab = exports.fetchVendorTabView = exports.resetMarkAsCompleteStatus = exports.markAsCompleteScheduleDetail = exports.getDefaultSelectedTimeframeForScheduleType = exports.getFetchStateForScheduleListByType = void 0;
71
71
  exports.confirmCardSetupIntent = exports.createCardSetupIntent = exports.getAllCardsAndBankPaymentMethods = exports.deleteTag = exports.createTag = exports.fetchTagList = exports.getAllTags = exports.ALL_TASK_LIST_TABS = exports.initialTaskDetailLocalData = exports.convertHHMMStrToMinutes = exports.unsnoozeTask = exports.snoozeTask = exports.removeTaskFromList = exports.updateTaskListTab = exports.updateTaskFromListView = exports.toDueDateGroupKeyType = exports.toTaskStatusCodeType = exports.toPriorityCodeType = exports.getDueDateValueFromDueDateGroupId = exports.initialTaskDetail = exports.fetchAllTaskGroups = exports.getTaskUpdates = exports.toTaskListGroupByKeyTypeStrict = exports.toTaskListGroupByKeyType = exports.updateTaskGroupName = exports.dragNDropTasks = exports.updateTaskListLocalData = exports.deleteTaskGroup = exports.initiateTaskListLocalData = exports.createNewTaskGroup = exports.bulkUpdateTaskList = exports.discardTaskUpdatesInLocalStore = exports.deleteTask = exports.TASK_LIST_GROUP_BY_CATEGORIES = exports.TASK_LIST_FILTER_CATEGORIES = exports.updateTaskFilters = exports.allTaskPriority = exports.allTaskStatus = exports.updateTaskListUIState = exports.updateTaskListSearchText = exports.getCannedResponsesView = exports.deleteCannedResponse = exports.saveCannedResponse = exports.fetchCannedResponses = exports.archiveTask = exports.saveTaskDetail = exports.saveTaskUpdatesToLocalStore = exports.fetchTaskDetailPage = exports.getTaskDetail = exports.fetchTaskListPage = void 0;
72
72
  exports.getNotifications = exports.getLastNotificationTime = exports.pushToastNotification = exports.isFeatureInterestRegistered = exports.getRegisteredInterestsByFeature = exports.getRegisteredInterests = exports.getFeatureNotificationView = exports.notifyMeForFeature = exports.fetchRegisteredInterests = exports.clearFeatureNotificationView = exports.getNotificationsForSelectedSubTab = exports.getExternalNotificationsForSelectedSubTab = exports.getNotificationView = exports.updateNotificationViewUIState = exports.updateNotificationViewSubTab = exports.updateNotificationViewCurrentTabAndSubTab = exports.updateNotificationViewTabState = exports.updateNotificationViewNotificationStatus = exports.updateNotificationViewAllNotificationsStatus = exports.fetchNotificationUnreadCountSuccess = exports.fetchNotificationUnreadCount = exports.fetchNotificationView = exports.toNotificationTabTypeStrict = exports.toNotificationSubTabTypeStrict = exports.updateCommentsNotificationsStatuses = exports.updateCommentsNotifications = exports.toNotificationModeStrict = exports.parseOAuthParams = exports.getZeniOAuthApproveRedirectUrl = exports.getZeniOAuthApproveFetchState = exports.getZeniOAuthApproveError = exports.clearZeniOAuthView = exports.approveOAuthConsentSuccess = exports.approveOAuthConsentFailure = exports.approveOAuthConsent = exports.fetchZeniAccountsPromoCard = exports.getZeniAccountsPromoCard = exports.getAuthenticationView = exports.fetchCollaborationAuthToken = exports.clearAuditReportGroupViewByCompanyId = exports.saveReasonForAuditRule = exports.fetchAuditReportGroupView = exports.fetchAuditRuleGroupView = exports.getUserFromAllUsers = exports.getAuditRuleGroupViewSelectorView = exports.getAuditReportGroupViewSelectorView = exports.clearCardPaymentView = exports.resetCardPaymentErrorStatuses = exports.fetchPaymentSources = exports.addCardPaymentSource = void 0;
73
- exports.toAiAccountantOperationType = exports.toAiAccountantJobStatus = exports.toAiAccountantEnrollmentStatus = exports.getAllowedOperationsForStatus = exports.getTreasuryFundsMaximumYield = exports.getTreasurySetupViewDetails = exports.updateTreasuryVideoViewed = exports.updateTreasuryPromoRemindMeLaterClicked = exports.updateTreasuryPromoIntroClosedByOutsideClick = exports.updateFundAllocationLocalData = exports.fetchPortfolioAllocation = exports.updatePortfolioAllocation = exports.fetchTreasuryFunds = exports.clearTreasurySetupView = exports.fetchTreasurySetupView = exports.acceptTreasuryTerms = exports.getExpressPayView = exports.resetExpressPayLocalData = exports.submitExpressPay = exports.updateExpressPayFormLocalData = exports.fetchExpressPayInitialDetails = exports.getIntlWireVerificationView = exports.updateVerificationFormLocalData = exports.submitInternationalVerificationForm = exports.fetchInternationalVerificationForm = exports.createTaskFromTaskGroupTemplate = exports.getCompanyTaskManagerView = exports.fetchTaskManagerMetrics = exports.fetchCompanyTaskManagerView = exports.fetchCockpitContext = exports.toRecurringFrequency = exports.toDayOfWeek = exports.getRecurringEndDateFromCount = exports.getMinAllowedEndDate = exports.SEMI_WEEKLY_REQUIRED_DAYS_COUNT = exports.ALL_WEEK_DAYS = exports.updateReferViewed = exports.getRewardsPlanCard = exports.fetchRewardsPlan = exports.resendReferralInvite = exports.updateReferralListSortUiState = exports.saveReferralFormDataInLocalStore = exports.clearReferrals = exports.sendReferralInvite = exports.fetchReferrals = exports.AmountStatusTypes = exports.StatusTypes = exports.toReferralListViewSortKeyType = exports.getInviteFormView = exports.getReferralListView = void 0;
74
- exports.clearSession = exports.addQuestionPayload = exports.upsertOrAddQuestionAnswerPayload = exports.upsertAnswerPayload = exports.updateAiCfoAnswerCardPolicyWizardPlan = exports.setSessions = exports.setNewSession = exports.getSuggestedQuestionsForPageContext = exports.getAiCfoView = exports.clearAiCfoSidePanelHostPageContext = exports.applyAiCfoSidePanelHostPageTransition = exports.fetchSuggestedQuestionsFailure = exports.fetchSuggestedQuestionsSuccess = exports.fetchSuggestedQuestions = exports.updateResponseState = exports.deleteChatSession = exports.acceptMasterTOS = exports.fetchChatHistory = exports.stopSubmitQuestion = exports.stopSubmit = exports.createSessionAndSubmit = exports.clearLastContextMessage = exports.clearDeleteChatSessionStatus = exports.clearCurrentSessionId = exports.clearAiCfoView = exports.setSession = exports.clearInput = exports.updateCotCollapsedState = exports.updateCurrentInput = exports.updateAiCfoViewScrollPosition = exports.submitQuestion = exports.createSession = exports.fetchChatSessionsForUser = exports.getAiAccountantCockpitView = exports.updateAiAccountantUIState = exports.triggerAiAccountantJob = exports.setSelectedTenantIdsForJobTrigger = exports.fetchAiAccountantJobs = exports.fetchAiAccountantCustomers = exports.clearAiAccountantView = exports.cancelAiAccountantOnboarding = exports.getAiAccountantJobsByTenantId = exports.getAiAccountantCustomers = exports.updateAiAccountantJobs = exports.updateAiAccountantCustomer = exports.updateAiAccountantCustomers = exports.clearAllAiAccountantCustomers = exports.toAiAccountantJob = exports.toAiAccountantEnrollment = exports.toAiAccountantCustomer = void 0;
75
- exports.getCardPolicyMccCategories = exports.getAllCardPolicyTemplates = exports.clearCardPolicy = exports.updatePolicyRecommendationFromUploadSuccess = exports.updatePolicyRecommendationFromUploadFailure = exports.updatePolicyDocumentExtractionSuccess = exports.updatePolicyDocumentExtractionFailure = exports.updateCreatedCardPolicyTemplate = exports.updateCardPolicyVendorOptionsFailure = exports.updateCardPolicyVendorOptions = exports.updateCardPolicyTemplates = exports.updateCardPolicyStats = exports.updateCardPolicyMccCategoriesFailure = exports.updateCardPolicyMccCategories = exports.removeCardPolicyTemplate = exports.fetchCardPolicyVendorOptions = exports.fetchCardPolicyRecommendationFromUpload = exports.fetchCardPolicyMccCategories = exports.extractPolicyDocument = exports.clearPolicyDocumentExtraction = exports.toMessageType = exports.toMessageSender = exports.ALL_SYNTHETIC_AI_CFO_ANSWER_KINDS = exports.toInteractiveFormTypeStrict = exports.toInteractiveFormType = exports.toAiCfoAnswerResponseTypeStrict = exports.toAiCfoAnswerResponseType = exports.toAiCfoAnswerStateTypeStrict = exports.toAiCfoAnswerStateType = exports.toAiCfoChartTypeStrict = exports.toAiCfoChartType = exports.toAiCfoVisualizationTypeStrict = exports.toAiCfoVisualizationType = exports.ALL_INTERACTIVE_FORM_TYPES = exports.ALL_AI_CFO_ANSWER_RESPONSE_TYPES = exports.ALL_AI_CFO_ANSWER_STATE_TYPES = exports.ALL_AI_CFO_VISUALIZATION_TYPES = exports.ALL_AI_CFO_CHARTS_TYPES = exports.getSyntheticAiCfoAnswerByQuestionAnswerId = exports.getSyntheticAiCfoAnswersForChatSession = exports.getAiCfoSelectorView = exports.getAllQuestionsForChatSession = exports.getQuestionAnswerByIdForChatSession = exports.getAllQuestionAnswersForChatSession = exports.clearSyntheticAiCfoAnswers = exports.removeSyntheticAiCfoAnswer = exports.updateSyntheticAiCfoAnswer = exports.appendSyntheticAiCfoAnswer = exports.toAiCfoVisualization = exports.clearAiCfo = void 0;
76
- exports.getLastCreateCardPolicyTemplateErrors = exports.getLastCreateCardPolicySourceChatSessionId = exports.getCreateCardPolicyTemplateRequestState = exports.getAiCardPolicyFormDraft = exports.updateManualCardPolicyFormDraft = exports.updateCreateCardPolicyTemplateRequestState = exports.updateAiCardPolicyFormDraftFromUploadPlan = exports.updateAiCardPolicyFormDraft = exports.seedManualCardPolicyFormDraft = exports.seedAiCardPolicyFormDraft = exports.createCardPolicyTemplates = exports.clearManualCardPolicyFormDraft = exports.clearCreateCardPolicy = exports.clearAiCardPolicyFormDraft = exports.applyExtractedPolicyToManualCardPolicyDraft = exports.applyExtractedPolicyToAiCardPolicyDraft = exports.toUpdateCardPolicyTemplateRequestBody = exports.toExtractedCardPolicyRules = exports.toCreateCardPolicyTemplatesRequestBody = exports.toCreateCardPolicyTemplateRequestBody = exports.toCardPolicyVendorSearchOption = exports.toCardPolicyTemplateList = exports.toCardPolicyTemplate = exports.toCardPolicyStats = exports.toCardPolicyEditFormDraft = exports.toBulkCreateCardPolicyTemplateError = exports.toCardPolicyTemplateStatus = exports.toCardPolicyTemplateMode = exports.ALL_CARD_POLICY_TEMPLATE_STATUSES = exports.ALL_CARD_POLICY_TEMPLATE_MODES = exports.getUploadedPolicyDocumentFileName = exports.getPolicyRecommendationFromUploadFetchState = exports.getPolicyRecommendationFromUploadError = exports.getPolicyRecommendationFromUploadChatSessionId = exports.getPolicyRecommendationFromUploadAnswerId = exports.getPolicyDocumentExtractionFetchState = exports.getPolicyDocumentExtractionError = exports.getExtractedCardPolicyRules = exports.getCardPolicyVendorSearchString = exports.getCardPolicyVendorSearchOptions = exports.getCardPolicyVendorSearchFetchState = exports.getCardPolicyTemplatesByIds = exports.getCardPolicyTemplateById = exports.getCardPolicySuggestedBlockMerchants = exports.getCardPolicySuggestedBlockCategories = exports.getCardPolicySuggestedAllowMerchants = exports.getCardPolicySuggestedAllowCategories = exports.getCardPolicyStats = exports.getCardPolicyMccCategoriesFetchState = exports.getCardPolicyMccCategoriesError = void 0;
77
- exports.fetchTreasuryStatementList = exports.getTreasuryTransferMoney = exports.clearTreasuryTransferMoney = exports.updateTreasuryTransferMoneyLocalData = exports.executeTreasuryTransferMoney = exports.getTreasuryDetail = exports.updateTreasuryTransactionListUIState = exports.fetchTreasuryTransactionList = exports.fetchTreasuryOverviewDetail = exports.getUpdateCardPolicyFetchState = exports.getCardPolicyFormDraft = exports.getCardPolicyDetailView = exports.getCardPolicyDetailFetchState = exports.updateCardPolicyFormDraft = exports.updateCardPolicyFetchStatus = exports.updateCardPolicyDetailFetchStatus = exports.updateCardPolicy = exports.fetchCardPolicyDetail = exports.clearCardPolicyDetail = exports.getCardPolicyTemplateIds = exports.getCardPolicyListView = exports.getCardPolicyListFetchState = exports.getArchiveCardPolicyFetchState = exports.updateCardPolicyListFetchStatus = exports.updateArchiveCardPolicyFetchStatus = exports.prependCardPolicyTemplateIds = exports.fetchCardPolicyList = exports.clearCardPolicyList = exports.archiveCardPolicy = exports.toManualCardPolicyTemplateRequestFromDraft = exports.toBulkCardPolicyTemplateRequestsFromDraft = exports.toCardPolicyTemplateRequestFromDraft = exports.applyAiCardPolicyFormDraftUpdate = exports.deriveAiPolicyReviewRowsFromInputs = exports.buildManualCardPolicyFormDraftSeed = exports.buildUploadReviewRows = exports.buildEmptyLimitRows = exports.buildAiCardPolicyFormDraftSeed = exports.toVendorChipFieldValue = exports.toMccCategoryChipFieldValue = exports.buildVendorChipId = exports.buildMccCategoryChipId = exports.VENDOR_CHIP_ID_PREFIX = exports.MCC_CHIP_ID_PREFIX = exports.toMccCategoryLike = exports.CARD_POLICY_LIMIT_ROW_ID_TRANSACTION = exports.CARD_POLICY_LIMIT_ROW_ID_REQUIRE_RECEIPT = exports.getManualCardPolicyFormDraft = exports.getLastCreatedCardPolicyTemplateIds = exports.getLastCreatedCardPolicyTemplateId = void 0;
78
- exports.getCashManagementOverviewBanner = exports.getCashManagementOverview = exports.bufferAmountToRisk = exports.RISK_BUFFER_AMOUNT = exports.getAutoSweepFlow = exports.updateCashManagementSettingsFetchStatus = exports.updateCashManagementSettings = exports.updateAutoSweepSettingsFetchStatus = exports.updateAutoSweepRisk = exports.updateAutoSweepDraft = exports.saveAutoSweepSettings = exports.clearAutoSweepFlow = exports.fetchCashManagementOverviewPage = exports.fetchCashManagementBanner = exports.toKycProvidedDocumentTypeFromAllowed = exports.toKycProvidedDocumentType = exports.DEFAULT_SESSION_CONFIG = exports.SessionManager = exports.getTransactionActivityLogView = exports.fetchTransactionActivityLog = exports.BULK_UPLOAD_BAR_COMPLETE_HOLD_MS = exports.BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS = exports.getAutoTransferRuleHistory = exports.getAutoTransferRuleById = exports.getAutoTransferRules = exports.clearRuleUpdateLocalData = exports.updateRuleLocalData = exports.fetchAutoTransferReviewDetail = exports.fetchAutoTransferRuleHistory = exports.deleteAutoTransferRule = exports.updateAutoTransferRule = exports.createAutoTransferRule = exports.fetchAutoTransferRules = exports.getTreasuryTaxLetters = exports.fetchTreasuryTaxLetterList = exports.getTreasuryStatements = void 0;
73
+ exports.toAiAccountantJobStatus = exports.toAiAccountantEnrollmentStatus = exports.getAllowedOperationsForStatus = exports.getTreasuryFundsMaximumYield = exports.getTreasurySetupViewDetails = exports.updateTreasuryVideoViewed = exports.updateTreasuryPromoRemindMeLaterClicked = exports.updateTreasuryPromoIntroClosedByOutsideClick = exports.updateFundAllocationLocalData = exports.fetchPortfolioAllocation = exports.updatePortfolioAllocation = exports.fetchTreasuryFunds = exports.clearTreasurySetupView = exports.fetchTreasurySetupView = exports.acceptTreasuryTerms = exports.getExpressPayView = exports.resetExpressPayLocalData = exports.submitExpressPay = exports.updateExpressPayFormLocalData = exports.fetchExpressPayInitialDetails = exports.getIntlWireVerificationView = exports.updateVerificationFormLocalData = exports.submitInternationalVerificationForm = exports.fetchInternationalVerificationForm = exports.createTaskFromTaskGroupTemplate = exports.getCompanyTaskManagerView = exports.fetchTaskManagerMetrics = exports.fetchCompanyTaskManagerView = exports.fetchCockpitContext = exports.toRecurringFrequency = exports.toDayOfWeek = exports.getRecurringEndDateFromCount = exports.getMinAllowedEndDate = exports.SEMI_WEEKLY_REQUIRED_DAYS_COUNT = exports.ALL_WEEK_DAYS = exports.updateReferViewed = exports.getRewardsPlanCard = exports.fetchRewardsPlan = exports.resendReferralInvite = exports.updateReferralListSortUiState = exports.saveReferralFormDataInLocalStore = exports.clearReferrals = exports.sendReferralInvite = exports.fetchReferrals = exports.DEFAULT_REFERRER_AMOUNT = exports.AmountStatusTypes = exports.StatusTypes = exports.toReferralListViewSortKeyType = exports.getInviteFormView = exports.getReferralListView = void 0;
74
+ exports.setSessions = exports.setNewSession = exports.getSkills = exports.getSuggestedQuestionsForPageContext = exports.getAiCfoView = exports.clearAiCfoSidePanelHostPageContext = exports.applyAiCfoSidePanelHostPageTransition = exports.fetchSkillsFailure = exports.fetchSkillsSuccess = exports.fetchSkills = exports.fetchSuggestedQuestionsFailure = exports.fetchSuggestedQuestionsSuccess = exports.fetchSuggestedQuestions = exports.updateResponseState = exports.deleteChatSession = exports.acceptMasterTOS = exports.fetchChatHistory = exports.stopSubmitQuestion = exports.stopSubmit = exports.createSessionAndSubmit = exports.clearLastContextMessage = exports.clearDeleteChatSessionStatus = exports.clearCurrentSessionId = exports.clearAiCfoView = exports.setSession = exports.clearInput = exports.updateCotCollapsedState = exports.updateCurrentInput = exports.updateAiCfoViewScrollPosition = exports.submitQuestion = exports.createSession = exports.fetchChatSessionsForUser = exports.getAiAccountantCockpitView = exports.updateAiAccountantUIState = exports.triggerAiAccountantJob = exports.setSelectedTenantIdsForJobTrigger = exports.fetchAiAccountantJobs = exports.fetchAiAccountantCustomers = exports.clearAiAccountantView = exports.cancelAiAccountantOnboarding = exports.getAiAccountantJobsByTenantId = exports.getAiAccountantCustomers = exports.updateAiAccountantJobs = exports.updateAiAccountantCustomer = exports.updateAiAccountantCustomers = exports.clearAllAiAccountantCustomers = exports.toAiAccountantJob = exports.toAiAccountantEnrollment = exports.toAiAccountantCustomer = exports.toAiAccountantOperationType = void 0;
75
+ exports.updatePolicyDocumentExtractionSuccess = exports.updatePolicyDocumentExtractionFailure = exports.updateCreatedCardPolicyTemplate = exports.updateCardPolicyVendorOptionsFailure = exports.updateCardPolicyVendorOptions = exports.updateCardPolicyTemplates = exports.updateCardPolicyStats = exports.updateCardPolicyMccCategoriesFailure = exports.updateCardPolicyMccCategories = exports.removeCardPolicyTemplate = exports.fetchCardPolicyVendorOptions = exports.fetchCardPolicyRecommendationFromUpload = exports.fetchCardPolicyMccCategories = exports.extractPolicyDocument = exports.clearPolicyDocumentExtraction = exports.toMessageType = exports.toMessageSender = exports.ALL_SYNTHETIC_AI_CFO_ANSWER_KINDS = exports.toInteractiveFormTypeStrict = exports.toInteractiveFormType = exports.toAiCfoAnswerResponseTypeStrict = exports.toAiCfoAnswerResponseType = exports.toAiCfoAnswerStateTypeStrict = exports.toAiCfoAnswerStateType = exports.toAiCfoChartTypeStrict = exports.toAiCfoChartType = exports.toAiCfoVisualizationTypeStrict = exports.toAiCfoVisualizationType = exports.ALL_INTERACTIVE_FORM_TYPES = exports.ALL_AI_CFO_ANSWER_RESPONSE_TYPES = exports.ALL_AI_CFO_ANSWER_STATE_TYPES = exports.ALL_AI_CFO_VISUALIZATION_TYPES = exports.ALL_AI_CFO_CHARTS_TYPES = exports.getSyntheticAiCfoAnswerByQuestionAnswerId = exports.getSyntheticAiCfoAnswersForChatSession = exports.getAiCfoSelectorView = exports.getAllQuestionsForChatSession = exports.getQuestionAnswerByIdForChatSession = exports.getAllQuestionAnswersForChatSession = exports.clearSyntheticAiCfoAnswers = exports.removeSyntheticAiCfoAnswer = exports.updateSyntheticAiCfoAnswer = exports.appendSyntheticAiCfoAnswer = exports.toAiCfoVisualization = exports.clearAiCfo = exports.clearSession = exports.addQuestionPayload = exports.upsertOrAddQuestionAnswerPayload = exports.upsertAnswerPayload = exports.updateAiCfoAnswerCardPolicyWizardPlan = void 0;
76
+ exports.updateCreateCardPolicyTemplateRequestState = exports.updateAiCardPolicyFormDraftFromUploadPlan = exports.updateAiCardPolicyFormDraft = exports.seedManualCardPolicyFormDraft = exports.seedAiCardPolicyFormDraft = exports.createCardPolicyTemplates = exports.clearManualCardPolicyFormDraft = exports.clearCreateCardPolicy = exports.clearAiCardPolicyFormDraft = exports.applyExtractedPolicyToManualCardPolicyDraft = exports.applyExtractedPolicyToAiCardPolicyDraft = exports.toUpdateCardPolicyTemplateRequestBody = exports.toExtractedCardPolicyRules = exports.toCreateCardPolicyTemplatesRequestBody = exports.toCreateCardPolicyTemplateRequestBody = exports.toCardPolicyVendorSearchOption = exports.toCardPolicyTemplateList = exports.toCardPolicyTemplate = exports.toCardPolicyStats = exports.toCardPolicyEditFormDraft = exports.toBulkCreateCardPolicyTemplateError = exports.toCardPolicyTemplateStatus = exports.toCardPolicyTemplateMode = exports.ALL_CARD_POLICY_TEMPLATE_STATUSES = exports.ALL_CARD_POLICY_TEMPLATE_MODES = exports.getUploadedPolicyDocumentFileName = exports.getPolicyRecommendationFromUploadFetchState = exports.getPolicyRecommendationFromUploadError = exports.getPolicyRecommendationFromUploadChatSessionId = exports.getPolicyRecommendationFromUploadAnswerId = exports.getPolicyDocumentExtractionFetchState = exports.getPolicyDocumentExtractionError = exports.getExtractedCardPolicyRules = exports.getCardPolicyVendorSearchString = exports.getCardPolicyVendorSearchOptions = exports.getCardPolicyVendorSearchFetchState = exports.getCardPolicyTemplatesByIds = exports.getCardPolicyTemplateById = exports.getCardPolicySuggestedBlockMerchants = exports.getCardPolicySuggestedBlockCategories = exports.getCardPolicySuggestedAllowMerchants = exports.getCardPolicySuggestedAllowCategories = exports.getCardPolicyStats = exports.getCardPolicyMccCategoriesFetchState = exports.getCardPolicyMccCategoriesError = exports.getCardPolicyMccCategories = exports.getAllCardPolicyTemplates = exports.clearCardPolicy = exports.updatePolicyRecommendationFromUploadSuccess = exports.updatePolicyRecommendationFromUploadFailure = void 0;
77
+ exports.getTreasuryDetail = exports.updateTreasuryTransactionListUIState = exports.fetchTreasuryTransactionList = exports.fetchTreasuryOverviewDetail = exports.getUpdateCardPolicyFetchState = exports.getCardPolicyFormDraft = exports.getCardPolicyDetailView = exports.getCardPolicyDetailFetchState = exports.updateCardPolicyFormDraft = exports.updateCardPolicyFetchStatus = exports.updateCardPolicyDetailFetchStatus = exports.updateCardPolicy = exports.fetchCardPolicyDetail = exports.clearCardPolicyDetail = exports.getCardPolicyTemplateIds = exports.getCardPolicyListView = exports.getCardPolicyListFetchState = exports.getArchiveCardPolicyFetchState = exports.updateCardPolicyListFetchStatus = exports.updateArchiveCardPolicyFetchStatus = exports.prependCardPolicyTemplateIds = exports.fetchCardPolicyList = exports.clearCardPolicyList = exports.archiveCardPolicy = exports.toManualCardPolicyTemplateRequestFromDraft = exports.toBulkCardPolicyTemplateRequestsFromDraft = exports.toCardPolicyTemplateRequestFromDraft = exports.applyAiCardPolicyFormDraftUpdate = exports.deriveAiPolicyReviewRowsFromInputs = exports.buildManualCardPolicyFormDraftSeed = exports.buildUploadReviewRows = exports.buildEmptyLimitRows = exports.buildAiCardPolicyFormDraftSeed = exports.toVendorChipFieldValue = exports.toMccCategoryChipFieldValue = exports.buildVendorChipId = exports.buildMccCategoryChipId = exports.VENDOR_CHIP_ID_PREFIX = exports.MCC_CHIP_ID_PREFIX = exports.toMccCategoryLike = exports.CARD_POLICY_LIMIT_ROW_ID_TRANSACTION = exports.CARD_POLICY_LIMIT_ROW_ID_REQUIRE_RECEIPT = exports.getManualCardPolicyFormDraft = exports.getLastCreatedCardPolicyTemplateIds = exports.getLastCreatedCardPolicyTemplateId = exports.getLastCreateCardPolicyTemplateErrors = exports.getLastCreateCardPolicySourceChatSessionId = exports.getCreateCardPolicyTemplateRequestState = exports.getAiCardPolicyFormDraft = exports.updateManualCardPolicyFormDraft = void 0;
78
+ exports.getCashManagementOverviewBanner = exports.getCashManagementOverview = exports.bufferAmountToRisk = exports.RISK_BUFFER_AMOUNT = exports.getAutoSweepFlow = exports.updateCashManagementSettingsFetchStatus = exports.updateCashManagementSettings = exports.updateAutoSweepSettingsFetchStatus = exports.updateAutoSweepRisk = exports.updateAutoSweepDraft = exports.saveAutoSweepSettings = exports.clearAutoSweepFlow = exports.fetchCashManagementOverviewPage = exports.fetchCashManagementBanner = exports.toKycProvidedDocumentTypeFromAllowed = exports.toKycProvidedDocumentType = exports.DEFAULT_SESSION_CONFIG = exports.SessionManager = exports.getTransactionActivityLogView = exports.fetchTransactionActivityLog = exports.BULK_UPLOAD_BAR_COMPLETE_HOLD_MS = exports.BULK_UPLOAD_AUTOMATCHING_TIMEOUT_MS = exports.getAutoTransferRuleHistory = exports.getAutoTransferRuleById = exports.getAutoTransferRules = exports.clearRuleUpdateLocalData = exports.updateRuleLocalData = exports.fetchAutoTransferReviewDetail = exports.fetchAutoTransferRuleHistory = exports.deleteAutoTransferRule = exports.updateAutoTransferRule = exports.createAutoTransferRule = exports.fetchAutoTransferRules = exports.getTreasuryTaxLetters = exports.fetchTreasuryTaxLetterList = exports.getTreasuryStatements = exports.fetchTreasuryStatementList = exports.getTreasuryTransferMoney = exports.clearTreasuryTransferMoney = exports.updateTreasuryTransferMoneyLocalData = exports.executeTreasuryTransferMoney = void 0;
79
79
  const allowedValue_1 = require("./commonStateTypes/allowedValue");
80
80
  Object.defineProperty(exports, "isAllowedValueWithCode", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithCode; } });
81
81
  Object.defineProperty(exports, "isAllowedValueWithID", { enumerable: true, get: function () { return allowedValue_1.isAllowedValueWithID; } });
@@ -1227,6 +1227,7 @@ Object.defineProperty(exports, "fetchEntityRecommendationsForLineUpdate", { enum
1227
1227
  Object.defineProperty(exports, "fetchRecommendationByEntityId", { enumerable: true, get: function () { return recommendationReducer_1.fetchRecommendationByEntityId; } });
1228
1228
  Object.defineProperty(exports, "fetchRecommendationByEntityName", { enumerable: true, get: function () { return recommendationReducer_1.fetchRecommendationByEntityName; } });
1229
1229
  const referralReducer_1 = require("./view/referralView/referralReducer");
1230
+ Object.defineProperty(exports, "DEFAULT_REFERRER_AMOUNT", { enumerable: true, get: function () { return referralReducer_1.DEFAULT_REFERRER_AMOUNT; } });
1230
1231
  Object.defineProperty(exports, "clearReferrals", { enumerable: true, get: function () { return referralReducer_1.clearReferrals; } });
1231
1232
  Object.defineProperty(exports, "fetchReferrals", { enumerable: true, get: function () { return referralReducer_1.fetchReferrals; } });
1232
1233
  Object.defineProperty(exports, "fetchRewardsPlan", { enumerable: true, get: function () { return referralReducer_1.fetchRewardsPlan; } });
@@ -2331,11 +2332,15 @@ Object.defineProperty(exports, "updateResponseState", { enumerable: true, get: f
2331
2332
  Object.defineProperty(exports, "fetchSuggestedQuestions", { enumerable: true, get: function () { return aiCfoViewReducer_1.fetchSuggestedQuestions; } });
2332
2333
  Object.defineProperty(exports, "fetchSuggestedQuestionsSuccess", { enumerable: true, get: function () { return aiCfoViewReducer_1.fetchSuggestedQuestionsSuccess; } });
2333
2334
  Object.defineProperty(exports, "fetchSuggestedQuestionsFailure", { enumerable: true, get: function () { return aiCfoViewReducer_1.fetchSuggestedQuestionsFailure; } });
2335
+ Object.defineProperty(exports, "fetchSkills", { enumerable: true, get: function () { return aiCfoViewReducer_1.fetchSkills; } });
2336
+ Object.defineProperty(exports, "fetchSkillsSuccess", { enumerable: true, get: function () { return aiCfoViewReducer_1.fetchSkillsSuccess; } });
2337
+ Object.defineProperty(exports, "fetchSkillsFailure", { enumerable: true, get: function () { return aiCfoViewReducer_1.fetchSkillsFailure; } });
2334
2338
  Object.defineProperty(exports, "applyAiCfoSidePanelHostPageTransition", { enumerable: true, get: function () { return aiCfoViewReducer_1.applyAiCfoSidePanelHostPageTransition; } });
2335
2339
  Object.defineProperty(exports, "clearAiCfoSidePanelHostPageContext", { enumerable: true, get: function () { return aiCfoViewReducer_1.clearAiCfoSidePanelHostPageContext; } });
2336
2340
  var aiCfoViewSelector_1 = require("./view/aiCfoView/aiCfoViewSelector");
2337
2341
  Object.defineProperty(exports, "getAiCfoView", { enumerable: true, get: function () { return aiCfoViewSelector_1.getAiCfoView; } });
2338
2342
  Object.defineProperty(exports, "getSuggestedQuestionsForPageContext", { enumerable: true, get: function () { return aiCfoViewSelector_1.getSuggestedQuestionsForPageContext; } });
2343
+ Object.defineProperty(exports, "getSkills", { enumerable: true, get: function () { return aiCfoViewSelector_1.getSkills; } });
2339
2344
  var aiCfoReducer_1 = require("./entity/aiCfo/aiCfoReducer");
2340
2345
  Object.defineProperty(exports, "setNewSession", { enumerable: true, get: function () { return aiCfoReducer_1.setNewSession; } });
2341
2346
  Object.defineProperty(exports, "setSessions", { enumerable: true, get: function () { return aiCfoReducer_1.setSessions; } });
@@ -30,4 +30,18 @@ export interface SuggestedQuestionsDataPayload {
30
30
  suggested_questions: string[];
31
31
  }
32
32
  export type FetchSuggestedQuestionsResponse = ZeniAPIResponse<SuggestedQuestionsDataPayload>;
33
+ /** One entry in the `/` skill menu — from GET {chat}/1.0/skills (SkillSummary). */
34
+ export interface SkillSummaryPayload {
35
+ description: string | null;
36
+ display_name: string | null;
37
+ has_scripts: boolean;
38
+ macro_id: string;
39
+ name: string;
40
+ parameter_hints: Record<string, unknown> | null;
41
+ semver: string | null;
42
+ }
43
+ export interface SkillListDataPayload {
44
+ skills: SkillSummaryPayload[];
45
+ }
46
+ export type FetchSkillsResponse = ZeniAPIResponse<SkillListDataPayload>;
33
47
  export {};
@@ -5,9 +5,9 @@ import { ChatSessionPayload } from '../../entity/aiCfo/aiCfoPayload';
5
5
  import { AiCfoAnswerResponseType } from '../../entity/aiCfo/aiCfoState';
6
6
  import { ZeniAPIStatus } from '../../responsePayload';
7
7
  import { ContextStatus } from './aiCfoViewPayload';
8
- import { AiCfoViewState } from './aiCfoViewState';
8
+ import { AiCfoViewState, Skill } from './aiCfoViewState';
9
9
  export declare const initialAiCfoViewState: AiCfoViewState;
10
- export declare const submitQuestion: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[sessionId: string, questionAnswerId: string, userId: string, questionId: string, createdAt: import("dayjs").Dayjs, question: string, files?: File[] | undefined], {
10
+ export declare const submitQuestion: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[sessionId: string, questionAnswerId: string, userId: string, questionId: string, createdAt: import("dayjs").Dayjs, question: string, files?: File[] | undefined, macroId?: string | undefined], {
11
11
  sessionId: string;
12
12
  questionAnswerId: string;
13
13
  userId: string;
@@ -15,6 +15,7 @@ export declare const submitQuestion: import("@reduxjs/toolkit").ActionCreatorWit
15
15
  createdAt: import("dayjs").Dayjs;
16
16
  question: string;
17
17
  files: File[] | undefined;
18
+ macroId: string | undefined;
18
19
  }, "aiCfoView/submitQuestion", never, never>, submitQuestionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "aiCfoView/submitQuestionSuccess">, submitQuestionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
19
20
  error: ZeniAPIStatus;
20
21
  sessionId: ID;
@@ -36,7 +37,7 @@ export declare const submitQuestion: import("@reduxjs/toolkit").ActionCreatorWit
36
37
  sessionId: ID;
37
38
  contextMessage?: string;
38
39
  contextStatus?: ContextStatus;
39
- }, "aiCfoView/createSessionSuccess">, createSessionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "aiCfoView/createSessionFailure">, createSessionAndSubmit: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[agentId: string, userId: string, questionAnswerId: string, questionId: string, createdAt: import("dayjs").Dayjs, question: string, files?: File[] | undefined, pageContext?: string | undefined], {
40
+ }, "aiCfoView/createSessionSuccess">, createSessionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "aiCfoView/createSessionFailure">, createSessionAndSubmit: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[agentId: string, userId: string, questionAnswerId: string, questionId: string, createdAt: import("dayjs").Dayjs, question: string, files?: File[] | undefined, pageContext?: string | undefined, macroId?: string | undefined], {
40
41
  agentId: string;
41
42
  userId: string;
42
43
  questionAnswerId: string;
@@ -45,6 +46,7 @@ export declare const submitQuestion: import("@reduxjs/toolkit").ActionCreatorWit
45
46
  question: string;
46
47
  files: File[] | undefined;
47
48
  pageContext: string | undefined;
49
+ macroId: string | undefined;
48
50
  }, "aiCfoView/createSessionAndSubmit", never, never>, initializeNewSessionState: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
49
51
  agentId: string;
50
52
  sessionId: ID;
@@ -108,7 +110,9 @@ export declare const submitQuestion: import("@reduxjs/toolkit").ActionCreatorWit
108
110
  }, "aiCfoView/fetchSuggestedQuestionsSuccess">, fetchSuggestedQuestionsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
109
111
  error: ZeniAPIStatus;
110
112
  pageContext: AiCfoSuggestedQuestionsPageContext;
111
- }, "aiCfoView/fetchSuggestedQuestionsFailure">, applyAiCfoSidePanelHostPageTransition: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
113
+ }, "aiCfoView/fetchSuggestedQuestionsFailure">, fetchSkills: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"aiCfoView/fetchSkills">, fetchSkillsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
114
+ skills: Skill[];
115
+ }, "aiCfoView/fetchSkillsSuccess">, fetchSkillsFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<ZeniAPIStatus<Record<string, unknown>>, "aiCfoView/fetchSkillsFailure">, applyAiCfoSidePanelHostPageTransition: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
112
116
  newAiCfoSidePanelHostPageKey: string;
113
117
  /** When omitted or null, clears the active session (empty / suggested questions). */
114
118
  nextCurrentChatSessionId?: ID | null;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.clearAiCfoSidePanelHostPageContext = exports.applyAiCfoSidePanelHostPageTransition = exports.fetchSuggestedQuestionsFailure = exports.fetchSuggestedQuestionsSuccess = exports.fetchSuggestedQuestions = exports.updateCotCollapsedState = exports.clearAiCfoView = exports.clearDeleteChatSessionStatus = exports.deleteChatSessionFailure = exports.deleteChatSessionSuccess = exports.deleteChatSession = exports.acceptMasterTOSFailure = exports.acceptMasterTOSSuccess = exports.acceptMasterTOS = exports.stopSubmitQuestionFailure = exports.stopSubmitQuestionSuccess = exports.stopSubmitQuestion = exports.stopSubmitFailure = exports.stopSubmitSuccess = exports.stopSubmit = exports.clearLastContextMessage = exports.clearCurrentSessionId = exports.fetchChatHistoryFailure = exports.fetchChatHistorySuccess = exports.fetchChatHistory = exports.fetchChatSessionsForUserFailure = exports.fetchChatSessionsForUserSuccess = exports.fetchChatSessionsForUser = exports.createSessionAndSubmitFailure = exports.createSessionAndSubmitSuccess = exports.initializeNewSessionState = exports.createSessionAndSubmit = exports.createSessionFailure = exports.createSessionSuccess = exports.createSession = exports.setSession = exports.clearInput = exports.updateCurrentInput = exports.updateAiCfoViewScrollPosition = exports.updateResponseState = exports.submitQuestionFailure = exports.submitQuestionSuccess = exports.submitQuestion = exports.initialAiCfoViewState = void 0;
4
+ exports.clearAiCfoSidePanelHostPageContext = exports.applyAiCfoSidePanelHostPageTransition = exports.fetchSkillsFailure = exports.fetchSkillsSuccess = exports.fetchSkills = exports.fetchSuggestedQuestionsFailure = exports.fetchSuggestedQuestionsSuccess = exports.fetchSuggestedQuestions = exports.updateCotCollapsedState = exports.clearAiCfoView = exports.clearDeleteChatSessionStatus = exports.deleteChatSessionFailure = exports.deleteChatSessionSuccess = exports.deleteChatSession = exports.acceptMasterTOSFailure = exports.acceptMasterTOSSuccess = exports.acceptMasterTOS = exports.stopSubmitQuestionFailure = exports.stopSubmitQuestionSuccess = exports.stopSubmitQuestion = exports.stopSubmitFailure = exports.stopSubmitSuccess = exports.stopSubmit = exports.clearLastContextMessage = exports.clearCurrentSessionId = exports.fetchChatHistoryFailure = exports.fetchChatHistorySuccess = exports.fetchChatHistory = exports.fetchChatSessionsForUserFailure = exports.fetchChatSessionsForUserSuccess = exports.fetchChatSessionsForUser = exports.createSessionAndSubmitFailure = exports.createSessionAndSubmitSuccess = exports.initializeNewSessionState = exports.createSessionAndSubmit = exports.createSessionFailure = exports.createSessionSuccess = exports.createSession = exports.setSession = exports.clearInput = exports.updateCurrentInput = exports.updateAiCfoViewScrollPosition = exports.updateResponseState = exports.submitQuestionFailure = exports.submitQuestionSuccess = exports.submitQuestion = exports.initialAiCfoViewState = void 0;
5
5
  const toolkit_1 = require("@reduxjs/toolkit");
6
6
  function removeSessionIdFromPageKeyMap(draft, sessionId) {
7
7
  const map = draft.uiState.chatSessionIdByPageKey;
@@ -51,6 +51,7 @@ exports.initialAiCfoViewState = {
51
51
  responseStateByChatSessionId: {},
52
52
  stopSubmitStateByChatSessionId: {},
53
53
  suggestedQuestionsByPageContext: {},
54
+ skills: { fetchState: 'Not-Started', error: undefined, skills: [] },
54
55
  };
55
56
  const aiCfoView = (0, toolkit_1.createSlice)({
56
57
  name: 'aiCfoView',
@@ -66,7 +67,7 @@ const aiCfoView = (0, toolkit_1.createSlice)({
66
67
  answer: { fetchState: 'In-Progress', error: undefined },
67
68
  };
68
69
  },
69
- prepare(sessionId, questionAnswerId, userId, questionId, createdAt, question, files) {
70
+ prepare(sessionId, questionAnswerId, userId, questionId, createdAt, question, files, macroId) {
70
71
  return {
71
72
  payload: {
72
73
  sessionId,
@@ -76,6 +77,7 @@ const aiCfoView = (0, toolkit_1.createSlice)({
76
77
  createdAt,
77
78
  question,
78
79
  files,
80
+ macroId,
79
81
  },
80
82
  };
81
83
  },
@@ -226,7 +228,7 @@ const aiCfoView = (0, toolkit_1.createSlice)({
226
228
  draft.createSessionAndSubmitState.fetchState = 'In-Progress';
227
229
  draft.createSessionAndSubmitState.error = undefined;
228
230
  },
229
- prepare(agentId, userId, questionAnswerId, questionId, createdAt, question, files, pageContext) {
231
+ prepare(agentId, userId, questionAnswerId, questionId, createdAt, question, files, pageContext, macroId) {
230
232
  return {
231
233
  payload: {
232
234
  agentId,
@@ -237,6 +239,7 @@ const aiCfoView = (0, toolkit_1.createSlice)({
237
239
  question,
238
240
  files,
239
241
  pageContext,
242
+ macroId,
240
243
  },
241
244
  };
242
245
  },
@@ -449,6 +452,29 @@ const aiCfoView = (0, toolkit_1.createSlice)({
449
452
  error,
450
453
  };
451
454
  },
455
+ fetchSkills(draft) {
456
+ // Optional-chain: persisted/rehydrated state from before this slice existed
457
+ // may have no `skills`, so don't assume draft.skills is set.
458
+ draft.skills = {
459
+ fetchState: 'In-Progress',
460
+ error: undefined,
461
+ skills: draft.skills?.skills ?? [],
462
+ };
463
+ },
464
+ fetchSkillsSuccess(draft, action) {
465
+ draft.skills = {
466
+ fetchState: 'Completed',
467
+ error: undefined,
468
+ skills: action.payload.skills,
469
+ };
470
+ },
471
+ fetchSkillsFailure(draft, action) {
472
+ draft.skills = {
473
+ fetchState: 'Error',
474
+ error: action.payload,
475
+ skills: draft.skills?.skills ?? [],
476
+ };
477
+ },
452
478
  clearAiCfoView(draft) {
453
479
  Object.assign(draft, exports.initialAiCfoViewState);
454
480
  },
@@ -459,5 +485,5 @@ const aiCfoView = (0, toolkit_1.createSlice)({
459
485
  },
460
486
  },
461
487
  });
462
- _a = aiCfoView.actions, exports.submitQuestion = _a.submitQuestion, exports.submitQuestionSuccess = _a.submitQuestionSuccess, exports.submitQuestionFailure = _a.submitQuestionFailure, exports.updateResponseState = _a.updateResponseState, exports.updateAiCfoViewScrollPosition = _a.updateAiCfoViewScrollPosition, exports.updateCurrentInput = _a.updateCurrentInput, exports.clearInput = _a.clearInput, exports.setSession = _a.setSession, exports.createSession = _a.createSession, exports.createSessionSuccess = _a.createSessionSuccess, exports.createSessionFailure = _a.createSessionFailure, exports.createSessionAndSubmit = _a.createSessionAndSubmit, exports.initializeNewSessionState = _a.initializeNewSessionState, exports.createSessionAndSubmitSuccess = _a.createSessionAndSubmitSuccess, exports.createSessionAndSubmitFailure = _a.createSessionAndSubmitFailure, exports.fetchChatSessionsForUser = _a.fetchChatSessionsForUser, exports.fetchChatSessionsForUserSuccess = _a.fetchChatSessionsForUserSuccess, exports.fetchChatSessionsForUserFailure = _a.fetchChatSessionsForUserFailure, exports.fetchChatHistory = _a.fetchChatHistory, exports.fetchChatHistorySuccess = _a.fetchChatHistorySuccess, exports.fetchChatHistoryFailure = _a.fetchChatHistoryFailure, exports.clearCurrentSessionId = _a.clearCurrentSessionId, exports.clearLastContextMessage = _a.clearLastContextMessage, exports.stopSubmit = _a.stopSubmit, exports.stopSubmitSuccess = _a.stopSubmitSuccess, exports.stopSubmitFailure = _a.stopSubmitFailure, exports.stopSubmitQuestion = _a.stopSubmitQuestion, exports.stopSubmitQuestionSuccess = _a.stopSubmitQuestionSuccess, exports.stopSubmitQuestionFailure = _a.stopSubmitQuestionFailure, exports.acceptMasterTOS = _a.acceptMasterTOS, exports.acceptMasterTOSSuccess = _a.acceptMasterTOSSuccess, exports.acceptMasterTOSFailure = _a.acceptMasterTOSFailure, exports.deleteChatSession = _a.deleteChatSession, exports.deleteChatSessionSuccess = _a.deleteChatSessionSuccess, exports.deleteChatSessionFailure = _a.deleteChatSessionFailure, exports.clearDeleteChatSessionStatus = _a.clearDeleteChatSessionStatus, exports.clearAiCfoView = _a.clearAiCfoView, exports.updateCotCollapsedState = _a.updateCotCollapsedState, exports.fetchSuggestedQuestions = _a.fetchSuggestedQuestions, exports.fetchSuggestedQuestionsSuccess = _a.fetchSuggestedQuestionsSuccess, exports.fetchSuggestedQuestionsFailure = _a.fetchSuggestedQuestionsFailure, exports.applyAiCfoSidePanelHostPageTransition = _a.applyAiCfoSidePanelHostPageTransition, exports.clearAiCfoSidePanelHostPageContext = _a.clearAiCfoSidePanelHostPageContext;
488
+ _a = aiCfoView.actions, exports.submitQuestion = _a.submitQuestion, exports.submitQuestionSuccess = _a.submitQuestionSuccess, exports.submitQuestionFailure = _a.submitQuestionFailure, exports.updateResponseState = _a.updateResponseState, exports.updateAiCfoViewScrollPosition = _a.updateAiCfoViewScrollPosition, exports.updateCurrentInput = _a.updateCurrentInput, exports.clearInput = _a.clearInput, exports.setSession = _a.setSession, exports.createSession = _a.createSession, exports.createSessionSuccess = _a.createSessionSuccess, exports.createSessionFailure = _a.createSessionFailure, exports.createSessionAndSubmit = _a.createSessionAndSubmit, exports.initializeNewSessionState = _a.initializeNewSessionState, exports.createSessionAndSubmitSuccess = _a.createSessionAndSubmitSuccess, exports.createSessionAndSubmitFailure = _a.createSessionAndSubmitFailure, exports.fetchChatSessionsForUser = _a.fetchChatSessionsForUser, exports.fetchChatSessionsForUserSuccess = _a.fetchChatSessionsForUserSuccess, exports.fetchChatSessionsForUserFailure = _a.fetchChatSessionsForUserFailure, exports.fetchChatHistory = _a.fetchChatHistory, exports.fetchChatHistorySuccess = _a.fetchChatHistorySuccess, exports.fetchChatHistoryFailure = _a.fetchChatHistoryFailure, exports.clearCurrentSessionId = _a.clearCurrentSessionId, exports.clearLastContextMessage = _a.clearLastContextMessage, exports.stopSubmit = _a.stopSubmit, exports.stopSubmitSuccess = _a.stopSubmitSuccess, exports.stopSubmitFailure = _a.stopSubmitFailure, exports.stopSubmitQuestion = _a.stopSubmitQuestion, exports.stopSubmitQuestionSuccess = _a.stopSubmitQuestionSuccess, exports.stopSubmitQuestionFailure = _a.stopSubmitQuestionFailure, exports.acceptMasterTOS = _a.acceptMasterTOS, exports.acceptMasterTOSSuccess = _a.acceptMasterTOSSuccess, exports.acceptMasterTOSFailure = _a.acceptMasterTOSFailure, exports.deleteChatSession = _a.deleteChatSession, exports.deleteChatSessionSuccess = _a.deleteChatSessionSuccess, exports.deleteChatSessionFailure = _a.deleteChatSessionFailure, exports.clearDeleteChatSessionStatus = _a.clearDeleteChatSessionStatus, exports.clearAiCfoView = _a.clearAiCfoView, exports.updateCotCollapsedState = _a.updateCotCollapsedState, exports.fetchSuggestedQuestions = _a.fetchSuggestedQuestions, exports.fetchSuggestedQuestionsSuccess = _a.fetchSuggestedQuestionsSuccess, exports.fetchSuggestedQuestionsFailure = _a.fetchSuggestedQuestionsFailure, exports.fetchSkills = _a.fetchSkills, exports.fetchSkillsSuccess = _a.fetchSkillsSuccess, exports.fetchSkillsFailure = _a.fetchSkillsFailure, exports.applyAiCfoSidePanelHostPageTransition = _a.applyAiCfoSidePanelHostPageTransition, exports.clearAiCfoSidePanelHostPageContext = _a.clearAiCfoSidePanelHostPageContext;
463
489
  exports.default = aiCfoView.reducer;
@@ -4,7 +4,7 @@ import { FetchStateAndError } from '../../commonStateTypes/common';
4
4
  import { SelectorView } from '../../commonStateTypes/viewAndReport/viewAndReport';
5
5
  import { AiCfoSelectorView } from '../../entity/aiCfo/aiCfoSelector';
6
6
  import { RootState } from '../../reducer';
7
- import { AiCfoViewUIState, SuggestedQuestionsForPageContext } from './aiCfoViewState';
7
+ import { AiCfoViewUIState, SkillsState, SuggestedQuestionsForPageContext } from './aiCfoViewState';
8
8
  export interface AiCfoViewSelector extends SelectorView, AiCfoSelectorView {
9
9
  createSessionAndSubmitState: FetchStateAndError;
10
10
  createSessionState: FetchStateAndError;
@@ -23,3 +23,4 @@ export interface AiCfoViewSelector extends SelectorView, AiCfoSelectorView {
23
23
  }
24
24
  export declare const getAiCfoView: (state: RootState) => AiCfoViewSelector;
25
25
  export declare function getSuggestedQuestionsForPageContext(state: RootState, pageContext: AiCfoSuggestedQuestionsPageContext): SuggestedQuestionsForPageContext | undefined;
26
+ export declare function getSkills(state: RootState): SkillsState;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAiCfoView = void 0;
4
4
  exports.getSuggestedQuestionsForPageContext = getSuggestedQuestionsForPageContext;
5
+ exports.getSkills = getSkills;
5
6
  const aiCfoReducer_1 = require("../../entity/aiCfo/aiCfoReducer");
6
7
  const aiCfoSelector_1 = require("../../entity/aiCfo/aiCfoSelector");
7
8
  const aiCfoViewReducer_1 = require("./aiCfoViewReducer");
@@ -27,3 +28,14 @@ exports.getAiCfoView = getAiCfoView;
27
28
  function getSuggestedQuestionsForPageContext(state, pageContext) {
28
29
  return state.aiCfoViewState?.suggestedQuestionsByPageContext?.[pageContext];
29
30
  }
31
+ // Stable fallback so getSkills returns a referentially-stable object when skills
32
+ // state is absent — a fresh literal each call would defeat useSelector identity
33
+ // checks and cause needless re-renders.
34
+ const EMPTY_SKILLS_STATE = {
35
+ fetchState: 'Not-Started',
36
+ error: undefined,
37
+ skills: [],
38
+ };
39
+ function getSkills(state) {
40
+ return state.aiCfoViewState?.skills ?? EMPTY_SKILLS_STATE;
41
+ }
@@ -37,6 +37,19 @@ export interface SuggestedQuestionsForPageContext extends FetchStateAndError {
37
37
  suggestedQuestions: string[];
38
38
  generatedAt?: string;
39
39
  }
40
+ /** A chat-visible skill shown in the `/` menu. */
41
+ export interface Skill {
42
+ description: string | null;
43
+ displayName: string | null;
44
+ hasScripts: boolean;
45
+ macroId: string;
46
+ name: string;
47
+ parameterHints: Record<string, unknown> | null;
48
+ semver: string | null;
49
+ }
50
+ export interface SkillsState extends FetchStateAndError {
51
+ skills: Skill[];
52
+ }
40
53
  export interface AiCfoViewState extends FetchStateAndError {
41
54
  allChatSessionIds: ID[];
42
55
  createSessionAndSubmitState: FetchStateAndError;
@@ -50,6 +63,8 @@ export interface AiCfoViewState extends FetchStateAndError {
50
63
  reasoning: FetchStateAndError;
51
64
  thought: FetchStateAndError;
52
65
  }>;
66
+ /** Chat-visible skills for the `/` menu. */
67
+ skills: SkillsState;
53
68
  stopSubmitStateByChatSessionId: Record<ID, FetchStateAndError>;
54
69
  /** Keyed by `page_context` query value (e.g. balance_sheet). */
55
70
  suggestedQuestionsByPageContext: Partial<Record<AiCfoSuggestedQuestionsPageContext, SuggestedQuestionsForPageContext>>;
@@ -69,7 +69,7 @@ function waitForChannelSubscription(pusherInstance, channelName, timeoutMs = 500
69
69
  }));
70
70
  }
71
71
  const createSessionAndSubmitEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(aiCfoViewReducer_1.createSessionAndSubmit.match), (0, operators_1.switchMap)((action) => {
72
- const { agentId, userId, questionAnswerId, questionId, createdAt, question, files, pageContext, } = action.payload;
72
+ const { agentId, userId, questionAnswerId, questionId, createdAt, question, files, pageContext, macroId, } = action.payload;
73
73
  const payload = {
74
74
  agent_id: agentId,
75
75
  ...(pageContext != null && { page_context: pageContext }),
@@ -116,7 +116,7 @@ const createSessionAndSubmitEpic = (actions$, _state$, zeniAPI) => actions$.pipe
116
116
  // This allows fetchChatHistory to run after the question is submitted
117
117
  (0, rxjs_1.of)((0, aiCfoViewReducer_1.createSessionAndSubmitSuccess)(),
118
118
  // Submit the question after handlers are bound
119
- (0, aiCfoViewReducer_1.submitQuestion)(sessionId, questionAnswerId, userId, questionId, createdAt, question, files),
119
+ (0, aiCfoViewReducer_1.submitQuestion)(sessionId, questionAnswerId, userId, questionId, createdAt, question, files, macroId),
120
120
  // Add question payload optimistically after submitQuestion (matches original order)
121
121
  // This is idempotent - won't create duplicates if called multiple times
122
122
  // submitQuestionEpic will find the question already exists and only update the response
@@ -0,0 +1,8 @@
1
+ import { ActionsObservable, StateObservable } from 'redux-observable';
2
+ import { Observable } from 'rxjs';
3
+ import { RootState } from '../../../reducer';
4
+ import { ZeniAPI } from '../../../zeniAPI';
5
+ import { fetchSkills, fetchSkillsFailure, fetchSkillsSuccess } from '../aiCfoViewReducer';
6
+ export type ActionType = ReturnType<typeof fetchSkills> | ReturnType<typeof fetchSkillsSuccess> | ReturnType<typeof fetchSkillsFailure>;
7
+ /** GET {aiCfoMicroServiceBaseUrl}/1.0/skills — chat-visible skills for the `/` menu. */
8
+ export declare const fetchSkillsEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchSkillsEpic = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ const responsePayload_1 = require("../../../responsePayload");
7
+ const aiCfoViewReducer_1 = require("../aiCfoViewReducer");
8
+ const toSkill = (s) => ({
9
+ macroId: s.macro_id,
10
+ name: s.name,
11
+ displayName: s.display_name,
12
+ description: s.description,
13
+ semver: s.semver,
14
+ parameterHints: s.parameter_hints,
15
+ hasScripts: s.has_scripts,
16
+ });
17
+ /** GET {aiCfoMicroServiceBaseUrl}/1.0/skills — chat-visible skills for the `/` menu. */
18
+ const fetchSkillsEpic = (actions$,
19
+ // state$ intentionally unused: the `/` menu dispatches this once per slash-entry
20
+ // (the composer dedupes), so we always re-fetch the (small, singleton) list.
21
+ _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(aiCfoViewReducer_1.fetchSkills.match),
22
+ // switchMap: a singleton list endpoint with no key — cancel any in-flight
23
+ // fetch so the latest dispatch wins (no racing writes to `skills`).
24
+ (0, operators_1.switchMap)(() => {
25
+ // aiCfoMicroServiceBaseUrl already targets the chat service (it serves the
26
+ // /1.0/agents/{id} submit route too); /1.0/skills lives on the same service.
27
+ const url = `${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/skills`;
28
+ return zeniAPI.getJSON(url).pipe((0, operators_1.mergeMap)((response) => {
29
+ if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
30
+ // Guard the array: a malformed 2xx body without `skills` must not crash .map.
31
+ return (0, rxjs_1.of)((0, aiCfoViewReducer_1.fetchSkillsSuccess)({
32
+ skills: (response.data.skills ?? []).map(toSkill),
33
+ }));
34
+ }
35
+ return (0, rxjs_1.of)((0, aiCfoViewReducer_1.fetchSkillsFailure)(response.status));
36
+ }), (0, operators_1.catchError)((error) => (0, rxjs_1.of)((0, aiCfoViewReducer_1.fetchSkillsFailure)((0, responsePayload_1.createZeniAPIStatus)('Unexpected Error', 'Fetch skills REST API call failed', error instanceof Error ? { message: error.message } : undefined)))));
37
+ }));
38
+ exports.fetchSkillsEpic = fetchSkillsEpic;
@@ -7,7 +7,7 @@ const aiCfoReducer_1 = require("../../../entity/aiCfo/aiCfoReducer");
7
7
  const responsePayload_1 = require("../../../responsePayload");
8
8
  const aiCfoViewReducer_1 = require("../aiCfoViewReducer");
9
9
  const submitQuestionEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(aiCfoViewReducer_1.submitQuestion.match), (0, operators_1.mergeMap)((action) => {
10
- const { questionAnswerId, userId, sessionId, questionId, createdAt, question, files, } = action.payload;
10
+ const { questionAnswerId, userId, sessionId, questionId, createdAt, question, files, macroId, } = action.payload;
11
11
  const { aiCfoViewState } = state$.value;
12
12
  const { uiState } = aiCfoViewState;
13
13
  const agentId = uiState.agentId;
@@ -20,15 +20,21 @@ const submitQuestionEpic = (actions$, state$, zeniAPI) => actions$.pipe((0, oper
20
20
  const formData = new FormData();
21
21
  formData.append('chat_session_id', sessionId);
22
22
  formData.append('message', question);
23
+ if (macroId != null) {
24
+ formData.append('macro_id', macroId);
25
+ }
23
26
  for (const file of files) {
24
27
  formData.append('files', file, file.name);
25
28
  }
26
29
  apiCall = zeniAPI.postFormData(endpoint, formData);
27
30
  }
28
31
  else {
32
+ // `message` is the display token (e.g. "/flux"); `macro_id` tells the chat
33
+ // service to expand the skill's instructions as the actual agent prompt.
29
34
  apiCall = zeniAPI.postAndGetJSON(endpoint, {
30
35
  chat_session_id: sessionId,
31
36
  message: question,
37
+ ...(macroId != null && { macro_id: macroId }),
32
38
  });
33
39
  }
34
40
  return apiCall.pipe((0, operators_1.mergeMap)((response) => {
@@ -7,7 +7,6 @@ const snackbarReducer_1 = require("../../../../entity/snackbar/snackbarReducer")
7
7
  const tenantSelector_1 = require("../../../../entity/tenant/tenantSelector");
8
8
  const transactionSelector_1 = require("../../../../entity/transaction/transactionSelector");
9
9
  const vendorReducer_1 = require("../../../../entity/vendor/vendorReducer");
10
- const vendorPayload_1 = require("../../../../entity/vendor/vendorPayload");
11
10
  const responsePayload_1 = require("../../../../responsePayload");
12
11
  const zeniUrl_1 = require("../../../../zeniUrl");
13
12
  const accountListSelector_1 = require("../../../accountList/accountListSelector");
@@ -39,13 +38,11 @@ const saveTransactionVendorEpic = (actions$, state$, zeniAPI) => actions$.pipe((
39
38
  const actions = [
40
39
  (0, vendorReducer_1.updateVendors)(response.data.vendors ?? []),
41
40
  ];
42
- const savedVendor = response.data.vendors[0];
43
- const resolvedVendorId = (0, vendorPayload_1.getVendorPayloadIdentifier)(savedVendor) ?? undefined;
44
41
  actions.push((0, transactionVendorViewReducer_1.updateTransactionVendorLocalData)({
45
- vendorId: resolvedVendorId,
42
+ vendorId: response.data.vendors[0].vendor_id,
46
43
  localData: {
47
- vendorName: savedVendor.vendor_name,
48
- vendorId: resolvedVendorId,
44
+ vendorName: response.data.vendors[0].vendor_name,
45
+ vendorId: response.data.vendors[0].vendor_id,
49
46
  },
50
47
  }));
51
48
  if (effectiveVendorId == null &&
@@ -73,7 +70,7 @@ const saveTransactionVendorEpic = (actions$, state$, zeniAPI) => actions$.pipe((
73
70
  name: response.data.vendors[0].vendor_name,
74
71
  id: response.data.vendors[0].qbo_id,
75
72
  type: 'vendor',
76
- zeniId: savedVendor.vendor_id ?? '',
73
+ zeniId: response.data.vendors[0].vendor_id,
77
74
  qboId: response.data.vendors[0].qbo_id,
78
75
  logo: (0, zeniUrl_1.toZeniUrlWithoutBaseURL)(response.data.vendors[0].logo?.url ?? ''),
79
76
  },
@@ -86,14 +83,14 @@ const saveTransactionVendorEpic = (actions$, state$, zeniAPI) => actions$.pipe((
86
83
  transactionId: action.payload.transactionId,
87
84
  vendorUpdates: {
88
85
  name: response.data.vendors[0].vendor_name,
89
- id: savedVendor.vendor_id ?? '',
86
+ id: response.data.vendors[0].vendor_id,
90
87
  qboId: response.data.vendors[0].qbo_id,
91
88
  },
92
89
  entity: {
93
90
  name: response.data.vendors[0].vendor_name,
94
91
  id: response.data.vendors[0].qbo_id,
95
92
  type: 'vendor',
96
- zeniId: savedVendor.vendor_id ?? '',
93
+ zeniId: response.data.vendors[0].vendor_id,
97
94
  qboId: response.data.vendors[0].qbo_id,
98
95
  logo: (0, zeniUrl_1.toZeniUrlWithoutBaseURL)(response.data.vendors[0].logo?.url ?? ''),
99
96
  },
@@ -94,8 +94,6 @@ const transactionVendorView = (0, toolkit_1.createSlice)({
94
94
  };
95
95
  }
96
96
  else {
97
- // Legacy empty-string key from pre-resolution vendor id writes.
98
- delete draft.editVendorStateById[''];
99
97
  if (draft.editVendorStateById[vendorId] != null) {
100
98
  draft.editVendorStateById[vendorId].vendorDetailLocalData = {
101
99
  ...exports.initialVendorDetailLocalData,
@@ -92,7 +92,7 @@ function handleSuccessWithTransactionBody(transactionPayload, vendorPayload, pre
92
92
  (0, transactionReducer_1.updateTransaction)((0, transactionDetailState_1.getTransactionDetailKey)(newTransactionId), transactionPayload),
93
93
  (0, transactionDetailReducer_1.initializeTransactionDetailLocalData)({
94
94
  transactionId: newTransactionId,
95
- vendorId: vendorPayload?.[0]?.vendor_id ?? undefined,
95
+ vendorId: vendorPayload?.[0]?.vendor_id,
96
96
  }),
97
97
  ...buildSuccessSideEffects(sourceTransactionId),
98
98
  ];
@@ -116,32 +116,20 @@ const getSelectedProducts = (isDebitCardFlagEnabled, tenant) => {
116
116
  const isBookkeepingEnabled = (0, tenantSelector_1.isTenantBookkeepingEnabled)(tenant);
117
117
  const isOtherProductsEnabled = (0, tenantSelector_1.isOtherProductsEnabledForTenant)(tenant);
118
118
  const isCardsEnabled = (0, tenantSelector_1.isTenantCardsOnly)(tenant);
119
- const isTreasuryEnabled = (0, tenantSelector_1.isTenantTreasuryEnabled)(tenant);
120
119
  if (isCardsEnabled && isBankingOnly) {
121
- const selectedProducts = ['zeni_cards', 'zeni_checking'];
122
- if (isTreasuryEnabled) {
123
- selectedProducts.push('zeni_treasury');
124
- }
125
- return selectedProducts;
120
+ return [];
126
121
  }
127
122
  else if (isBankingOnly) {
128
- const selectedProducts = ['zeni_checking'];
129
- if (isTreasuryEnabled) {
130
- selectedProducts.push('zeni_treasury');
131
- }
132
- return selectedProducts;
123
+ return [];
133
124
  }
134
125
  else if (isCardsEnabled) {
135
- return ['zeni_cards'];
126
+ return [];
136
127
  }
137
128
  else if (isBookkeepingEnabled) {
138
129
  return [
139
130
  'bookkeeping',
140
131
  'zeni_bill_pay',
141
- 'zeni_checking',
142
132
  'zeni_reimbursements',
143
- 'zeni_treasury',
144
- 'zeni_cards',
145
133
  ];
146
134
  }
147
135
  else if (isOtherProductsEnabled) {
@@ -51,9 +51,9 @@ const toOnboardingCustomerPayload = (onboardingCustomer, sendInvite, company, te
51
51
  const isTreasury = selectedProducts.includes('zeni_treasury');
52
52
  if (isBookkeeping) {
53
53
  onboardingCustomerPayload.is_book_keeping_enabled = true;
54
- onboardingCustomerPayload.is_banking_enabled = true;
54
+ onboardingCustomerPayload.is_banking_enabled = isChecking;
55
55
  onboardingCustomerPayload.is_spend_management_enabled = true;
56
- onboardingCustomerPayload.is_card_enabled = true;
56
+ onboardingCustomerPayload.is_card_enabled = isCards;
57
57
  onboardingCustomerPayload.is_treasury_enabled = isTreasury;
58
58
  }
59
59
  else if (isChecking && isCards) {