@iblai/data-layer 1.30.3 → 1.32.0

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.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iblai/data-layer",
3
- "version": "1.30.2",
3
+ "version": "1.31.0",
4
4
  "description": "ibl.ai data layer",
5
5
  "main": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,3 +1,4 @@
1
+ import type { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit';
1
2
  import { type PinnedMessageGet, type PinnedMessageRequest } from '@iblai/iblai-api';
2
3
  export type RecentMessagesArgs = {
3
4
  org: string;
@@ -26,6 +27,12 @@ export declare const getNextRecentMessagesPageParam: (lastPage: RecentMessagesPa
26
27
  * LimitOffsetPagination (`limit`/`offset`), not page numbers.
27
28
  */
28
29
  export declare const buildRecentMessagesUrl: (args: RecentMessagesArgs, pageParam: number) => string;
30
+ /**
31
+ * The session id of the first recent-messages row, or `null` when there is
32
+ * none. Assumes the endpoint lists newest first (not yet confirmed by the
33
+ * backend) — this is the one place to change if that, or the source, changes.
34
+ */
35
+ export declare const latestSessionIdFrom: (body: unknown) => string | null;
29
36
  export type PinnedMessagesArgs = {
30
37
  org: string;
31
38
  userId: string;
@@ -89,6 +96,21 @@ export declare const chatApiSlice: import("@reduxjs/toolkit/query").Api<import("
89
96
  attempt?: number;
90
97
  } & import("@reduxjs/toolkit/query").RetryOptions, {}>, "pinnedMessages" | "recentMessages" | "messageFeedback", import("@iblai/iblai-api").AudioToTextResponse, "chatApiSlice", any>;
91
98
  }, "chatApiSlice", "pinnedMessages" | "recentMessages" | "messageFeedback", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
99
+ export type LatestMentorSessionArgs = {
100
+ org: string;
101
+ userId: string;
102
+ mentor: string;
103
+ };
104
+ /**
105
+ * The user's latest session with an agent, read from page 0 of the same
106
+ * `getRecentMessages` entry the chat-history sidebar subscribes to (`search: ''`
107
+ * is its idle search box), so an agent open costs one request, not two.
108
+ * `forceRefetch` in seconds is the time since `openedAt`: an entry fulfilled
109
+ * before this open is refetched (another device may have started a chat since),
110
+ * one fulfilled after it is reused, and one in flight is joined — RTK never
111
+ * starts a second request for a pending entry.
112
+ */
113
+ export declare const fetchLatestMentorSessionId: ({ org, userId, mentor }: LatestMentorSessionArgs, openedAt: number) => (dispatch: ThunkDispatch<unknown, unknown, UnknownAction>) => Promise<string | null>;
92
114
  export declare const useLazyGetPinnedMessagesQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
93
115
  status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
94
116
  originalArgs?: undefined | undefined;
@@ -1,4 +1,4 @@
1
- import { PlatformApplicationAdminDetail, PlatformApplicationBlock, PlatformApplicationCourseAssignment, PlatformApplicationFormRecord, PlatformApplicationNote, PlatformApplicationPipelineResponse, PlatformApplicationPipelineStats, PlatformApplicationPlacement, PlatformApplicationStatusResponse, PlatformUserGroupDetailsResponse, PlatformUserPolicyUpdateRequest, PlatformUsersListResponse } from './types';
1
+ import { PlatformApplicationAdminDetail, PlatformApplicationBlock, PlatformApplicationCourseAssignment, PlatformApplicationFormRecord, PlatformApplicationNote, PlatformApplicationPipelineResponse, PlatformApplicationPipelineStats, PlatformApplicationPlacement, PlatformApplicationStatusResponse, PlatformUserGroupDetailsResponse, PlatformUserPolicyUpdateRequest, PlatformUsersListResponse, UserPlatformLink } from './types';
2
2
  export interface InviteUserRequest {
3
3
  email: string;
4
4
  platform_key: string;
@@ -43,6 +43,19 @@ export declare const platformApiSlice: import("@reduxjs/toolkit/query").Api<impo
43
43
  }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
44
44
  attempt?: number;
45
45
  } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, any, "platform-api", any>;
46
+ /**
47
+ * The platforms a user is linked to. Each link carries `is_default`, so the
48
+ * caller's default platform can be read from this list without a second
49
+ * call to `/api/core/users/platforms/default/`.
50
+ *
51
+ * The pinned client's `UserPlatformLink` predates that field, hence the
52
+ * cast to the local type.
53
+ */
54
+ userPlatforms: import("@reduxjs/toolkit/query").QueryDefinition<{
55
+ username: string;
56
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
57
+ attempt?: number;
58
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>;
46
59
  platformUsers: import("@reduxjs/toolkit/query").QueryDefinition<{
47
60
  platform_key: string;
48
61
  page?: number;
@@ -11158,4 +11171,345 @@ export declare const useUsersGradesPassedQuery: <R extends Record<string, any> =
11158
11171
  email?: string;
11159
11172
  } | undefined;
11160
11173
  reset: () => void;
11174
+ }], useUserPlatformsQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
11175
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
11176
+ originalArgs?: undefined | undefined;
11177
+ data?: undefined | undefined;
11178
+ error?: undefined | undefined;
11179
+ requestId?: undefined | undefined;
11180
+ endpointName?: string | undefined;
11181
+ startedTimeStamp?: undefined | undefined;
11182
+ fulfilledTimeStamp?: undefined | undefined;
11183
+ } & {
11184
+ currentData?: UserPlatformLink[] | undefined;
11185
+ isUninitialized: false;
11186
+ isLoading: false;
11187
+ isFetching: false;
11188
+ isSuccess: false;
11189
+ isError: false;
11190
+ }, "isUninitialized"> & {
11191
+ isUninitialized: true;
11192
+ }) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11193
+ username: string;
11194
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11195
+ attempt?: number;
11196
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11197
+ currentData?: UserPlatformLink[] | undefined;
11198
+ isUninitialized: false;
11199
+ isLoading: false;
11200
+ isFetching: false;
11201
+ isSuccess: false;
11202
+ isError: false;
11203
+ }, {
11204
+ isLoading: true;
11205
+ isFetching: boolean;
11206
+ data: undefined;
11207
+ } | ({
11208
+ isSuccess: true;
11209
+ isFetching: true;
11210
+ error: undefined;
11211
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11212
+ username: string;
11213
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11214
+ attempt?: number;
11215
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11216
+ currentData?: UserPlatformLink[] | undefined;
11217
+ isUninitialized: false;
11218
+ isLoading: false;
11219
+ isFetching: false;
11220
+ isSuccess: false;
11221
+ isError: false;
11222
+ }, "data" | "fulfilledTimeStamp">>) | ({
11223
+ isSuccess: true;
11224
+ isFetching: false;
11225
+ error: undefined;
11226
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11227
+ username: string;
11228
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11229
+ attempt?: number;
11230
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11231
+ currentData?: UserPlatformLink[] | undefined;
11232
+ isUninitialized: false;
11233
+ isLoading: false;
11234
+ isFetching: false;
11235
+ isSuccess: false;
11236
+ isError: false;
11237
+ }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
11238
+ isError: true;
11239
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11240
+ username: string;
11241
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11242
+ attempt?: number;
11243
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11244
+ currentData?: UserPlatformLink[] | undefined;
11245
+ isUninitialized: false;
11246
+ isLoading: false;
11247
+ isFetching: false;
11248
+ isSuccess: false;
11249
+ isError: false;
11250
+ }, "error">>)>> & {
11251
+ status: import("@reduxjs/toolkit/query").QueryStatus;
11252
+ }>(arg: {
11253
+ username: string;
11254
+ } | typeof import("@reduxjs/toolkit/query").skipToken, options?: (import("@reduxjs/toolkit/query").SubscriptionOptions & {
11255
+ skip?: boolean;
11256
+ refetchOnMountOrArgChange?: boolean | number;
11257
+ } & {
11258
+ skip?: boolean;
11259
+ selectFromResult?: ((state: import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
11260
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
11261
+ originalArgs?: undefined | undefined;
11262
+ data?: undefined | undefined;
11263
+ error?: undefined | undefined;
11264
+ requestId?: undefined | undefined;
11265
+ endpointName?: string | undefined;
11266
+ startedTimeStamp?: undefined | undefined;
11267
+ fulfilledTimeStamp?: undefined | undefined;
11268
+ } & {
11269
+ currentData?: UserPlatformLink[] | undefined;
11270
+ isUninitialized: false;
11271
+ isLoading: false;
11272
+ isFetching: false;
11273
+ isSuccess: false;
11274
+ isError: false;
11275
+ }, "isUninitialized"> & {
11276
+ isUninitialized: true;
11277
+ }) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11278
+ username: string;
11279
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11280
+ attempt?: number;
11281
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11282
+ currentData?: UserPlatformLink[] | undefined;
11283
+ isUninitialized: false;
11284
+ isLoading: false;
11285
+ isFetching: false;
11286
+ isSuccess: false;
11287
+ isError: false;
11288
+ }, {
11289
+ isLoading: true;
11290
+ isFetching: boolean;
11291
+ data: undefined;
11292
+ } | ({
11293
+ isSuccess: true;
11294
+ isFetching: true;
11295
+ error: undefined;
11296
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11297
+ username: string;
11298
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11299
+ attempt?: number;
11300
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11301
+ currentData?: UserPlatformLink[] | undefined;
11302
+ isUninitialized: false;
11303
+ isLoading: false;
11304
+ isFetching: false;
11305
+ isSuccess: false;
11306
+ isError: false;
11307
+ }, "data" | "fulfilledTimeStamp">>) | ({
11308
+ isSuccess: true;
11309
+ isFetching: false;
11310
+ error: undefined;
11311
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11312
+ username: string;
11313
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11314
+ attempt?: number;
11315
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11316
+ currentData?: UserPlatformLink[] | undefined;
11317
+ isUninitialized: false;
11318
+ isLoading: false;
11319
+ isFetching: false;
11320
+ isSuccess: false;
11321
+ isError: false;
11322
+ }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
11323
+ isError: true;
11324
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11325
+ username: string;
11326
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11327
+ attempt?: number;
11328
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11329
+ currentData?: UserPlatformLink[] | undefined;
11330
+ isUninitialized: false;
11331
+ isLoading: false;
11332
+ isFetching: false;
11333
+ isSuccess: false;
11334
+ isError: false;
11335
+ }, "error">>)>> & {
11336
+ status: import("@reduxjs/toolkit/query").QueryStatus;
11337
+ }) => R) | undefined;
11338
+ }) | undefined) => [R][R extends any ? 0 : never] & {
11339
+ refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<{
11340
+ username: string;
11341
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11342
+ attempt?: number;
11343
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>>;
11344
+ }, useLazyUserPlatformsQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
11345
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
11346
+ originalArgs?: undefined | undefined;
11347
+ data?: undefined | undefined;
11348
+ error?: undefined | undefined;
11349
+ requestId?: undefined | undefined;
11350
+ endpointName?: string | undefined;
11351
+ startedTimeStamp?: undefined | undefined;
11352
+ fulfilledTimeStamp?: undefined | undefined;
11353
+ } & {
11354
+ currentData?: UserPlatformLink[] | undefined;
11355
+ isUninitialized: false;
11356
+ isLoading: false;
11357
+ isFetching: false;
11358
+ isSuccess: false;
11359
+ isError: false;
11360
+ }, "isUninitialized"> & {
11361
+ isUninitialized: true;
11362
+ }) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11363
+ username: string;
11364
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11365
+ attempt?: number;
11366
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11367
+ currentData?: UserPlatformLink[] | undefined;
11368
+ isUninitialized: false;
11369
+ isLoading: false;
11370
+ isFetching: false;
11371
+ isSuccess: false;
11372
+ isError: false;
11373
+ }, {
11374
+ isLoading: true;
11375
+ isFetching: boolean;
11376
+ data: undefined;
11377
+ } | ({
11378
+ isSuccess: true;
11379
+ isFetching: true;
11380
+ error: undefined;
11381
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11382
+ username: string;
11383
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11384
+ attempt?: number;
11385
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11386
+ currentData?: UserPlatformLink[] | undefined;
11387
+ isUninitialized: false;
11388
+ isLoading: false;
11389
+ isFetching: false;
11390
+ isSuccess: false;
11391
+ isError: false;
11392
+ }, "data" | "fulfilledTimeStamp">>) | ({
11393
+ isSuccess: true;
11394
+ isFetching: false;
11395
+ error: undefined;
11396
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11397
+ username: string;
11398
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11399
+ attempt?: number;
11400
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11401
+ currentData?: UserPlatformLink[] | undefined;
11402
+ isUninitialized: false;
11403
+ isLoading: false;
11404
+ isFetching: false;
11405
+ isSuccess: false;
11406
+ isError: false;
11407
+ }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
11408
+ isError: true;
11409
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11410
+ username: string;
11411
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11412
+ attempt?: number;
11413
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11414
+ currentData?: UserPlatformLink[] | undefined;
11415
+ isUninitialized: false;
11416
+ isLoading: false;
11417
+ isFetching: false;
11418
+ isSuccess: false;
11419
+ isError: false;
11420
+ }, "error">>)>> & {
11421
+ status: import("@reduxjs/toolkit/query").QueryStatus;
11422
+ }>(options?: (import("@reduxjs/toolkit/query").SubscriptionOptions & Omit<{
11423
+ skip?: boolean;
11424
+ selectFromResult?: ((state: import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
11425
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
11426
+ originalArgs?: undefined | undefined;
11427
+ data?: undefined | undefined;
11428
+ error?: undefined | undefined;
11429
+ requestId?: undefined | undefined;
11430
+ endpointName?: string | undefined;
11431
+ startedTimeStamp?: undefined | undefined;
11432
+ fulfilledTimeStamp?: undefined | undefined;
11433
+ } & {
11434
+ currentData?: UserPlatformLink[] | undefined;
11435
+ isUninitialized: false;
11436
+ isLoading: false;
11437
+ isFetching: false;
11438
+ isSuccess: false;
11439
+ isError: false;
11440
+ }, "isUninitialized"> & {
11441
+ isUninitialized: true;
11442
+ }) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11443
+ username: string;
11444
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11445
+ attempt?: number;
11446
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11447
+ currentData?: UserPlatformLink[] | undefined;
11448
+ isUninitialized: false;
11449
+ isLoading: false;
11450
+ isFetching: false;
11451
+ isSuccess: false;
11452
+ isError: false;
11453
+ }, {
11454
+ isLoading: true;
11455
+ isFetching: boolean;
11456
+ data: undefined;
11457
+ } | ({
11458
+ isSuccess: true;
11459
+ isFetching: true;
11460
+ error: undefined;
11461
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11462
+ username: string;
11463
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11464
+ attempt?: number;
11465
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11466
+ currentData?: UserPlatformLink[] | undefined;
11467
+ isUninitialized: false;
11468
+ isLoading: false;
11469
+ isFetching: false;
11470
+ isSuccess: false;
11471
+ isError: false;
11472
+ }, "data" | "fulfilledTimeStamp">>) | ({
11473
+ isSuccess: true;
11474
+ isFetching: false;
11475
+ error: undefined;
11476
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11477
+ username: string;
11478
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11479
+ attempt?: number;
11480
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11481
+ currentData?: UserPlatformLink[] | undefined;
11482
+ isUninitialized: false;
11483
+ isLoading: false;
11484
+ isFetching: false;
11485
+ isSuccess: false;
11486
+ isError: false;
11487
+ }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
11488
+ isError: true;
11489
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<{
11490
+ username: string;
11491
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11492
+ attempt?: number;
11493
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>> & {
11494
+ currentData?: UserPlatformLink[] | undefined;
11495
+ isUninitialized: false;
11496
+ isLoading: false;
11497
+ isFetching: false;
11498
+ isSuccess: false;
11499
+ isError: false;
11500
+ }, "error">>)>> & {
11501
+ status: import("@reduxjs/toolkit/query").QueryStatus;
11502
+ }) => R) | undefined;
11503
+ }, "skip">) | undefined) => [(arg: {
11504
+ username: string;
11505
+ }, preferCacheValue?: boolean) => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<{
11506
+ username: string;
11507
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, unknown, unknown, {
11508
+ attempt?: number;
11509
+ } & import("@reduxjs/toolkit/query").RetryOptions, {}>, string, UserPlatformLink[], "platform-api", any>>, [R][R extends any ? 0 : never] & {
11510
+ reset: () => void;
11511
+ }, {
11512
+ lastArg: {
11513
+ username: string;
11514
+ };
11161
11515
  }];
@@ -278,3 +278,35 @@ export interface PlatformApplicationBlock {
278
278
  created_by?: string | null;
279
279
  created?: string;
280
280
  }
281
+ /**
282
+ * One user↔platform link, as returned by the user platform list
283
+ * (`GET /api/core/users/platforms/`).
284
+ *
285
+ * The pinned generated client (@iblai/iblai-api 4.166.0-ai) still carries the
286
+ * older shape of this model, so the fields the API has added since are declared
287
+ * here rather than imported: `is_default` (the user's default platform, also
288
+ * settable through `/api/core/users/platforms/default/`), `show_paywall` and
289
+ * `enable_monetization`. `is_default` is serialized as a string, not a boolean.
290
+ */
291
+ export interface UserPlatformLink {
292
+ user_id: number;
293
+ username: string;
294
+ email: string;
295
+ user_active: boolean;
296
+ key: string;
297
+ org: string;
298
+ platform_name: string;
299
+ lms_url: string;
300
+ cms_url: string;
301
+ portal_url: string;
302
+ is_admin?: boolean;
303
+ is_staff?: boolean;
304
+ added_on?: string | null;
305
+ expired_on?: string | null;
306
+ public: string;
307
+ active?: boolean;
308
+ is_enterprise: string;
309
+ is_default: string;
310
+ show_paywall: boolean;
311
+ enable_monetization: boolean;
312
+ }