@iblai/web-utils 1.10.5 → 1.10.7

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,3 +1,4 @@
1
+ import { type PinnedMessageRequest } from '@iblai/iblai-api';
1
2
  export declare const chatApiSlice: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
2
3
  attempt?: number;
3
4
  } & import("@reduxjs/toolkit/query").RetryOptions, {}>, {
@@ -9,12 +10,14 @@ export declare const chatApiSlice: import("@reduxjs/toolkit/query").Api<import("
9
10
  } & import("@reduxjs/toolkit/query").RetryOptions, {}>, "pinnedMessages" | "recentMessages" | "messageFeedback", import("node_modules/@iblai/iblai-api/dist/types").PinnedMessageGet[], "chatApiSlice", any>;
10
11
  unPinMessage: import("@reduxjs/toolkit/query").MutationDefinition<{
11
12
  org: string;
13
+ userId: string;
14
+ requestBody: PinnedMessageRequest;
12
15
  }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
13
16
  attempt?: number;
14
- } & import("@reduxjs/toolkit/query").RetryOptions, {}>, "pinnedMessages" | "recentMessages" | "messageFeedback", void, "chatApiSlice", any>;
17
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, "pinnedMessages" | "recentMessages" | "messageFeedback", unknown, "chatApiSlice", any>;
15
18
  addPinnedMessage: import("@reduxjs/toolkit/query").MutationDefinition<{
16
19
  org: string;
17
- requestBody: import("node_modules/@iblai/iblai-api/dist/types").PinnedMessageRequest;
20
+ requestBody: PinnedMessageRequest;
18
21
  }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
19
22
  attempt?: number;
20
23
  } & import("@reduxjs/toolkit/query").RetryOptions, {}>, "pinnedMessages" | "recentMessages" | "messageFeedback", import("node_modules/@iblai/iblai-api/dist/types").PinnedMessageCreate, "chatApiSlice", any>;
@@ -248,14 +251,14 @@ export declare const useLazyGetPinnedMessagesQuery: <R extends Record<string, an
248
251
  status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
249
252
  } & Omit<{
250
253
  requestId: string;
251
- data?: void | undefined;
254
+ data?: unknown;
252
255
  error?: unknown;
253
256
  endpointName: string;
254
257
  startedTimeStamp: number;
255
258
  fulfilledTimeStamp?: number;
256
259
  }, "data" | "fulfilledTimeStamp"> & Required<Pick<{
257
260
  requestId: string;
258
- data?: void | undefined;
261
+ data?: unknown;
259
262
  error?: unknown;
260
263
  endpointName: string;
261
264
  startedTimeStamp: number;
@@ -272,7 +275,7 @@ export declare const useLazyGetPinnedMessagesQuery: <R extends Record<string, an
272
275
  status: import("@reduxjs/toolkit/query").QueryStatus.pending;
273
276
  } & {
274
277
  requestId: string;
275
- data?: void | undefined;
278
+ data?: unknown;
276
279
  error?: unknown;
277
280
  endpointName: string;
278
281
  startedTimeStamp: number;
@@ -289,14 +292,14 @@ export declare const useLazyGetPinnedMessagesQuery: <R extends Record<string, an
289
292
  status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
290
293
  } & Omit<{
291
294
  requestId: string;
292
- data?: void | undefined;
295
+ data?: unknown;
293
296
  error?: unknown;
294
297
  endpointName: string;
295
298
  startedTimeStamp: number;
296
299
  fulfilledTimeStamp?: number;
297
300
  }, "error"> & Required<Pick<{
298
301
  requestId: string;
299
- data?: void | undefined;
302
+ data?: unknown;
300
303
  error?: unknown;
301
304
  endpointName: string;
302
305
  startedTimeStamp: number;
@@ -326,14 +329,14 @@ export declare const useLazyGetPinnedMessagesQuery: <R extends Record<string, an
326
329
  status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
327
330
  } & Omit<{
328
331
  requestId: string;
329
- data?: void | undefined;
332
+ data?: unknown;
330
333
  error?: unknown;
331
334
  endpointName: string;
332
335
  startedTimeStamp: number;
333
336
  fulfilledTimeStamp?: number;
334
337
  }, "data" | "fulfilledTimeStamp"> & Required<Pick<{
335
338
  requestId: string;
336
- data?: void | undefined;
339
+ data?: unknown;
337
340
  error?: unknown;
338
341
  endpointName: string;
339
342
  startedTimeStamp: number;
@@ -350,7 +353,7 @@ export declare const useLazyGetPinnedMessagesQuery: <R extends Record<string, an
350
353
  status: import("@reduxjs/toolkit/query").QueryStatus.pending;
351
354
  } & {
352
355
  requestId: string;
353
- data?: void | undefined;
356
+ data?: unknown;
354
357
  error?: unknown;
355
358
  endpointName: string;
356
359
  startedTimeStamp: number;
@@ -367,14 +370,14 @@ export declare const useLazyGetPinnedMessagesQuery: <R extends Record<string, an
367
370
  status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
368
371
  } & Omit<{
369
372
  requestId: string;
370
- data?: void | undefined;
373
+ data?: unknown;
371
374
  error?: unknown;
372
375
  endpointName: string;
373
376
  startedTimeStamp: number;
374
377
  fulfilledTimeStamp?: number;
375
378
  }, "error"> & Required<Pick<{
376
379
  requestId: string;
377
- data?: void | undefined;
380
+ data?: unknown;
378
381
  error?: unknown;
379
382
  endpointName: string;
380
383
  startedTimeStamp: number;
@@ -389,13 +392,19 @@ export declare const useLazyGetPinnedMessagesQuery: <R extends Record<string, an
389
392
  fixedCacheKey?: string;
390
393
  } | undefined) => readonly [(arg: {
391
394
  org: string;
395
+ userId: string;
396
+ requestBody: PinnedMessageRequest;
392
397
  }) => import("@reduxjs/toolkit/query").MutationActionCreatorResult<import("@reduxjs/toolkit/query").MutationDefinition<{
393
398
  org: string;
399
+ userId: string;
400
+ requestBody: PinnedMessageRequest;
394
401
  }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
395
402
  attempt?: number;
396
- } & import("@reduxjs/toolkit/query").RetryOptions, {}>, "pinnedMessages" | "recentMessages" | "messageFeedback", void, "chatApiSlice", any>>, import("@reduxjs/toolkit/query").TSHelpersNoInfer<R> & {
403
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, "pinnedMessages" | "recentMessages" | "messageFeedback", unknown, "chatApiSlice", any>>, import("@reduxjs/toolkit/query").TSHelpersNoInfer<R> & {
397
404
  originalArgs?: {
398
405
  org: string;
406
+ userId: string;
407
+ requestBody: PinnedMessageRequest;
399
408
  } | undefined;
400
409
  reset: () => void;
401
410
  }], useDeleteMessageMutation: <R extends Record<string, any> = ({
@@ -908,16 +917,16 @@ export declare const useLazyGetPinnedMessagesQuery: <R extends Record<string, an
908
917
  fixedCacheKey?: string;
909
918
  } | undefined) => readonly [(arg: {
910
919
  org: string;
911
- requestBody: import("node_modules/@iblai/iblai-api/dist/types").PinnedMessageRequest;
920
+ requestBody: PinnedMessageRequest;
912
921
  }) => import("@reduxjs/toolkit/query").MutationActionCreatorResult<import("@reduxjs/toolkit/query").MutationDefinition<{
913
922
  org: string;
914
- requestBody: import("node_modules/@iblai/iblai-api/dist/types").PinnedMessageRequest;
923
+ requestBody: PinnedMessageRequest;
915
924
  }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
916
925
  attempt?: number;
917
926
  } & import("@reduxjs/toolkit/query").RetryOptions, {}>, "pinnedMessages" | "recentMessages" | "messageFeedback", import("node_modules/@iblai/iblai-api/dist/types").PinnedMessageCreate, "chatApiSlice", any>>, import("@reduxjs/toolkit/query").TSHelpersNoInfer<R> & {
918
927
  originalArgs?: {
919
928
  org: string;
920
- requestBody: import("node_modules/@iblai/iblai-api/dist/types").PinnedMessageRequest;
929
+ requestBody: PinnedMessageRequest;
921
930
  } | undefined;
922
931
  reset: () => void;
923
932
  }], useGetVectorDocumentsQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
@@ -15,30 +15,39 @@ export declare const getServiceUrl: (service: SERVICES) => string;
15
15
  export declare const getHeaders: (service: SERVICES) => Promise<{
16
16
  Authorization: string;
17
17
  } | undefined>;
18
+ /**
19
+ * Options for the `buildEndpointFrom*Service` builders.
20
+ *
21
+ * - `maxRetries`: overrides the default retry count.
22
+ * - `expectedErrorStatuses`: statuses that are an EXPECTED empty state for this
23
+ * endpoint (e.g. a 404 for a resource that only exists after a POST). For
24
+ * these statuses we skip retries (fail fast) and log via `console.warn`
25
+ * instead of `console.error`, so they don't escalate to Sentry error alerts.
26
+ * The returned `{ error }` shape is unchanged. Defaults to `[]`, so existing
27
+ * endpoints behave exactly as before.
28
+ */
29
+ type BuildEndpointOptions = {
30
+ maxRetries?: number;
31
+ expectedErrorStatuses?: number[];
32
+ };
18
33
  /**
19
34
  * Build a generic RTK Query endpoint from a service function.
20
35
  * Includes built-in retry with exponential backoff (since RTK Query
21
36
  * skips baseQuery retry for queryFn endpoints).
22
37
  */
23
- export declare const buildEndpointFromService: <Args extends Record<string, unknown>, Result>(service: SERVICES, serviceFn: (args: Args) => Promise<Result>, options?: {
24
- maxRetries?: number;
25
- }) => {
38
+ export declare const buildEndpointFromService: <Args extends Record<string, unknown>, Result>(service: SERVICES, serviceFn: (args: Args) => Promise<Result>, options?: BuildEndpointOptions) => {
26
39
  queryFn: BaseQueryFn<Args, Result, FetchBaseQueryError | CustomError>;
27
40
  };
28
41
  /**
29
42
  * Shortcut for building an endpoint using the DM service.
30
43
  */
31
- export declare const buildEndpointFromDmService: <Args extends Record<string, unknown>, Result>(serviceFn: (args: Args) => Promise<Result>, options?: {
32
- maxRetries?: number;
33
- }) => {
44
+ export declare const buildEndpointFromDmService: <Args extends Record<string, unknown>, Result>(serviceFn: (args: Args) => Promise<Result>, options?: BuildEndpointOptions) => {
34
45
  queryFn: BaseQueryFn<Args, Result, FetchBaseQueryError | CustomError>;
35
46
  };
36
47
  /**
37
48
  * Shortcut for building an endpoint using the AXD service.
38
49
  */
39
- export declare const buildEndpointFromAxdService: <Args extends Record<string, unknown>, Result>(serviceFn: (args: Args) => Promise<Result>, options?: {
40
- maxRetries?: number;
41
- }) => {
50
+ export declare const buildEndpointFromAxdService: <Args extends Record<string, unknown>, Result>(serviceFn: (args: Args) => Promise<Result>, options?: BuildEndpointOptions) => {
42
51
  queryFn: BaseQueryFn<Args, Result, FetchBaseQueryError | CustomError>;
43
52
  };
44
53
  export interface CustomQueryArgs extends Omit<FetchArgs, 'url'> {
@@ -61,24 +70,18 @@ export declare const iblFetchBaseQuery: BaseQueryFn<CustomQueryArgs, unknown, Ex
61
70
  * Build a generic RTK Query endpoint from a service function (legacy variant).
62
71
  * Includes built-in retry with exponential backoff.
63
72
  */
64
- export declare const buildEndpointFromServiceLegacy: <Args extends any[], Result>(service: SERVICES, serviceFn: (...args: Args) => Promise<Result>, options?: {
65
- maxRetries?: number;
66
- }) => {
73
+ export declare const buildEndpointFromServiceLegacy: <Args extends any[], Result>(service: SERVICES, serviceFn: (...args: Args) => Promise<Result>, options?: BuildEndpointOptions) => {
67
74
  queryFn: BaseQueryFn<Args, Result, FetchBaseQueryError | CustomError>;
68
75
  };
69
76
  /**
70
77
  * Shortcut for building an endpoint using the DM service.
71
78
  */
72
- export declare const buildEndpointFromDmServiceLegacy: <Args extends any[], Result>(serviceFn: (...args: Args) => Promise<Result>, options?: {
73
- maxRetries?: number;
74
- }) => {
79
+ export declare const buildEndpointFromDmServiceLegacy: <Args extends any[], Result>(serviceFn: (...args: Args) => Promise<Result>, options?: BuildEndpointOptions) => {
75
80
  queryFn: BaseQueryFn<Args, Result, FetchBaseQueryError | CustomError>;
76
81
  };
77
82
  /**
78
83
  * Shortcut for building an endpoint using the AXD service.
79
84
  */
80
- export declare const buildEndpointFromAxdServiceLegacy: <Args extends any[], Result>(serviceFn: (...args: Args) => Promise<Result>, options?: {
81
- maxRetries?: number;
82
- }) => {
85
+ export declare const buildEndpointFromAxdServiceLegacy: <Args extends any[], Result>(serviceFn: (...args: Args) => Promise<Result>, options?: BuildEndpointOptions) => {
83
86
  queryFn: BaseQueryFn<Args, Result, FetchBaseQueryError | CustomError>;
84
87
  };
package/dist/index.d.ts CHANGED
@@ -1025,7 +1025,7 @@ declare const isNode: () => string | false;
1025
1025
  declare const isExpo: () => any;
1026
1026
  declare const isTauri: () => boolean;
1027
1027
  declare function isSafariBrowser(): boolean;
1028
- declare const getPlatform: () => "react-native" | "web" | "node" | "unknown";
1028
+ declare const getPlatform: () => "web" | "react-native" | "node" | "unknown";
1029
1029
  declare const safeRequire: (moduleName: string) => any;
1030
1030
  declare const getNextNavigation: () => any;
1031
1031
 
package/dist/index.esm.js CHANGED
@@ -9701,20 +9701,7 @@ function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, curr
9701
9701
  var _a;
9702
9702
  try {
9703
9703
  await joinTenant({ platform_key: tenantKey }).unwrap();
9704
- const formData = new FormData();
9705
- formData.append("platform_key", tenantKey);
9706
- const { data: newTenants } = await fetchUserTenants();
9707
- const enhancedNewTenants = await enhanceTenants(newTenants, tenantMetadata);
9708
- const { data: tokenResponse } = await getAppToken(formData).unwrap();
9709
- saveUserTokens === null || saveUserTokens === void 0 ? void 0 : saveUserTokens(tokenResponse);
9710
- saveCurrentTenant(newCurrentTenant);
9711
- if (enhancedNewTenants && enhancedNewTenants.length) {
9712
- saveUserTenants(enhancedNewTenants);
9713
- }
9714
- const rbacPermissions = await loadPlatformPermissions(tenantMetadata.platform_key);
9715
- onLoadPlatformPermissions === null || onLoadPlatformPermissions === void 0 ? void 0 : onLoadPlatformPermissions(rbacPermissions);
9716
9704
  onAutoJoinUserToTenant === null || onAutoJoinUserToTenant === void 0 ? void 0 : onAutoJoinUserToTenant((_a = tenantMetadata.platform_name) !== null && _a !== void 0 ? _a : tenantMetadata === null || tenantMetadata === void 0 ? void 0 : tenantMetadata.platform_key.toUpperCase());
9717
- saveTenant === null || saveTenant === void 0 ? void 0 : saveTenant(tenantKey);
9718
9705
  setUserIsAccessingPublicRoute(false);
9719
9706
  removeVisitingTenant === null || removeVisitingTenant === void 0 ? void 0 : removeVisitingTenant();
9720
9707
  return true;
@@ -9947,7 +9934,10 @@ function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, curr
9947
9934
  setIsLoading(false);
9948
9935
  return;
9949
9936
  }
9950
- await joinAndActivateTenant(tenantKey, data, newCurrentTenant);
9937
+ const joined = await joinAndActivateTenant(tenantKey, data, newCurrentTenant);
9938
+ if (joined) {
9939
+ handleTenantSwitch(tenantKey, true);
9940
+ }
9951
9941
  }
9952
9942
  else {
9953
9943
  if (!currentTenant) {