@speakableio/core 0.1.32 → 0.1.34

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.
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import * as _tanstack_react_query from '@tanstack/react-query';
4
4
  import { QueryClient } from '@tanstack/react-query';
5
5
  import { FirebaseFirestoreTypes, Timestamp } from '@react-native-firebase/firestore';
6
- import { Firestore, getDoc, getDocs, addDoc, setDoc, updateDoc, deleteDoc, runTransaction, writeBatch, doc, collection, query, serverTimestamp, orderBy, limit, startAt, startAfter, endAt, endBefore, Timestamp as Timestamp$1, FieldValue } from 'firebase/firestore';
6
+ import { Firestore, getDoc, getDocs, addDoc, setDoc, updateDoc, deleteDoc, runTransaction, writeBatch, doc, collection, query, serverTimestamp, orderBy, limit, startAt, startAfter, endAt, endBefore, where, Timestamp as Timestamp$1, FieldValue } from 'firebase/firestore';
7
7
 
8
8
  type FirebaseInstance = FirebaseFirestoreTypes.Module | Firestore;
9
9
  interface FirestoreHelpers {
@@ -25,6 +25,7 @@ interface FirestoreHelpers {
25
25
  startAfter: typeof startAfter;
26
26
  endAt: typeof endAt;
27
27
  endBefore: typeof endBefore;
28
+ where: typeof where;
28
29
  }
29
30
  type CustomTimestamp = Timestamp | Timestamp$1;
30
31
  type CallableFunction<T = any, R = any> = (data: T) => Promise<R>;
@@ -277,7 +278,9 @@ declare const createAssignmentRepo: () => {
277
278
  scores: unknown;
278
279
  id: string;
279
280
  } | undefined>;
280
- getAllAssignments: () => Promise<AssignmentWithId[]>;
281
+ getAllAssignments: () => Promise<(AssignmentWithId & {
282
+ id: string;
283
+ })[]>;
281
284
  };
282
285
 
283
286
  declare const assignmentQueryKeys: {
@@ -872,7 +875,9 @@ declare function createFsClientBase({ db, helpers, httpsCallable, logEvent, }: {
872
875
  scores: unknown;
873
876
  id: string;
874
877
  } | undefined>;
875
- getAllAssignments: () => Promise<AssignmentWithId[]>;
878
+ getAllAssignments: () => Promise<(AssignmentWithId & {
879
+ id: string;
880
+ })[]>;
876
881
  };
877
882
  cardRepo: {
878
883
  createCard: (args_0: {
@@ -957,6 +962,9 @@ interface UserProfile {
957
962
  path: string;
958
963
  };
959
964
  displayName: string;
965
+ isTeacher?: boolean;
966
+ isStudent?: boolean;
967
+ roles?: string[];
960
968
  }
961
969
  interface UserAuth {
962
970
  uid: string;
@@ -1018,6 +1026,87 @@ declare function SpeakableProvider({ user, children, queryClient, permissions, f
1018
1026
  }): react_jsx_runtime.JSX.Element | null;
1019
1027
  declare function useSpeakableApi(): FsContext;
1020
1028
 
1029
+ declare const getRespondCardTool: ({ language, standard, }: {
1030
+ language: string;
1031
+ standard: string;
1032
+ }) => {
1033
+ tool_choice: {
1034
+ type: string;
1035
+ function: {
1036
+ name: string;
1037
+ };
1038
+ };
1039
+ tools: {
1040
+ type: string;
1041
+ function: {
1042
+ name: string;
1043
+ description: string;
1044
+ parameters: {
1045
+ type: string;
1046
+ required: string[];
1047
+ properties: {
1048
+ success: {
1049
+ type: string;
1050
+ description: string;
1051
+ };
1052
+ errors: {
1053
+ type: string;
1054
+ items: {
1055
+ type: string;
1056
+ required: string[];
1057
+ properties: {
1058
+ error: {
1059
+ type: string;
1060
+ description: string;
1061
+ };
1062
+ correction: {
1063
+ type: string;
1064
+ description: string;
1065
+ };
1066
+ justification: {
1067
+ type: string;
1068
+ description: string;
1069
+ };
1070
+ grammar_error_type: {
1071
+ type: string;
1072
+ enum: string[];
1073
+ description: string;
1074
+ };
1075
+ };
1076
+ };
1077
+ description: string;
1078
+ };
1079
+ compliments: {
1080
+ type: string;
1081
+ items: {
1082
+ type: string;
1083
+ };
1084
+ description: string;
1085
+ };
1086
+ improvedResponse: {
1087
+ type: string;
1088
+ description: string;
1089
+ };
1090
+ score: {
1091
+ type: string;
1092
+ description: string;
1093
+ };
1094
+ score_justification: {
1095
+ type: string;
1096
+ description: string;
1097
+ };
1098
+ };
1099
+ };
1100
+ };
1101
+ }[];
1102
+ };
1103
+
1104
+ declare function debounce<T extends (...args: any[]) => Promise<any>>(func: T, waitFor: number): (...args: Parameters<T>) => Promise<ReturnType<T>>;
1105
+
1106
+ declare const purify: (word: string) => string;
1107
+ declare const cleanString: (words: string) => string | string[];
1108
+ declare const getWordHash: (word: string, language: string) => string;
1109
+
1021
1110
  declare function useActivity({ id, isAssignment, onAssignmentSubmitted, ltiData, }: {
1022
1111
  id: string;
1023
1112
  isAssignment: boolean;
@@ -1154,6 +1243,1173 @@ declare function useActivity({ id, isAssignment, onAssignmentSubmitted, ltiData,
1154
1243
  };
1155
1244
  };
1156
1245
 
1246
+ interface CreditContract {
1247
+ allocationSource: string;
1248
+ createdAt: string;
1249
+ creditsAllocatedThisPeriod: number;
1250
+ effectivePlanId: string;
1251
+ email: string;
1252
+ isUnlimited: boolean;
1253
+ lastUpdatedAt: string;
1254
+ ownerType: string;
1255
+ periodStart: string;
1256
+ periodEnd: string;
1257
+ planTermEndTimestamp: string | null;
1258
+ sourceDetails: Record<string, unknown>;
1259
+ creditsAvailable?: number;
1260
+ topOffCreditsAvailable?: number;
1261
+ }
1262
+ declare const creditQueryKeys: {
1263
+ userCredits: (uid: string) => readonly ["userCredits", string];
1264
+ };
1265
+ declare const useUserCredits: () => {
1266
+ data: {
1267
+ id: string;
1268
+ userId: string;
1269
+ email: string;
1270
+ effectivePlanId: string;
1271
+ status: string;
1272
+ isUnlimited: boolean;
1273
+ creditsAvailable: number;
1274
+ creditsAllocatedThisPeriod: number;
1275
+ topOffCreditsAvailable: number;
1276
+ topOffCreditsTotal: number;
1277
+ allocationSource: string;
1278
+ sourceDetails: {};
1279
+ periodStart: null;
1280
+ periodEnd: null;
1281
+ planTermEndTimestamp: null;
1282
+ ownerType: string;
1283
+ createdAt: string;
1284
+ lastUpdatedAt: string;
1285
+ } | {
1286
+ totalCreditsAvailable: number;
1287
+ allocationSource: string;
1288
+ createdAt: string;
1289
+ creditsAllocatedThisPeriod: number;
1290
+ effectivePlanId: string;
1291
+ email: string;
1292
+ isUnlimited: boolean;
1293
+ lastUpdatedAt: string;
1294
+ ownerType: string;
1295
+ periodStart: string;
1296
+ periodEnd: string;
1297
+ planTermEndTimestamp: string | null;
1298
+ sourceDetails: Record<string, unknown>;
1299
+ creditsAvailable?: number;
1300
+ topOffCreditsAvailable?: number;
1301
+ id: string;
1302
+ userId?: undefined;
1303
+ status?: undefined;
1304
+ topOffCreditsTotal?: undefined;
1305
+ };
1306
+ error: Error;
1307
+ isError: true;
1308
+ isPending: false;
1309
+ isLoading: false;
1310
+ isLoadingError: false;
1311
+ isRefetchError: true;
1312
+ isSuccess: false;
1313
+ isPlaceholderData: false;
1314
+ status: "error";
1315
+ dataUpdatedAt: number;
1316
+ errorUpdatedAt: number;
1317
+ failureCount: number;
1318
+ failureReason: Error | null;
1319
+ errorUpdateCount: number;
1320
+ isFetched: boolean;
1321
+ isFetchedAfterMount: boolean;
1322
+ isFetching: boolean;
1323
+ isInitialLoading: boolean;
1324
+ isPaused: boolean;
1325
+ isRefetching: boolean;
1326
+ isStale: boolean;
1327
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
1328
+ id: string;
1329
+ userId: string;
1330
+ email: string;
1331
+ effectivePlanId: string;
1332
+ status: string;
1333
+ isUnlimited: boolean;
1334
+ creditsAvailable: number;
1335
+ creditsAllocatedThisPeriod: number;
1336
+ topOffCreditsAvailable: number;
1337
+ topOffCreditsTotal: number;
1338
+ allocationSource: string;
1339
+ sourceDetails: {};
1340
+ periodStart: null;
1341
+ periodEnd: null;
1342
+ planTermEndTimestamp: null;
1343
+ ownerType: string;
1344
+ createdAt: string;
1345
+ lastUpdatedAt: string;
1346
+ } | {
1347
+ totalCreditsAvailable: number;
1348
+ allocationSource: string;
1349
+ createdAt: string;
1350
+ creditsAllocatedThisPeriod: number;
1351
+ effectivePlanId: string;
1352
+ email: string;
1353
+ isUnlimited: boolean;
1354
+ lastUpdatedAt: string;
1355
+ ownerType: string;
1356
+ periodStart: string;
1357
+ periodEnd: string;
1358
+ planTermEndTimestamp: string | null;
1359
+ sourceDetails: Record<string, unknown>;
1360
+ creditsAvailable?: number;
1361
+ topOffCreditsAvailable?: number;
1362
+ id: string;
1363
+ userId?: undefined;
1364
+ status?: undefined;
1365
+ topOffCreditsTotal?: undefined;
1366
+ }, Error>>;
1367
+ fetchStatus: _tanstack_react_query.FetchStatus;
1368
+ promise: Promise<{
1369
+ id: string;
1370
+ userId: string;
1371
+ email: string;
1372
+ effectivePlanId: string;
1373
+ status: string;
1374
+ isUnlimited: boolean;
1375
+ creditsAvailable: number;
1376
+ creditsAllocatedThisPeriod: number;
1377
+ topOffCreditsAvailable: number;
1378
+ topOffCreditsTotal: number;
1379
+ allocationSource: string;
1380
+ sourceDetails: {};
1381
+ periodStart: null;
1382
+ periodEnd: null;
1383
+ planTermEndTimestamp: null;
1384
+ ownerType: string;
1385
+ createdAt: string;
1386
+ lastUpdatedAt: string;
1387
+ } | {
1388
+ totalCreditsAvailable: number;
1389
+ allocationSource: string;
1390
+ createdAt: string;
1391
+ creditsAllocatedThisPeriod: number;
1392
+ effectivePlanId: string;
1393
+ email: string;
1394
+ isUnlimited: boolean;
1395
+ lastUpdatedAt: string;
1396
+ ownerType: string;
1397
+ periodStart: string;
1398
+ periodEnd: string;
1399
+ planTermEndTimestamp: string | null;
1400
+ sourceDetails: Record<string, unknown>;
1401
+ creditsAvailable?: number;
1402
+ topOffCreditsAvailable?: number;
1403
+ id: string;
1404
+ userId?: undefined;
1405
+ status?: undefined;
1406
+ topOffCreditsTotal?: undefined;
1407
+ }>;
1408
+ } | {
1409
+ data: {
1410
+ id: string;
1411
+ userId: string;
1412
+ email: string;
1413
+ effectivePlanId: string;
1414
+ status: string;
1415
+ isUnlimited: boolean;
1416
+ creditsAvailable: number;
1417
+ creditsAllocatedThisPeriod: number;
1418
+ topOffCreditsAvailable: number;
1419
+ topOffCreditsTotal: number;
1420
+ allocationSource: string;
1421
+ sourceDetails: {};
1422
+ periodStart: null;
1423
+ periodEnd: null;
1424
+ planTermEndTimestamp: null;
1425
+ ownerType: string;
1426
+ createdAt: string;
1427
+ lastUpdatedAt: string;
1428
+ } | {
1429
+ totalCreditsAvailable: number;
1430
+ allocationSource: string;
1431
+ createdAt: string;
1432
+ creditsAllocatedThisPeriod: number;
1433
+ effectivePlanId: string;
1434
+ email: string;
1435
+ isUnlimited: boolean;
1436
+ lastUpdatedAt: string;
1437
+ ownerType: string;
1438
+ periodStart: string;
1439
+ periodEnd: string;
1440
+ planTermEndTimestamp: string | null;
1441
+ sourceDetails: Record<string, unknown>;
1442
+ creditsAvailable?: number;
1443
+ topOffCreditsAvailable?: number;
1444
+ id: string;
1445
+ userId?: undefined;
1446
+ status?: undefined;
1447
+ topOffCreditsTotal?: undefined;
1448
+ };
1449
+ error: null;
1450
+ isError: false;
1451
+ isPending: false;
1452
+ isLoading: false;
1453
+ isLoadingError: false;
1454
+ isRefetchError: false;
1455
+ isSuccess: true;
1456
+ isPlaceholderData: false;
1457
+ status: "success";
1458
+ dataUpdatedAt: number;
1459
+ errorUpdatedAt: number;
1460
+ failureCount: number;
1461
+ failureReason: Error | null;
1462
+ errorUpdateCount: number;
1463
+ isFetched: boolean;
1464
+ isFetchedAfterMount: boolean;
1465
+ isFetching: boolean;
1466
+ isInitialLoading: boolean;
1467
+ isPaused: boolean;
1468
+ isRefetching: boolean;
1469
+ isStale: boolean;
1470
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
1471
+ id: string;
1472
+ userId: string;
1473
+ email: string;
1474
+ effectivePlanId: string;
1475
+ status: string;
1476
+ isUnlimited: boolean;
1477
+ creditsAvailable: number;
1478
+ creditsAllocatedThisPeriod: number;
1479
+ topOffCreditsAvailable: number;
1480
+ topOffCreditsTotal: number;
1481
+ allocationSource: string;
1482
+ sourceDetails: {};
1483
+ periodStart: null;
1484
+ periodEnd: null;
1485
+ planTermEndTimestamp: null;
1486
+ ownerType: string;
1487
+ createdAt: string;
1488
+ lastUpdatedAt: string;
1489
+ } | {
1490
+ totalCreditsAvailable: number;
1491
+ allocationSource: string;
1492
+ createdAt: string;
1493
+ creditsAllocatedThisPeriod: number;
1494
+ effectivePlanId: string;
1495
+ email: string;
1496
+ isUnlimited: boolean;
1497
+ lastUpdatedAt: string;
1498
+ ownerType: string;
1499
+ periodStart: string;
1500
+ periodEnd: string;
1501
+ planTermEndTimestamp: string | null;
1502
+ sourceDetails: Record<string, unknown>;
1503
+ creditsAvailable?: number;
1504
+ topOffCreditsAvailable?: number;
1505
+ id: string;
1506
+ userId?: undefined;
1507
+ status?: undefined;
1508
+ topOffCreditsTotal?: undefined;
1509
+ }, Error>>;
1510
+ fetchStatus: _tanstack_react_query.FetchStatus;
1511
+ promise: Promise<{
1512
+ id: string;
1513
+ userId: string;
1514
+ email: string;
1515
+ effectivePlanId: string;
1516
+ status: string;
1517
+ isUnlimited: boolean;
1518
+ creditsAvailable: number;
1519
+ creditsAllocatedThisPeriod: number;
1520
+ topOffCreditsAvailable: number;
1521
+ topOffCreditsTotal: number;
1522
+ allocationSource: string;
1523
+ sourceDetails: {};
1524
+ periodStart: null;
1525
+ periodEnd: null;
1526
+ planTermEndTimestamp: null;
1527
+ ownerType: string;
1528
+ createdAt: string;
1529
+ lastUpdatedAt: string;
1530
+ } | {
1531
+ totalCreditsAvailable: number;
1532
+ allocationSource: string;
1533
+ createdAt: string;
1534
+ creditsAllocatedThisPeriod: number;
1535
+ effectivePlanId: string;
1536
+ email: string;
1537
+ isUnlimited: boolean;
1538
+ lastUpdatedAt: string;
1539
+ ownerType: string;
1540
+ periodStart: string;
1541
+ periodEnd: string;
1542
+ planTermEndTimestamp: string | null;
1543
+ sourceDetails: Record<string, unknown>;
1544
+ creditsAvailable?: number;
1545
+ topOffCreditsAvailable?: number;
1546
+ id: string;
1547
+ userId?: undefined;
1548
+ status?: undefined;
1549
+ topOffCreditsTotal?: undefined;
1550
+ }>;
1551
+ } | {
1552
+ data: undefined;
1553
+ error: Error;
1554
+ isError: true;
1555
+ isPending: false;
1556
+ isLoading: false;
1557
+ isLoadingError: true;
1558
+ isRefetchError: false;
1559
+ isSuccess: false;
1560
+ isPlaceholderData: false;
1561
+ status: "error";
1562
+ dataUpdatedAt: number;
1563
+ errorUpdatedAt: number;
1564
+ failureCount: number;
1565
+ failureReason: Error | null;
1566
+ errorUpdateCount: number;
1567
+ isFetched: boolean;
1568
+ isFetchedAfterMount: boolean;
1569
+ isFetching: boolean;
1570
+ isInitialLoading: boolean;
1571
+ isPaused: boolean;
1572
+ isRefetching: boolean;
1573
+ isStale: boolean;
1574
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
1575
+ id: string;
1576
+ userId: string;
1577
+ email: string;
1578
+ effectivePlanId: string;
1579
+ status: string;
1580
+ isUnlimited: boolean;
1581
+ creditsAvailable: number;
1582
+ creditsAllocatedThisPeriod: number;
1583
+ topOffCreditsAvailable: number;
1584
+ topOffCreditsTotal: number;
1585
+ allocationSource: string;
1586
+ sourceDetails: {};
1587
+ periodStart: null;
1588
+ periodEnd: null;
1589
+ planTermEndTimestamp: null;
1590
+ ownerType: string;
1591
+ createdAt: string;
1592
+ lastUpdatedAt: string;
1593
+ } | {
1594
+ totalCreditsAvailable: number;
1595
+ allocationSource: string;
1596
+ createdAt: string;
1597
+ creditsAllocatedThisPeriod: number;
1598
+ effectivePlanId: string;
1599
+ email: string;
1600
+ isUnlimited: boolean;
1601
+ lastUpdatedAt: string;
1602
+ ownerType: string;
1603
+ periodStart: string;
1604
+ periodEnd: string;
1605
+ planTermEndTimestamp: string | null;
1606
+ sourceDetails: Record<string, unknown>;
1607
+ creditsAvailable?: number;
1608
+ topOffCreditsAvailable?: number;
1609
+ id: string;
1610
+ userId?: undefined;
1611
+ status?: undefined;
1612
+ topOffCreditsTotal?: undefined;
1613
+ }, Error>>;
1614
+ fetchStatus: _tanstack_react_query.FetchStatus;
1615
+ promise: Promise<{
1616
+ id: string;
1617
+ userId: string;
1618
+ email: string;
1619
+ effectivePlanId: string;
1620
+ status: string;
1621
+ isUnlimited: boolean;
1622
+ creditsAvailable: number;
1623
+ creditsAllocatedThisPeriod: number;
1624
+ topOffCreditsAvailable: number;
1625
+ topOffCreditsTotal: number;
1626
+ allocationSource: string;
1627
+ sourceDetails: {};
1628
+ periodStart: null;
1629
+ periodEnd: null;
1630
+ planTermEndTimestamp: null;
1631
+ ownerType: string;
1632
+ createdAt: string;
1633
+ lastUpdatedAt: string;
1634
+ } | {
1635
+ totalCreditsAvailable: number;
1636
+ allocationSource: string;
1637
+ createdAt: string;
1638
+ creditsAllocatedThisPeriod: number;
1639
+ effectivePlanId: string;
1640
+ email: string;
1641
+ isUnlimited: boolean;
1642
+ lastUpdatedAt: string;
1643
+ ownerType: string;
1644
+ periodStart: string;
1645
+ periodEnd: string;
1646
+ planTermEndTimestamp: string | null;
1647
+ sourceDetails: Record<string, unknown>;
1648
+ creditsAvailable?: number;
1649
+ topOffCreditsAvailable?: number;
1650
+ id: string;
1651
+ userId?: undefined;
1652
+ status?: undefined;
1653
+ topOffCreditsTotal?: undefined;
1654
+ }>;
1655
+ } | {
1656
+ data: undefined;
1657
+ error: null;
1658
+ isError: false;
1659
+ isPending: true;
1660
+ isLoading: true;
1661
+ isLoadingError: false;
1662
+ isRefetchError: false;
1663
+ isSuccess: false;
1664
+ isPlaceholderData: false;
1665
+ status: "pending";
1666
+ dataUpdatedAt: number;
1667
+ errorUpdatedAt: number;
1668
+ failureCount: number;
1669
+ failureReason: Error | null;
1670
+ errorUpdateCount: number;
1671
+ isFetched: boolean;
1672
+ isFetchedAfterMount: boolean;
1673
+ isFetching: boolean;
1674
+ isInitialLoading: boolean;
1675
+ isPaused: boolean;
1676
+ isRefetching: boolean;
1677
+ isStale: boolean;
1678
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
1679
+ id: string;
1680
+ userId: string;
1681
+ email: string;
1682
+ effectivePlanId: string;
1683
+ status: string;
1684
+ isUnlimited: boolean;
1685
+ creditsAvailable: number;
1686
+ creditsAllocatedThisPeriod: number;
1687
+ topOffCreditsAvailable: number;
1688
+ topOffCreditsTotal: number;
1689
+ allocationSource: string;
1690
+ sourceDetails: {};
1691
+ periodStart: null;
1692
+ periodEnd: null;
1693
+ planTermEndTimestamp: null;
1694
+ ownerType: string;
1695
+ createdAt: string;
1696
+ lastUpdatedAt: string;
1697
+ } | {
1698
+ totalCreditsAvailable: number;
1699
+ allocationSource: string;
1700
+ createdAt: string;
1701
+ creditsAllocatedThisPeriod: number;
1702
+ effectivePlanId: string;
1703
+ email: string;
1704
+ isUnlimited: boolean;
1705
+ lastUpdatedAt: string;
1706
+ ownerType: string;
1707
+ periodStart: string;
1708
+ periodEnd: string;
1709
+ planTermEndTimestamp: string | null;
1710
+ sourceDetails: Record<string, unknown>;
1711
+ creditsAvailable?: number;
1712
+ topOffCreditsAvailable?: number;
1713
+ id: string;
1714
+ userId?: undefined;
1715
+ status?: undefined;
1716
+ topOffCreditsTotal?: undefined;
1717
+ }, Error>>;
1718
+ fetchStatus: _tanstack_react_query.FetchStatus;
1719
+ promise: Promise<{
1720
+ id: string;
1721
+ userId: string;
1722
+ email: string;
1723
+ effectivePlanId: string;
1724
+ status: string;
1725
+ isUnlimited: boolean;
1726
+ creditsAvailable: number;
1727
+ creditsAllocatedThisPeriod: number;
1728
+ topOffCreditsAvailable: number;
1729
+ topOffCreditsTotal: number;
1730
+ allocationSource: string;
1731
+ sourceDetails: {};
1732
+ periodStart: null;
1733
+ periodEnd: null;
1734
+ planTermEndTimestamp: null;
1735
+ ownerType: string;
1736
+ createdAt: string;
1737
+ lastUpdatedAt: string;
1738
+ } | {
1739
+ totalCreditsAvailable: number;
1740
+ allocationSource: string;
1741
+ createdAt: string;
1742
+ creditsAllocatedThisPeriod: number;
1743
+ effectivePlanId: string;
1744
+ email: string;
1745
+ isUnlimited: boolean;
1746
+ lastUpdatedAt: string;
1747
+ ownerType: string;
1748
+ periodStart: string;
1749
+ periodEnd: string;
1750
+ planTermEndTimestamp: string | null;
1751
+ sourceDetails: Record<string, unknown>;
1752
+ creditsAvailable?: number;
1753
+ topOffCreditsAvailable?: number;
1754
+ id: string;
1755
+ userId?: undefined;
1756
+ status?: undefined;
1757
+ topOffCreditsTotal?: undefined;
1758
+ }>;
1759
+ } | {
1760
+ data: undefined;
1761
+ error: null;
1762
+ isError: false;
1763
+ isPending: true;
1764
+ isLoadingError: false;
1765
+ isRefetchError: false;
1766
+ isSuccess: false;
1767
+ isPlaceholderData: false;
1768
+ status: "pending";
1769
+ dataUpdatedAt: number;
1770
+ errorUpdatedAt: number;
1771
+ failureCount: number;
1772
+ failureReason: Error | null;
1773
+ errorUpdateCount: number;
1774
+ isFetched: boolean;
1775
+ isFetchedAfterMount: boolean;
1776
+ isFetching: boolean;
1777
+ isLoading: boolean;
1778
+ isInitialLoading: boolean;
1779
+ isPaused: boolean;
1780
+ isRefetching: boolean;
1781
+ isStale: boolean;
1782
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
1783
+ id: string;
1784
+ userId: string;
1785
+ email: string;
1786
+ effectivePlanId: string;
1787
+ status: string;
1788
+ isUnlimited: boolean;
1789
+ creditsAvailable: number;
1790
+ creditsAllocatedThisPeriod: number;
1791
+ topOffCreditsAvailable: number;
1792
+ topOffCreditsTotal: number;
1793
+ allocationSource: string;
1794
+ sourceDetails: {};
1795
+ periodStart: null;
1796
+ periodEnd: null;
1797
+ planTermEndTimestamp: null;
1798
+ ownerType: string;
1799
+ createdAt: string;
1800
+ lastUpdatedAt: string;
1801
+ } | {
1802
+ totalCreditsAvailable: number;
1803
+ allocationSource: string;
1804
+ createdAt: string;
1805
+ creditsAllocatedThisPeriod: number;
1806
+ effectivePlanId: string;
1807
+ email: string;
1808
+ isUnlimited: boolean;
1809
+ lastUpdatedAt: string;
1810
+ ownerType: string;
1811
+ periodStart: string;
1812
+ periodEnd: string;
1813
+ planTermEndTimestamp: string | null;
1814
+ sourceDetails: Record<string, unknown>;
1815
+ creditsAvailable?: number;
1816
+ topOffCreditsAvailable?: number;
1817
+ id: string;
1818
+ userId?: undefined;
1819
+ status?: undefined;
1820
+ topOffCreditsTotal?: undefined;
1821
+ }, Error>>;
1822
+ fetchStatus: _tanstack_react_query.FetchStatus;
1823
+ promise: Promise<{
1824
+ id: string;
1825
+ userId: string;
1826
+ email: string;
1827
+ effectivePlanId: string;
1828
+ status: string;
1829
+ isUnlimited: boolean;
1830
+ creditsAvailable: number;
1831
+ creditsAllocatedThisPeriod: number;
1832
+ topOffCreditsAvailable: number;
1833
+ topOffCreditsTotal: number;
1834
+ allocationSource: string;
1835
+ sourceDetails: {};
1836
+ periodStart: null;
1837
+ periodEnd: null;
1838
+ planTermEndTimestamp: null;
1839
+ ownerType: string;
1840
+ createdAt: string;
1841
+ lastUpdatedAt: string;
1842
+ } | {
1843
+ totalCreditsAvailable: number;
1844
+ allocationSource: string;
1845
+ createdAt: string;
1846
+ creditsAllocatedThisPeriod: number;
1847
+ effectivePlanId: string;
1848
+ email: string;
1849
+ isUnlimited: boolean;
1850
+ lastUpdatedAt: string;
1851
+ ownerType: string;
1852
+ periodStart: string;
1853
+ periodEnd: string;
1854
+ planTermEndTimestamp: string | null;
1855
+ sourceDetails: Record<string, unknown>;
1856
+ creditsAvailable?: number;
1857
+ topOffCreditsAvailable?: number;
1858
+ id: string;
1859
+ userId?: undefined;
1860
+ status?: undefined;
1861
+ topOffCreditsTotal?: undefined;
1862
+ }>;
1863
+ } | {
1864
+ data: {
1865
+ id: string;
1866
+ userId: string;
1867
+ email: string;
1868
+ effectivePlanId: string;
1869
+ status: string;
1870
+ isUnlimited: boolean;
1871
+ creditsAvailable: number;
1872
+ creditsAllocatedThisPeriod: number;
1873
+ topOffCreditsAvailable: number;
1874
+ topOffCreditsTotal: number;
1875
+ allocationSource: string;
1876
+ sourceDetails: {};
1877
+ periodStart: null;
1878
+ periodEnd: null;
1879
+ planTermEndTimestamp: null;
1880
+ ownerType: string;
1881
+ createdAt: string;
1882
+ lastUpdatedAt: string;
1883
+ } | {
1884
+ totalCreditsAvailable: number;
1885
+ allocationSource: string;
1886
+ createdAt: string;
1887
+ creditsAllocatedThisPeriod: number;
1888
+ effectivePlanId: string;
1889
+ email: string;
1890
+ isUnlimited: boolean;
1891
+ lastUpdatedAt: string;
1892
+ ownerType: string;
1893
+ periodStart: string;
1894
+ periodEnd: string;
1895
+ planTermEndTimestamp: string | null;
1896
+ sourceDetails: Record<string, unknown>;
1897
+ creditsAvailable?: number;
1898
+ topOffCreditsAvailable?: number;
1899
+ id: string;
1900
+ userId?: undefined;
1901
+ status?: undefined;
1902
+ topOffCreditsTotal?: undefined;
1903
+ };
1904
+ isError: false;
1905
+ error: null;
1906
+ isPending: false;
1907
+ isLoading: false;
1908
+ isLoadingError: false;
1909
+ isRefetchError: false;
1910
+ isSuccess: true;
1911
+ isPlaceholderData: true;
1912
+ status: "success";
1913
+ dataUpdatedAt: number;
1914
+ errorUpdatedAt: number;
1915
+ failureCount: number;
1916
+ failureReason: Error | null;
1917
+ errorUpdateCount: number;
1918
+ isFetched: boolean;
1919
+ isFetchedAfterMount: boolean;
1920
+ isFetching: boolean;
1921
+ isInitialLoading: boolean;
1922
+ isPaused: boolean;
1923
+ isRefetching: boolean;
1924
+ isStale: boolean;
1925
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<{
1926
+ id: string;
1927
+ userId: string;
1928
+ email: string;
1929
+ effectivePlanId: string;
1930
+ status: string;
1931
+ isUnlimited: boolean;
1932
+ creditsAvailable: number;
1933
+ creditsAllocatedThisPeriod: number;
1934
+ topOffCreditsAvailable: number;
1935
+ topOffCreditsTotal: number;
1936
+ allocationSource: string;
1937
+ sourceDetails: {};
1938
+ periodStart: null;
1939
+ periodEnd: null;
1940
+ planTermEndTimestamp: null;
1941
+ ownerType: string;
1942
+ createdAt: string;
1943
+ lastUpdatedAt: string;
1944
+ } | {
1945
+ totalCreditsAvailable: number;
1946
+ allocationSource: string;
1947
+ createdAt: string;
1948
+ creditsAllocatedThisPeriod: number;
1949
+ effectivePlanId: string;
1950
+ email: string;
1951
+ isUnlimited: boolean;
1952
+ lastUpdatedAt: string;
1953
+ ownerType: string;
1954
+ periodStart: string;
1955
+ periodEnd: string;
1956
+ planTermEndTimestamp: string | null;
1957
+ sourceDetails: Record<string, unknown>;
1958
+ creditsAvailable?: number;
1959
+ topOffCreditsAvailable?: number;
1960
+ id: string;
1961
+ userId?: undefined;
1962
+ status?: undefined;
1963
+ topOffCreditsTotal?: undefined;
1964
+ }, Error>>;
1965
+ fetchStatus: _tanstack_react_query.FetchStatus;
1966
+ promise: Promise<{
1967
+ id: string;
1968
+ userId: string;
1969
+ email: string;
1970
+ effectivePlanId: string;
1971
+ status: string;
1972
+ isUnlimited: boolean;
1973
+ creditsAvailable: number;
1974
+ creditsAllocatedThisPeriod: number;
1975
+ topOffCreditsAvailable: number;
1976
+ topOffCreditsTotal: number;
1977
+ allocationSource: string;
1978
+ sourceDetails: {};
1979
+ periodStart: null;
1980
+ periodEnd: null;
1981
+ planTermEndTimestamp: null;
1982
+ ownerType: string;
1983
+ createdAt: string;
1984
+ lastUpdatedAt: string;
1985
+ } | {
1986
+ totalCreditsAvailable: number;
1987
+ allocationSource: string;
1988
+ createdAt: string;
1989
+ creditsAllocatedThisPeriod: number;
1990
+ effectivePlanId: string;
1991
+ email: string;
1992
+ isUnlimited: boolean;
1993
+ lastUpdatedAt: string;
1994
+ ownerType: string;
1995
+ periodStart: string;
1996
+ periodEnd: string;
1997
+ planTermEndTimestamp: string | null;
1998
+ sourceDetails: Record<string, unknown>;
1999
+ creditsAvailable?: number;
2000
+ topOffCreditsAvailable?: number;
2001
+ id: string;
2002
+ userId?: undefined;
2003
+ status?: undefined;
2004
+ topOffCreditsTotal?: undefined;
2005
+ }>;
2006
+ };
2007
+
2008
+ interface OrganizationAccess {
2009
+ hasUnlimitedAccess: boolean;
2010
+ subscriptionId: string | null;
2011
+ organizationId: string | null;
2012
+ organizationName: string | null;
2013
+ subscriptionEndDate: Date | null;
2014
+ accessType: 'organization' | 'individual' | 'institution_subscriptions';
2015
+ }
2016
+ interface InstitutionSubscription {
2017
+ id: string;
2018
+ institutionId: string;
2019
+ name: string;
2020
+ plan: string;
2021
+ endDate: Date;
2022
+ }
2023
+ interface Organization {
2024
+ id: string;
2025
+ name: string;
2026
+ members: string[];
2027
+ masterSubscriptionStatus: string;
2028
+ masterSubscriptionId: string;
2029
+ masterSubscriptionEndDate: Date;
2030
+ }
2031
+ declare const useOrganizationAccess: () => {
2032
+ data: OrganizationAccess;
2033
+ error: Error;
2034
+ isError: true;
2035
+ isPending: false;
2036
+ isLoading: false;
2037
+ isLoadingError: false;
2038
+ isRefetchError: true;
2039
+ isSuccess: false;
2040
+ isPlaceholderData: false;
2041
+ status: "error";
2042
+ dataUpdatedAt: number;
2043
+ errorUpdatedAt: number;
2044
+ failureCount: number;
2045
+ failureReason: Error | null;
2046
+ errorUpdateCount: number;
2047
+ isFetched: boolean;
2048
+ isFetchedAfterMount: boolean;
2049
+ isFetching: boolean;
2050
+ isInitialLoading: boolean;
2051
+ isPaused: boolean;
2052
+ isRefetching: boolean;
2053
+ isStale: boolean;
2054
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2055
+ fetchStatus: _tanstack_react_query.FetchStatus;
2056
+ promise: Promise<OrganizationAccess>;
2057
+ } | {
2058
+ data: OrganizationAccess;
2059
+ error: null;
2060
+ isError: false;
2061
+ isPending: false;
2062
+ isLoading: false;
2063
+ isLoadingError: false;
2064
+ isRefetchError: false;
2065
+ isSuccess: true;
2066
+ isPlaceholderData: false;
2067
+ status: "success";
2068
+ dataUpdatedAt: number;
2069
+ errorUpdatedAt: number;
2070
+ failureCount: number;
2071
+ failureReason: Error | null;
2072
+ errorUpdateCount: number;
2073
+ isFetched: boolean;
2074
+ isFetchedAfterMount: boolean;
2075
+ isFetching: boolean;
2076
+ isInitialLoading: boolean;
2077
+ isPaused: boolean;
2078
+ isRefetching: boolean;
2079
+ isStale: boolean;
2080
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2081
+ fetchStatus: _tanstack_react_query.FetchStatus;
2082
+ promise: Promise<OrganizationAccess>;
2083
+ } | {
2084
+ data: undefined;
2085
+ error: Error;
2086
+ isError: true;
2087
+ isPending: false;
2088
+ isLoading: false;
2089
+ isLoadingError: true;
2090
+ isRefetchError: false;
2091
+ isSuccess: false;
2092
+ isPlaceholderData: false;
2093
+ status: "error";
2094
+ dataUpdatedAt: number;
2095
+ errorUpdatedAt: number;
2096
+ failureCount: number;
2097
+ failureReason: Error | null;
2098
+ errorUpdateCount: number;
2099
+ isFetched: boolean;
2100
+ isFetchedAfterMount: boolean;
2101
+ isFetching: boolean;
2102
+ isInitialLoading: boolean;
2103
+ isPaused: boolean;
2104
+ isRefetching: boolean;
2105
+ isStale: boolean;
2106
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2107
+ fetchStatus: _tanstack_react_query.FetchStatus;
2108
+ promise: Promise<OrganizationAccess>;
2109
+ } | {
2110
+ data: undefined;
2111
+ error: null;
2112
+ isError: false;
2113
+ isPending: true;
2114
+ isLoading: true;
2115
+ isLoadingError: false;
2116
+ isRefetchError: false;
2117
+ isSuccess: false;
2118
+ isPlaceholderData: false;
2119
+ status: "pending";
2120
+ dataUpdatedAt: number;
2121
+ errorUpdatedAt: number;
2122
+ failureCount: number;
2123
+ failureReason: Error | null;
2124
+ errorUpdateCount: number;
2125
+ isFetched: boolean;
2126
+ isFetchedAfterMount: boolean;
2127
+ isFetching: boolean;
2128
+ isInitialLoading: boolean;
2129
+ isPaused: boolean;
2130
+ isRefetching: boolean;
2131
+ isStale: boolean;
2132
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2133
+ fetchStatus: _tanstack_react_query.FetchStatus;
2134
+ promise: Promise<OrganizationAccess>;
2135
+ } | {
2136
+ data: undefined;
2137
+ error: null;
2138
+ isError: false;
2139
+ isPending: true;
2140
+ isLoadingError: false;
2141
+ isRefetchError: false;
2142
+ isSuccess: false;
2143
+ isPlaceholderData: false;
2144
+ status: "pending";
2145
+ dataUpdatedAt: number;
2146
+ errorUpdatedAt: number;
2147
+ failureCount: number;
2148
+ failureReason: Error | null;
2149
+ errorUpdateCount: number;
2150
+ isFetched: boolean;
2151
+ isFetchedAfterMount: boolean;
2152
+ isFetching: boolean;
2153
+ isLoading: boolean;
2154
+ isInitialLoading: boolean;
2155
+ isPaused: boolean;
2156
+ isRefetching: boolean;
2157
+ isStale: boolean;
2158
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2159
+ fetchStatus: _tanstack_react_query.FetchStatus;
2160
+ promise: Promise<OrganizationAccess>;
2161
+ } | {
2162
+ data: OrganizationAccess;
2163
+ isError: false;
2164
+ error: null;
2165
+ isPending: false;
2166
+ isLoading: false;
2167
+ isLoadingError: false;
2168
+ isRefetchError: false;
2169
+ isSuccess: true;
2170
+ isPlaceholderData: true;
2171
+ status: "success";
2172
+ dataUpdatedAt: number;
2173
+ errorUpdatedAt: number;
2174
+ failureCount: number;
2175
+ failureReason: Error | null;
2176
+ errorUpdateCount: number;
2177
+ isFetched: boolean;
2178
+ isFetchedAfterMount: boolean;
2179
+ isFetching: boolean;
2180
+ isInitialLoading: boolean;
2181
+ isPaused: boolean;
2182
+ isRefetching: boolean;
2183
+ isStale: boolean;
2184
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<OrganizationAccess, Error>>;
2185
+ fetchStatus: _tanstack_react_query.FetchStatus;
2186
+ promise: Promise<OrganizationAccess>;
2187
+ };
2188
+
2189
+ declare const useBaseOpenAI: ({ onTranscriptSuccess, onTranscriptError, onCompletionSuccess, onCompletionError, aiEnabled, submitAudioResponse, uploadAudioAndGetTranscript, }: {
2190
+ onTranscriptSuccess: (transcript: string) => void;
2191
+ onTranscriptError: ({ type, message }: {
2192
+ type: string;
2193
+ message: string;
2194
+ }) => void;
2195
+ onCompletionSuccess: (completion: any) => void;
2196
+ onCompletionError: ({ type, message }: {
2197
+ type: string;
2198
+ message: string;
2199
+ }) => void;
2200
+ aiEnabled: boolean;
2201
+ submitAudioResponse: (audio: string) => Promise<{
2202
+ url: string;
2203
+ fileName: string;
2204
+ }>;
2205
+ uploadAudioAndGetTranscript: (audio: string, language: string) => Promise<string>;
2206
+ }) => {
2207
+ submitAudioResponse: (audio: string) => Promise<{
2208
+ url: string;
2209
+ fileName: string;
2210
+ }>;
2211
+ uploadAudioAndGetTranscript: (audio: string, language: string) => Promise<string>;
2212
+ getTransctipt: (audioUrl: string, language: string) => Promise<string>;
2213
+ getFreeResponseCompletion: (messages: string[], isFreeResponse: boolean, feedbackLanguage: string, gradingStandard?: string) => Promise<any>;
2214
+ getFeedback: ({ cardId, language, writtenResponse, audio, autoGrade, file, }: {
2215
+ cardId: string;
2216
+ language: string;
2217
+ writtenResponse: string | null;
2218
+ audio: string | null;
2219
+ autoGrade: boolean;
2220
+ file: string | null;
2221
+ }) => Promise<{
2222
+ noFeedbackAvailable: boolean;
2223
+ success: boolean;
2224
+ reason: string;
2225
+ accessType: "ai_enabled" | "teacher_preview" | "student_with_teacher_plan" | "none";
2226
+ } | {
2227
+ noFeedbackAvailable: boolean;
2228
+ success: boolean;
2229
+ reason: string;
2230
+ accessType: string;
2231
+ aiSuccess: boolean;
2232
+ }>;
2233
+ };
2234
+
2235
+ interface ActivityFeedbackAccess {
2236
+ canAccessFeedback: boolean;
2237
+ reason?: string;
2238
+ isUnlimited: boolean;
2239
+ accessType: 'ai_enabled' | 'teacher_preview' | 'student_with_teacher_plan' | 'none';
2240
+ }
2241
+ /**
2242
+ * Hook to check feedback permissions for both students and teachers
2243
+ *
2244
+ * Permission Logic:
2245
+ * 1. aiEnabled: true → Allow feedback access always (highest priority)
2246
+ * 2. Teachers on /activity route → Always allowed (ADMIN role)
2247
+ * 3. Students on /activity route → Need teacher with active plan (team/org)
2248
+ *
2249
+ * @param params - Parameters for permission checking
2250
+ * @returns Feedback permissions information
2251
+ */
2252
+ declare const useActivityFeedbackAccess: ({ aiEnabled, isActivityRoute, }: {
2253
+ aiEnabled?: boolean;
2254
+ isActivityRoute?: boolean;
2255
+ }) => {
2256
+ data: ActivityFeedbackAccess;
2257
+ error: Error;
2258
+ isError: true;
2259
+ isPending: false;
2260
+ isLoading: false;
2261
+ isLoadingError: false;
2262
+ isRefetchError: true;
2263
+ isSuccess: false;
2264
+ isPlaceholderData: false;
2265
+ status: "error";
2266
+ dataUpdatedAt: number;
2267
+ errorUpdatedAt: number;
2268
+ failureCount: number;
2269
+ failureReason: Error | null;
2270
+ errorUpdateCount: number;
2271
+ isFetched: boolean;
2272
+ isFetchedAfterMount: boolean;
2273
+ isFetching: boolean;
2274
+ isInitialLoading: boolean;
2275
+ isPaused: boolean;
2276
+ isRefetching: boolean;
2277
+ isStale: boolean;
2278
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2279
+ fetchStatus: _tanstack_react_query.FetchStatus;
2280
+ promise: Promise<ActivityFeedbackAccess>;
2281
+ } | {
2282
+ data: ActivityFeedbackAccess;
2283
+ error: null;
2284
+ isError: false;
2285
+ isPending: false;
2286
+ isLoading: false;
2287
+ isLoadingError: false;
2288
+ isRefetchError: false;
2289
+ isSuccess: true;
2290
+ isPlaceholderData: false;
2291
+ status: "success";
2292
+ dataUpdatedAt: number;
2293
+ errorUpdatedAt: number;
2294
+ failureCount: number;
2295
+ failureReason: Error | null;
2296
+ errorUpdateCount: number;
2297
+ isFetched: boolean;
2298
+ isFetchedAfterMount: boolean;
2299
+ isFetching: boolean;
2300
+ isInitialLoading: boolean;
2301
+ isPaused: boolean;
2302
+ isRefetching: boolean;
2303
+ isStale: boolean;
2304
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2305
+ fetchStatus: _tanstack_react_query.FetchStatus;
2306
+ promise: Promise<ActivityFeedbackAccess>;
2307
+ } | {
2308
+ data: undefined;
2309
+ error: Error;
2310
+ isError: true;
2311
+ isPending: false;
2312
+ isLoading: false;
2313
+ isLoadingError: true;
2314
+ isRefetchError: false;
2315
+ isSuccess: false;
2316
+ isPlaceholderData: false;
2317
+ status: "error";
2318
+ dataUpdatedAt: number;
2319
+ errorUpdatedAt: number;
2320
+ failureCount: number;
2321
+ failureReason: Error | null;
2322
+ errorUpdateCount: number;
2323
+ isFetched: boolean;
2324
+ isFetchedAfterMount: boolean;
2325
+ isFetching: boolean;
2326
+ isInitialLoading: boolean;
2327
+ isPaused: boolean;
2328
+ isRefetching: boolean;
2329
+ isStale: boolean;
2330
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2331
+ fetchStatus: _tanstack_react_query.FetchStatus;
2332
+ promise: Promise<ActivityFeedbackAccess>;
2333
+ } | {
2334
+ data: undefined;
2335
+ error: null;
2336
+ isError: false;
2337
+ isPending: true;
2338
+ isLoading: true;
2339
+ isLoadingError: false;
2340
+ isRefetchError: false;
2341
+ isSuccess: false;
2342
+ isPlaceholderData: false;
2343
+ status: "pending";
2344
+ dataUpdatedAt: number;
2345
+ errorUpdatedAt: number;
2346
+ failureCount: number;
2347
+ failureReason: Error | null;
2348
+ errorUpdateCount: number;
2349
+ isFetched: boolean;
2350
+ isFetchedAfterMount: boolean;
2351
+ isFetching: boolean;
2352
+ isInitialLoading: boolean;
2353
+ isPaused: boolean;
2354
+ isRefetching: boolean;
2355
+ isStale: boolean;
2356
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2357
+ fetchStatus: _tanstack_react_query.FetchStatus;
2358
+ promise: Promise<ActivityFeedbackAccess>;
2359
+ } | {
2360
+ data: undefined;
2361
+ error: null;
2362
+ isError: false;
2363
+ isPending: true;
2364
+ isLoadingError: false;
2365
+ isRefetchError: false;
2366
+ isSuccess: false;
2367
+ isPlaceholderData: false;
2368
+ status: "pending";
2369
+ dataUpdatedAt: number;
2370
+ errorUpdatedAt: number;
2371
+ failureCount: number;
2372
+ failureReason: Error | null;
2373
+ errorUpdateCount: number;
2374
+ isFetched: boolean;
2375
+ isFetchedAfterMount: boolean;
2376
+ isFetching: boolean;
2377
+ isLoading: boolean;
2378
+ isInitialLoading: boolean;
2379
+ isPaused: boolean;
2380
+ isRefetching: boolean;
2381
+ isStale: boolean;
2382
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2383
+ fetchStatus: _tanstack_react_query.FetchStatus;
2384
+ promise: Promise<ActivityFeedbackAccess>;
2385
+ } | {
2386
+ data: ActivityFeedbackAccess;
2387
+ isError: false;
2388
+ error: null;
2389
+ isPending: false;
2390
+ isLoading: false;
2391
+ isLoadingError: false;
2392
+ isRefetchError: false;
2393
+ isSuccess: true;
2394
+ isPlaceholderData: true;
2395
+ status: "success";
2396
+ dataUpdatedAt: number;
2397
+ errorUpdatedAt: number;
2398
+ failureCount: number;
2399
+ failureReason: Error | null;
2400
+ errorUpdateCount: number;
2401
+ isFetched: boolean;
2402
+ isFetchedAfterMount: boolean;
2403
+ isFetching: boolean;
2404
+ isInitialLoading: boolean;
2405
+ isPaused: boolean;
2406
+ isRefetching: boolean;
2407
+ isStale: boolean;
2408
+ refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<ActivityFeedbackAccess, Error>>;
2409
+ fetchStatus: _tanstack_react_query.FetchStatus;
2410
+ promise: Promise<ActivityFeedbackAccess>;
2411
+ };
2412
+
1157
2413
  declare const createFsClientWeb: ({ db, httpsCallable, logEvent }: FsClientParams) => {
1158
2414
  assignmentRepo: {
1159
2415
  getAssignment: (params: {
@@ -1259,7 +2515,9 @@ declare const createFsClientWeb: ({ db, httpsCallable, logEvent }: FsClientParam
1259
2515
  scores: unknown;
1260
2516
  id: string;
1261
2517
  } | undefined>;
1262
- getAllAssignments: () => Promise<AssignmentWithId[]>;
2518
+ getAllAssignments: () => Promise<(AssignmentWithId & {
2519
+ id: string;
2520
+ })[]>;
1263
2521
  };
1264
2522
  cardRepo: {
1265
2523
  createCard: (args_0: {
@@ -1337,4 +2595,4 @@ declare const createFsClientWeb: ({ db, httpsCallable, logEvent }: FsClientParam
1337
2595
  };
1338
2596
  };
1339
2597
 
1340
- export { ALLOWED_CARD_ACTIVITY_TYPES_FOR_SUMMARY, type Assignment, type AssignmentWithId, BASE_MULTIPLE_CHOICE_FIELD_VALUES, BASE_REPEAT_FIELD_VALUES, BASE_RESPOND_FIELD_VALUES, type CardActivity, CardActivityType, type CardActivityWithId, type CardScore, FeedbackTypesCard, FsCtx, LENIENCY_OPTIONS, LeniencyCard, MULTIPLE_CHOICE_CARD_ACTIVITY_TYPES, REPEAT_CARD_ACTIVITY_TYPES, RESPOND_AUDIO_CARD_ACTIVITY_TYPES, RESPOND_CARD_ACTIVITY_TYPES, RESPOND_WRITE_CARD_ACTIVITY_TYPES, type RefsCardsFiresotre, type RefsSetsFirestore, SPEAKABLE_NOTIFICATIONS, STUDENT_LEVELS_OPTIONS, type Score, type ScoreWithId, type Set, type SetWithId, type SpeakableNotificationType, SpeakableNotificationTypes, SpeakableProvider, VerificationCardStatus, assignmentQueryKeys, cardsQueryKeys, createAssignmentRepo, createCardRepo, createFsClientWeb as createFsClient, createSetRepo, getCardFromCache, getSetFromCache, refsCardsFiresotre, refsSetsFirestore, setsQueryKeys, updateCardInCache, updateSetInCache, useActivity, useAssignment, useCards, useCreateCard, useCreateCards, useCreateNotification, useSet, useSpeakableApi };
2598
+ export { ALLOWED_CARD_ACTIVITY_TYPES_FOR_SUMMARY, type Assignment, type AssignmentWithId, BASE_MULTIPLE_CHOICE_FIELD_VALUES, BASE_REPEAT_FIELD_VALUES, BASE_RESPOND_FIELD_VALUES, type CardActivity, CardActivityType, type CardActivityWithId, type CardScore, type CreditContract, FeedbackTypesCard, FsCtx, type InstitutionSubscription, LENIENCY_OPTIONS, LeniencyCard, MULTIPLE_CHOICE_CARD_ACTIVITY_TYPES, type Organization, type OrganizationAccess, REPEAT_CARD_ACTIVITY_TYPES, RESPOND_AUDIO_CARD_ACTIVITY_TYPES, RESPOND_CARD_ACTIVITY_TYPES, RESPOND_WRITE_CARD_ACTIVITY_TYPES, type RefsCardsFiresotre, type RefsSetsFirestore, SPEAKABLE_NOTIFICATIONS, STUDENT_LEVELS_OPTIONS, type Score, type ScoreWithId, type Set, type SetWithId, type SpeakableNotificationType, SpeakableNotificationTypes, SpeakableProvider, VerificationCardStatus, assignmentQueryKeys, cardsQueryKeys, cleanString, createAssignmentRepo, createCardRepo, createFsClientWeb as createFsClient, createSetRepo, creditQueryKeys, debounce, getCardFromCache, getRespondCardTool, getSetFromCache, getWordHash, purify, refsCardsFiresotre, refsSetsFirestore, setsQueryKeys, updateCardInCache, updateSetInCache, useActivity, useActivityFeedbackAccess, useAssignment, useBaseOpenAI, useCards, useCreateCard, useCreateCards, useCreateNotification, useOrganizationAccess, useSet, useSpeakableApi, useUserCredits };