@zeniai/client-epic-state 5.0.65-betaRR2 → 5.0.65-betaRR3
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.
|
@@ -2,13 +2,23 @@ import { of } from 'rxjs';
|
|
|
2
2
|
import { catchError, filter, mergeMap } from 'rxjs/operators';
|
|
3
3
|
import { createZeniAPIStatus, isSuccessResponse } from '../../../responsePayload';
|
|
4
4
|
import { fetchSuggestedQuestions, fetchSuggestedQuestionsFailure, fetchSuggestedQuestionsSuccess, } from '../aiCfoViewReducer';
|
|
5
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* GET {aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?page_context=...
|
|
7
|
+
*
|
|
8
|
+
* Appends `&no_card_created=true` when the action payload sets
|
|
9
|
+
* `noCardCreated: true` (AI Card Creation flow on the cards list — the tenant
|
|
10
|
+
* has not yet created any card). Any other value omits the flag entirely so
|
|
11
|
+
* the existing call sites continue to issue the unchanged request.
|
|
12
|
+
*/
|
|
6
13
|
export const fetchSuggestedQuestionsEpic = (actions$, _state$, zeniAPI) => actions$.pipe(filter(fetchSuggestedQuestions.match),
|
|
7
14
|
// mergeMap (not switchMap): each page_context is keyed separately in Redux; switchMap
|
|
8
15
|
// would cancel in-flight HTTP for context A when B is requested, leaving A stuck In-Progress.
|
|
9
16
|
mergeMap((action) => {
|
|
10
|
-
const { pageContext } = action.payload;
|
|
17
|
+
const { pageContext, noCardCreated } = action.payload;
|
|
11
18
|
const query = new URLSearchParams({ page_context: pageContext });
|
|
19
|
+
if (noCardCreated === true) {
|
|
20
|
+
query.set('no_card_created', 'true');
|
|
21
|
+
}
|
|
12
22
|
const url = `${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?${query.toString()}`;
|
|
13
23
|
return zeniAPI.getJSON(url).pipe(mergeMap((response) => {
|
|
14
24
|
if (isSuccessResponse(response) && response.data != null) {
|
|
@@ -92,6 +92,13 @@ export declare const submitQuestion: import("@reduxjs/toolkit").ActionCreatorWit
|
|
|
92
92
|
questionAnswerId: ID;
|
|
93
93
|
}, "aiCfoView/updateCotCollapsedState">, fetchSuggestedQuestions: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
94
94
|
pageContext: AiCfoSuggestedQuestionsPageContext;
|
|
95
|
+
/**
|
|
96
|
+
* AI Card Creation flow: when true, the epic appends `&no_card_created=true`
|
|
97
|
+
* so the backend tailors prompts for a tenant that has not yet created a
|
|
98
|
+
* card. The bucket key is unchanged (`pageContext`); see
|
|
99
|
+
* `useFetchSuggestedQuestionsWhenReady` for the refetch-on-flag-flip rule.
|
|
100
|
+
*/
|
|
101
|
+
noCardCreated?: boolean;
|
|
95
102
|
}, "aiCfoView/fetchSuggestedQuestions">, fetchSuggestedQuestionsSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
96
103
|
generatedAt: string;
|
|
97
104
|
pageContext: AiCfoSuggestedQuestionsPageContext;
|
|
@@ -4,5 +4,12 @@ import { RootState } from '../../../reducer';
|
|
|
4
4
|
import { ZeniAPI } from '../../../zeniAPI';
|
|
5
5
|
import { fetchSuggestedQuestions, fetchSuggestedQuestionsFailure, fetchSuggestedQuestionsSuccess } from '../aiCfoViewReducer';
|
|
6
6
|
export type ActionType = ReturnType<typeof fetchSuggestedQuestions> | ReturnType<typeof fetchSuggestedQuestionsSuccess> | ReturnType<typeof fetchSuggestedQuestionsFailure>;
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* GET {aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?page_context=...
|
|
9
|
+
*
|
|
10
|
+
* Appends `&no_card_created=true` when the action payload sets
|
|
11
|
+
* `noCardCreated: true` (AI Card Creation flow on the cards list — the tenant
|
|
12
|
+
* has not yet created any card). Any other value omits the flag entirely so
|
|
13
|
+
* the existing call sites continue to issue the unchanged request.
|
|
14
|
+
*/
|
|
8
15
|
export declare const fetchSuggestedQuestionsEpic: (actions$: ActionsObservable<ActionType>, _state$: StateObservable<RootState>, zeniAPI: ZeniAPI) => Observable<ActionType>;
|
|
@@ -5,13 +5,23 @@ const rxjs_1 = require("rxjs");
|
|
|
5
5
|
const operators_1 = require("rxjs/operators");
|
|
6
6
|
const responsePayload_1 = require("../../../responsePayload");
|
|
7
7
|
const aiCfoViewReducer_1 = require("../aiCfoViewReducer");
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* GET {aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?page_context=...
|
|
10
|
+
*
|
|
11
|
+
* Appends `&no_card_created=true` when the action payload sets
|
|
12
|
+
* `noCardCreated: true` (AI Card Creation flow on the cards list — the tenant
|
|
13
|
+
* has not yet created any card). Any other value omits the flag entirely so
|
|
14
|
+
* the existing call sites continue to issue the unchanged request.
|
|
15
|
+
*/
|
|
9
16
|
const fetchSuggestedQuestionsEpic = (actions$, _state$, zeniAPI) => actions$.pipe((0, operators_1.filter)(aiCfoViewReducer_1.fetchSuggestedQuestions.match),
|
|
10
17
|
// mergeMap (not switchMap): each page_context is keyed separately in Redux; switchMap
|
|
11
18
|
// would cancel in-flight HTTP for context A when B is requested, leaving A stuck In-Progress.
|
|
12
19
|
(0, operators_1.mergeMap)((action) => {
|
|
13
|
-
const { pageContext } = action.payload;
|
|
20
|
+
const { pageContext, noCardCreated } = action.payload;
|
|
14
21
|
const query = new URLSearchParams({ page_context: pageContext });
|
|
22
|
+
if (noCardCreated === true) {
|
|
23
|
+
query.set('no_card_created', 'true');
|
|
24
|
+
}
|
|
15
25
|
const url = `${zeniAPI.apiEndPoints.aiCfoMicroServiceBaseUrl}/1.0/suggested-questions?${query.toString()}`;
|
|
16
26
|
return zeniAPI.getJSON(url).pipe((0, operators_1.mergeMap)((response) => {
|
|
17
27
|
if ((0, responsePayload_1.isSuccessResponse)(response) && response.data != null) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "5.0.65-
|
|
3
|
+
"version": "5.0.65-betaRR3",
|
|
4
4
|
"description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/esm/index.js",
|