@domino-sdk/relay 1.53.1 → 1.55.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/CHANGELOG.md +1848 -0
- package/dist/analytics-URV-mxjH.d.ts +482 -0
- package/dist/{attempt-captures-QC4kTA44.d.ts → attempt-captures-CxxO7DeD.d.ts} +1 -1
- package/dist/authoring.d.ts +233 -78
- package/dist/authoring.js +112 -14
- package/dist/{automatic-outcomes-CVyZHxir.d.ts → automatic-outcomes-DxW_v5Wc.d.ts} +5 -2
- package/dist/avatar.d.ts +1 -1
- package/dist/browser.d.ts +8 -7
- package/dist/browser.js +14 -10
- package/dist/{capability-error-FQGGb5xS.d.ts → capability-error-DSd8EMQC.d.ts} +76 -2
- package/dist/{chunk-53JMTUWG.js → chunk-56DBFNR2.js} +1 -1
- package/dist/chunk-C7QZ4UBB.js +937 -0
- package/dist/chunk-F6HECAXA.js +661 -0
- package/dist/{chunk-VKHSC5MD.js → chunk-GL43VQ5D.js} +16 -16
- package/dist/{chunk-GTQJSDBS.js → chunk-IUF7DW76.js} +27 -16
- package/dist/{chunk-YBR4BUFK.js → chunk-IZRITLVV.js} +2 -2
- package/dist/chunk-KDR2VAJP.js +34 -0
- package/dist/{chunk-S2PMKZSX.js → chunk-SABMNPF2.js} +21 -2
- package/dist/{chunk-XFAYQFRO.js → chunk-TLK2MD4S.js} +1 -1
- package/dist/{chunk-ZJ3FVZRP.js → chunk-UY6KMLQG.js} +10 -3
- package/dist/{chunk-JYJAS4E3.js → chunk-VFBQVY4X.js} +1 -1
- package/dist/{chunk-YVC3B72P.js → chunk-WHG5WE43.js} +1 -1
- package/dist/chunk-WHMXXHPX.js +344 -0
- package/dist/{chunk-MP2ZF5U6.js → chunk-WUEQOKJH.js} +4 -4
- package/dist/{chunk-7BNCLWAO.js → chunk-XALIFNMD.js} +1 -1
- package/dist/{chunk-IELNFM3V.js → chunk-YCOKTQ4E.js} +96 -7
- package/dist/{chunk-LPHXTZDA.js → chunk-YE3XYB2F.js} +2 -2
- package/dist/{chunk-K6TVMNU4.js → chunk-YEVD4A5X.js} +1 -1
- package/dist/{client-CzNtl8UO.d.ts → client-C4zUZKpj.d.ts} +35 -7
- package/dist/{deployments-ovtqtAcx.d.ts → deployments-B32QS1CI.d.ts} +1060 -233
- package/dist/{groups-B5R1RCsl.d.ts → groups-O6onGPmC.d.ts} +131 -137
- package/dist/host-environment-FN4zg3hw.d.ts +30 -0
- package/dist/index.d.ts +8 -8
- package/dist/index.js +9 -9
- package/dist/integrations-C6_uUh-s.d.ts +584 -0
- package/dist/internal.d.ts +12 -10
- package/dist/internal.js +14 -8
- package/dist/{offers-CH1RZekg.d.ts → offers-BMDNcvwB.d.ts} +2 -2
- package/dist/{pages-BTlOg8sl.d.ts → pages-BFloMpyQ.d.ts} +25 -1
- package/dist/portal-proxy.d.ts +11 -1
- package/dist/portal-proxy.js +26 -5
- package/dist/{profiles-Cdv4BSd_.d.ts → profiles-BoOK03cR.d.ts} +2 -0
- package/dist/react/index.d.ts +488 -13
- package/dist/react/index.js +51 -15
- package/dist/runtime/authoring.js +1 -1
- package/dist/runtime/chunks/WKATKZXE.js +1 -0
- package/dist/runtime/manifest.json +3 -3
- package/dist/runtime/schema.js +1 -1
- package/dist/{schema-BJ9bOgpN.d.ts → schema-C4m9RhCR.d.ts} +166 -6
- package/dist/schema.d.ts +392 -334
- package/dist/schema.js +84 -40
- package/dist/server/index.d.ts +11 -10
- package/dist/server/index.js +1604 -838
- package/dist/{submission-input-BNah53go.d.ts → submission-input-BbdawqVy.d.ts} +2 -2
- package/dist/{telegram-browser-C36j_6v-.d.ts → telegram-browser-CwaxROAZ.d.ts} +1 -1
- package/dist/testing.d.ts +85 -12
- package/dist/testing.js +322 -37
- package/dist/{transport-DuB_fiA2.d.ts → transport-CZJOW5Sr.d.ts} +8018 -3150
- package/dist/vite.d.ts +54 -1
- package/dist/vite.js +35 -0
- package/dist/{x-BfQcsDp0.d.ts → x-1czZFVUW.d.ts} +1 -1
- package/package.json +3 -2
- package/dist/chunk-2NUD237O.js +0 -102
- package/dist/chunk-CCE2JWES.js +0 -1083
- package/dist/integrations-CllF-kWg.d.ts +0 -314
- package/dist/runtime/chunks/AVRVSLHX.js +0 -1
package/dist/react/index.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { B as Badge, b as MemberBadges, O as Offer, e as Redemption } from '../offers-
|
|
1
|
+
import { B as Badge, b as MemberBadges, O as Offer, e as Redemption } from '../offers-BMDNcvwB.js';
|
|
2
2
|
import { b as ParticipantSession, R as RelayEvent, P as ParticipantActivity, M as MemberSummary } from '../participant-activity-iciCEs_8.js';
|
|
3
|
-
import { g as RelayError, R as RelayClient, m as SubmissionDraft } from '../client-
|
|
4
|
-
import { P as Page, D as collectionViewSchema, j as QuestView, g as QuestOutcomeQuery, e as QuestOutcome } from '../pages-
|
|
3
|
+
import { g as RelayError, R as RelayClient, m as SubmissionDraft } from '../client-C4zUZKpj.js';
|
|
4
|
+
import { P as Page, D as collectionViewSchema, j as QuestView, g as QuestOutcomeQuery, e as QuestOutcome } from '../pages-BFloMpyQ.js';
|
|
5
5
|
import * as react from 'react';
|
|
6
6
|
import { ReactNode } from 'react';
|
|
7
7
|
import { J as JSONType } from '../util.d-w9f9t3ua.js';
|
|
8
8
|
import { z } from 'zod';
|
|
9
|
-
import { E as Entitlement, a as AttemptStatus, T as TieredRewardReference } from '../schema-
|
|
9
|
+
import { E as Entitlement, a as AttemptStatus, f as PointEntry, e as PointBalances, j as PointLedgerReference, T as TieredRewardReference } from '../schema-C4m9RhCR.js';
|
|
10
10
|
import { a as AuthProvider, A as AccountConnection } from '../accounts-DRPENuZe.js';
|
|
11
11
|
export { T as TelegramAccountConnection, b as TelegramSignInMethods } from '../accounts-DRPENuZe.js';
|
|
12
|
-
import { c as SignInMethods, C as CosmosChains, d as SignInOption, f as SignInUnavailable, T as TelegramSignInOption, g as SignInWallet, D as DiscoveredWallet } from '../telegram-browser-
|
|
13
|
-
export { a as EmailSignInOption, O as OAuthSignInOption, b as SignInIcon, W as WalletSignInOption, t as telegramMiniAppInitData } from '../telegram-browser-
|
|
12
|
+
import { c as SignInMethods, C as CosmosChains, d as SignInOption, f as SignInUnavailable, T as TelegramSignInOption, g as SignInWallet, D as DiscoveredWallet } from '../telegram-browser-CwaxROAZ.js';
|
|
13
|
+
export { a as EmailSignInOption, O as OAuthSignInOption, b as SignInIcon, W as WalletSignInOption, t as telegramMiniAppInitData } from '../telegram-browser-CwaxROAZ.js';
|
|
14
14
|
import { f as WalletSigner, d as WalletSignInNetwork, L as LinkedWallet } from '../wallet-Ac7OFpOr.js';
|
|
15
|
-
import { h as LeaderboardPlacement,
|
|
16
|
-
import { f as ProfileUpdate, e as ProfileSummary, a as ProfileCompletion, d as ProfileReferral } from '../profiles-
|
|
17
|
-
import '../submission-input-
|
|
15
|
+
import { h as LeaderboardPlacement, b0 as referralSummarySchema, g as LeaderboardPage } from '../groups-O6onGPmC.js';
|
|
16
|
+
import { f as ProfileUpdate, e as ProfileSummary, a as ProfileCompletion, d as ProfileReferral } from '../profiles-BoOK03cR.js';
|
|
17
|
+
import '../submission-input-BbdawqVy.js';
|
|
18
18
|
import '../action-DBzILFx9.js';
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -1241,6 +1241,451 @@ declare function useQuest(observed: QuestView): {
|
|
|
1241
1241
|
} | null;
|
|
1242
1242
|
} | null | undefined;
|
|
1243
1243
|
retryAt?: number | undefined;
|
|
1244
|
+
nextAvailableAt?: number | undefined;
|
|
1245
|
+
};
|
|
1246
|
+
/** Input recovered after the quest changed. Prefill the form with it. */
|
|
1247
|
+
draft: SubmissionDraft | null;
|
|
1248
|
+
notice: QuestNotice;
|
|
1249
|
+
error: RelayError | null;
|
|
1250
|
+
/** True while `submit`, `resume`, `retry` or `restart` runs. */
|
|
1251
|
+
isPending: boolean;
|
|
1252
|
+
/** @deprecated Use `isPending`. Removed in 2.0.0. */
|
|
1253
|
+
busy: boolean;
|
|
1254
|
+
saved: SavedSubmission;
|
|
1255
|
+
/** Review and explicitly restart this terminally retired saved submission. */
|
|
1256
|
+
retired: boolean;
|
|
1257
|
+
/** The attempt the last "received" notice is about. */
|
|
1258
|
+
receipt: string | null;
|
|
1259
|
+
startingFresh: boolean;
|
|
1260
|
+
};
|
|
1261
|
+
/**
|
|
1262
|
+
* `useQuest()` plus its `questActionState()`: `open`, `counted` and `automatic` next to the
|
|
1263
|
+
* submission state and actions.
|
|
1264
|
+
*/
|
|
1265
|
+
declare function useQuestAction(observed: QuestView): {
|
|
1266
|
+
open: boolean;
|
|
1267
|
+
counted: boolean;
|
|
1268
|
+
automatic: boolean;
|
|
1269
|
+
restart: () => Promise<void>;
|
|
1270
|
+
submit: (input: QuestInput) => Promise<void>;
|
|
1271
|
+
/** Finish an interrupted submission, or reopen an outdated draft. */
|
|
1272
|
+
resume: () => Promise<void>;
|
|
1273
|
+
/**
|
|
1274
|
+
* Re-run verification that failed to run. Never creates a new attempt.
|
|
1275
|
+
* Domino refuses this for automatic quests, so never offer it for them.
|
|
1276
|
+
*/
|
|
1277
|
+
retry: () => Promise<void>;
|
|
1278
|
+
/** The newest known version of the quest. Render this, not the prop. */
|
|
1279
|
+
view: {
|
|
1280
|
+
quest: string;
|
|
1281
|
+
title: string;
|
|
1282
|
+
presentation: {
|
|
1283
|
+
steps?: {
|
|
1284
|
+
title: string;
|
|
1285
|
+
description?: string | undefined;
|
|
1286
|
+
action?: {
|
|
1287
|
+
kind: "link";
|
|
1288
|
+
url: string;
|
|
1289
|
+
label: string;
|
|
1290
|
+
} | undefined;
|
|
1291
|
+
}[] | undefined;
|
|
1292
|
+
image?: string | undefined;
|
|
1293
|
+
imageAlt?: string | undefined;
|
|
1294
|
+
requirements?: ({
|
|
1295
|
+
kind: "account";
|
|
1296
|
+
provider: "discord" | "x" | "google" | "apple";
|
|
1297
|
+
} | {
|
|
1298
|
+
kind: "wallet";
|
|
1299
|
+
chain?: "solana" | "eip155" | "cosmos" | undefined;
|
|
1300
|
+
})[] | undefined;
|
|
1301
|
+
quiz?: {
|
|
1302
|
+
id: string;
|
|
1303
|
+
prompt: string;
|
|
1304
|
+
choices: {
|
|
1305
|
+
id: string;
|
|
1306
|
+
label: string;
|
|
1307
|
+
}[];
|
|
1308
|
+
}[] | undefined;
|
|
1309
|
+
instructions?: string | undefined;
|
|
1310
|
+
video?: {
|
|
1311
|
+
url: string;
|
|
1312
|
+
poster?: string | undefined;
|
|
1313
|
+
captions?: {
|
|
1314
|
+
url: string;
|
|
1315
|
+
language: string;
|
|
1316
|
+
label: string;
|
|
1317
|
+
} | undefined;
|
|
1318
|
+
} | undefined;
|
|
1319
|
+
};
|
|
1320
|
+
connections: ("discord" | "x" | "google" | "apple")[];
|
|
1321
|
+
trigger: {
|
|
1322
|
+
kind: "manual";
|
|
1323
|
+
input: "text";
|
|
1324
|
+
constraints: {
|
|
1325
|
+
required: boolean;
|
|
1326
|
+
minLength: number;
|
|
1327
|
+
maxLength: number;
|
|
1328
|
+
};
|
|
1329
|
+
actor?: "member" | "staff" | undefined;
|
|
1330
|
+
} | {
|
|
1331
|
+
kind: "manual";
|
|
1332
|
+
input: "url";
|
|
1333
|
+
constraints: {
|
|
1334
|
+
required: boolean;
|
|
1335
|
+
allowedHosts?: string[] | undefined;
|
|
1336
|
+
};
|
|
1337
|
+
actor?: "member" | "staff" | undefined;
|
|
1338
|
+
} | {
|
|
1339
|
+
kind: "manual";
|
|
1340
|
+
input: "none" | "quiz" | "photo";
|
|
1341
|
+
actor?: "member" | "staff" | undefined;
|
|
1342
|
+
} | {
|
|
1343
|
+
kind: "automatic";
|
|
1344
|
+
tracker?: {
|
|
1345
|
+
tracker: string;
|
|
1346
|
+
source: string;
|
|
1347
|
+
on: "new-record" | "new-observation" | "data-changed";
|
|
1348
|
+
beneficiary: string;
|
|
1349
|
+
where?: {
|
|
1350
|
+
path: string;
|
|
1351
|
+
gt?: number | {
|
|
1352
|
+
setting: string;
|
|
1353
|
+
} | undefined;
|
|
1354
|
+
gte?: number | {
|
|
1355
|
+
setting: string;
|
|
1356
|
+
} | undefined;
|
|
1357
|
+
lt?: number | {
|
|
1358
|
+
setting: string;
|
|
1359
|
+
} | undefined;
|
|
1360
|
+
lte?: number | {
|
|
1361
|
+
setting: string;
|
|
1362
|
+
} | undefined;
|
|
1363
|
+
} | {
|
|
1364
|
+
path: string;
|
|
1365
|
+
equals: string | number | boolean;
|
|
1366
|
+
} | ({
|
|
1367
|
+
path: string;
|
|
1368
|
+
gt?: number | {
|
|
1369
|
+
setting: string;
|
|
1370
|
+
} | undefined;
|
|
1371
|
+
gte?: number | {
|
|
1372
|
+
setting: string;
|
|
1373
|
+
} | undefined;
|
|
1374
|
+
lt?: number | {
|
|
1375
|
+
setting: string;
|
|
1376
|
+
} | undefined;
|
|
1377
|
+
lte?: number | {
|
|
1378
|
+
setting: string;
|
|
1379
|
+
} | undefined;
|
|
1380
|
+
} | {
|
|
1381
|
+
path: string;
|
|
1382
|
+
equals: string | number | boolean;
|
|
1383
|
+
})[] | undefined;
|
|
1384
|
+
enrollment?: "none" | "required" | undefined;
|
|
1385
|
+
since?: "activation" | "window" | "enrollment" | undefined;
|
|
1386
|
+
historical?: "staff" | "claim" | "automatic" | undefined;
|
|
1387
|
+
content?: true | undefined;
|
|
1388
|
+
} | undefined;
|
|
1389
|
+
};
|
|
1390
|
+
availability: {
|
|
1391
|
+
kind: "available";
|
|
1392
|
+
input: "url" | "text" | "none" | "quiz" | "photo";
|
|
1393
|
+
} | {
|
|
1394
|
+
kind: "completed";
|
|
1395
|
+
} | {
|
|
1396
|
+
kind: "locked";
|
|
1397
|
+
missing: ({
|
|
1398
|
+
kind: "completion";
|
|
1399
|
+
quest: string;
|
|
1400
|
+
title: string;
|
|
1401
|
+
scope: "ever";
|
|
1402
|
+
} | {
|
|
1403
|
+
kind: "completion";
|
|
1404
|
+
quest: string;
|
|
1405
|
+
title: string;
|
|
1406
|
+
scope: "period";
|
|
1407
|
+
period: "day" | "week" | "month";
|
|
1408
|
+
resetsAt: number;
|
|
1409
|
+
} | {
|
|
1410
|
+
kind: "balance";
|
|
1411
|
+
balance: string;
|
|
1412
|
+
title: string;
|
|
1413
|
+
minimum: number;
|
|
1414
|
+
current: number;
|
|
1415
|
+
} | {
|
|
1416
|
+
kind: "group";
|
|
1417
|
+
group: string;
|
|
1418
|
+
title: string;
|
|
1419
|
+
})[];
|
|
1420
|
+
} | {
|
|
1421
|
+
kind: "blocked";
|
|
1422
|
+
reason: "paused" | "outside-window" | "budget-exhausted" | "enrollment-required" | "connection-required" | "wallet-required";
|
|
1423
|
+
window?: "quest" | "tracker" | undefined;
|
|
1424
|
+
resetsAt?: number | undefined;
|
|
1425
|
+
} | {
|
|
1426
|
+
kind: "staff-required";
|
|
1427
|
+
} | {
|
|
1428
|
+
kind: "automatic";
|
|
1429
|
+
} | {
|
|
1430
|
+
kind: "checking";
|
|
1431
|
+
attempt: string;
|
|
1432
|
+
} | {
|
|
1433
|
+
kind: "needs-review";
|
|
1434
|
+
attempt: string;
|
|
1435
|
+
} | {
|
|
1436
|
+
kind: "retryable";
|
|
1437
|
+
attempt: string;
|
|
1438
|
+
};
|
|
1439
|
+
completed: boolean;
|
|
1440
|
+
completion: {
|
|
1441
|
+
kind: "progress";
|
|
1442
|
+
goal: {
|
|
1443
|
+
kind: "count";
|
|
1444
|
+
count: number;
|
|
1445
|
+
};
|
|
1446
|
+
window: {
|
|
1447
|
+
kind: "lifetime";
|
|
1448
|
+
} | {
|
|
1449
|
+
kind: "calendar";
|
|
1450
|
+
period: "day" | "week" | "month";
|
|
1451
|
+
latenessMs: number;
|
|
1452
|
+
} | {
|
|
1453
|
+
kind: "rolling";
|
|
1454
|
+
durationMs: number;
|
|
1455
|
+
};
|
|
1456
|
+
repeat: "repeat" | "once";
|
|
1457
|
+
} | {
|
|
1458
|
+
kind: "streak";
|
|
1459
|
+
days: number;
|
|
1460
|
+
} | {
|
|
1461
|
+
kind: "once";
|
|
1462
|
+
} | {
|
|
1463
|
+
kind: "keyed";
|
|
1464
|
+
};
|
|
1465
|
+
progress: {
|
|
1466
|
+
current: number;
|
|
1467
|
+
target: number;
|
|
1468
|
+
reason: string;
|
|
1469
|
+
} | null;
|
|
1470
|
+
completionCount: number;
|
|
1471
|
+
visibility: "visible" | "hidden";
|
|
1472
|
+
missing: ({
|
|
1473
|
+
kind: "completion";
|
|
1474
|
+
quest: string;
|
|
1475
|
+
title: string;
|
|
1476
|
+
scope: "ever";
|
|
1477
|
+
} | {
|
|
1478
|
+
kind: "completion";
|
|
1479
|
+
quest: string;
|
|
1480
|
+
title: string;
|
|
1481
|
+
scope: "period";
|
|
1482
|
+
period: "day" | "week" | "month";
|
|
1483
|
+
resetsAt: number;
|
|
1484
|
+
} | {
|
|
1485
|
+
kind: "balance";
|
|
1486
|
+
balance: string;
|
|
1487
|
+
title: string;
|
|
1488
|
+
minimum: number;
|
|
1489
|
+
current: number;
|
|
1490
|
+
} | {
|
|
1491
|
+
kind: "group";
|
|
1492
|
+
group: string;
|
|
1493
|
+
title: string;
|
|
1494
|
+
})[];
|
|
1495
|
+
campaign: {
|
|
1496
|
+
key: string;
|
|
1497
|
+
title: string;
|
|
1498
|
+
enrollment: "none" | "required";
|
|
1499
|
+
enrolledAt: number | null;
|
|
1500
|
+
withdrawnAt: number | null;
|
|
1501
|
+
withdrawalReason: string | null;
|
|
1502
|
+
window?: {
|
|
1503
|
+
from: number;
|
|
1504
|
+
until: number;
|
|
1505
|
+
} | undefined;
|
|
1506
|
+
} | null;
|
|
1507
|
+
window: {
|
|
1508
|
+
from: number;
|
|
1509
|
+
until: number;
|
|
1510
|
+
} | null;
|
|
1511
|
+
budgets: {
|
|
1512
|
+
id: string;
|
|
1513
|
+
scope: "member" | "project";
|
|
1514
|
+
period: "lifetime" | "day" | "week" | "month";
|
|
1515
|
+
remaining: number;
|
|
1516
|
+
resetsAt: number | null;
|
|
1517
|
+
}[];
|
|
1518
|
+
attempt: {
|
|
1519
|
+
id: string;
|
|
1520
|
+
release: string;
|
|
1521
|
+
quest: string;
|
|
1522
|
+
member: string;
|
|
1523
|
+
evidence: string | null;
|
|
1524
|
+
status: AttemptStatus;
|
|
1525
|
+
reason: string | null;
|
|
1526
|
+
retries: number;
|
|
1527
|
+
generation: number;
|
|
1528
|
+
completion: string | null;
|
|
1529
|
+
reviewRewards: ({
|
|
1530
|
+
kind: "tier";
|
|
1531
|
+
reward: {
|
|
1532
|
+
id: string;
|
|
1533
|
+
title: string;
|
|
1534
|
+
tiers: {
|
|
1535
|
+
id: string;
|
|
1536
|
+
title: string;
|
|
1537
|
+
}[];
|
|
1538
|
+
inventory: {
|
|
1539
|
+
kind: "untracked";
|
|
1540
|
+
};
|
|
1541
|
+
fulfillment: {
|
|
1542
|
+
kind: "staff-handover";
|
|
1543
|
+
} | {
|
|
1544
|
+
kind: "automatic";
|
|
1545
|
+
};
|
|
1546
|
+
badge?: string | undefined;
|
|
1547
|
+
group?: string | undefined;
|
|
1548
|
+
};
|
|
1549
|
+
tier: string;
|
|
1550
|
+
} | {
|
|
1551
|
+
kind: "integration";
|
|
1552
|
+
provider: "discord";
|
|
1553
|
+
action: "grant-role";
|
|
1554
|
+
roleId: string;
|
|
1555
|
+
} | {
|
|
1556
|
+
kind: "points";
|
|
1557
|
+
balance: string;
|
|
1558
|
+
amount: number;
|
|
1559
|
+
})[] | null;
|
|
1560
|
+
evaluationRun: number;
|
|
1561
|
+
deferCount: number;
|
|
1562
|
+
deferUntil: number | null;
|
|
1563
|
+
nextEvaluationAt: number | null;
|
|
1564
|
+
code: string | null;
|
|
1565
|
+
progress: {
|
|
1566
|
+
current: number;
|
|
1567
|
+
target: number;
|
|
1568
|
+
reason: string;
|
|
1569
|
+
} | null;
|
|
1570
|
+
requestedReview: boolean;
|
|
1571
|
+
createdAt: number;
|
|
1572
|
+
input?: {
|
|
1573
|
+
kind: "text";
|
|
1574
|
+
value: string;
|
|
1575
|
+
} | {
|
|
1576
|
+
kind: "url";
|
|
1577
|
+
value: string;
|
|
1578
|
+
} | {
|
|
1579
|
+
kind: "quiz";
|
|
1580
|
+
answers: {
|
|
1581
|
+
[k: string]: string;
|
|
1582
|
+
};
|
|
1583
|
+
release?: string | undefined;
|
|
1584
|
+
} | undefined;
|
|
1585
|
+
} | null;
|
|
1586
|
+
release: string;
|
|
1587
|
+
interaction: "url" | "text" | "staff" | "claim" | "automatic" | "quiz" | "photo";
|
|
1588
|
+
lifecycle: "paused" | "active" | "archived";
|
|
1589
|
+
rewards: ({
|
|
1590
|
+
kind: "points";
|
|
1591
|
+
label: string;
|
|
1592
|
+
amount: number;
|
|
1593
|
+
ledger: {
|
|
1594
|
+
id: string;
|
|
1595
|
+
key: string | null;
|
|
1596
|
+
name: string;
|
|
1597
|
+
};
|
|
1598
|
+
} | {
|
|
1599
|
+
kind: "tier";
|
|
1600
|
+
label: string;
|
|
1601
|
+
reward: {
|
|
1602
|
+
id: string;
|
|
1603
|
+
key: string | null;
|
|
1604
|
+
title: string;
|
|
1605
|
+
badge?: {
|
|
1606
|
+
name: string;
|
|
1607
|
+
description: string;
|
|
1608
|
+
image: string;
|
|
1609
|
+
id: string;
|
|
1610
|
+
key: string | null;
|
|
1611
|
+
} | undefined;
|
|
1612
|
+
group?: {
|
|
1613
|
+
key: string;
|
|
1614
|
+
title: string;
|
|
1615
|
+
} | undefined;
|
|
1616
|
+
};
|
|
1617
|
+
tier: string;
|
|
1618
|
+
} | {
|
|
1619
|
+
kind: "integration";
|
|
1620
|
+
label: string;
|
|
1621
|
+
})[];
|
|
1622
|
+
key?: string | undefined;
|
|
1623
|
+
streak?: {
|
|
1624
|
+
goal: number;
|
|
1625
|
+
current: number;
|
|
1626
|
+
best: number;
|
|
1627
|
+
today: string;
|
|
1628
|
+
todayQualified: boolean;
|
|
1629
|
+
timeZone: string;
|
|
1630
|
+
nextBoundary: number;
|
|
1631
|
+
pendingTimeZone: {
|
|
1632
|
+
timeZone: string;
|
|
1633
|
+
effectiveAt: number;
|
|
1634
|
+
} | null;
|
|
1635
|
+
days: {
|
|
1636
|
+
day: number;
|
|
1637
|
+
date: string;
|
|
1638
|
+
timeZone: string;
|
|
1639
|
+
occurredAt: number;
|
|
1640
|
+
}[];
|
|
1641
|
+
milestone: {
|
|
1642
|
+
status: "pending";
|
|
1643
|
+
} | {
|
|
1644
|
+
status: "awarded";
|
|
1645
|
+
completion: string;
|
|
1646
|
+
achievedAt: number;
|
|
1647
|
+
} | {
|
|
1648
|
+
status: "budget-exhausted";
|
|
1649
|
+
budget: string;
|
|
1650
|
+
achievedAt: number;
|
|
1651
|
+
};
|
|
1652
|
+
} | null | undefined;
|
|
1653
|
+
counter?: {
|
|
1654
|
+
goal: number;
|
|
1655
|
+
current: number;
|
|
1656
|
+
window: {
|
|
1657
|
+
key: string;
|
|
1658
|
+
start: number | null;
|
|
1659
|
+
end: number | null;
|
|
1660
|
+
};
|
|
1661
|
+
repeat: "repeat" | "once";
|
|
1662
|
+
settled: number;
|
|
1663
|
+
latest: {
|
|
1664
|
+
id: string;
|
|
1665
|
+
ordinal: number;
|
|
1666
|
+
achievedAt: number;
|
|
1667
|
+
window: string;
|
|
1668
|
+
status: "revoked";
|
|
1669
|
+
completion: string;
|
|
1670
|
+
revokedAt: number;
|
|
1671
|
+
} | {
|
|
1672
|
+
id: string;
|
|
1673
|
+
ordinal: number;
|
|
1674
|
+
achievedAt: number;
|
|
1675
|
+
window: string;
|
|
1676
|
+
status: "awarded";
|
|
1677
|
+
completion: string;
|
|
1678
|
+
} | {
|
|
1679
|
+
id: string;
|
|
1680
|
+
ordinal: number;
|
|
1681
|
+
achievedAt: number;
|
|
1682
|
+
window: string;
|
|
1683
|
+
status: "budget-exhausted";
|
|
1684
|
+
budget: string;
|
|
1685
|
+
} | null;
|
|
1686
|
+
} | null | undefined;
|
|
1687
|
+
retryAt?: number | undefined;
|
|
1688
|
+
nextAvailableAt?: number | undefined;
|
|
1244
1689
|
};
|
|
1245
1690
|
/** Input recovered after the quest changed. Prefill the form with it. */
|
|
1246
1691
|
draft: SubmissionDraft | null;
|
|
@@ -1278,11 +1723,13 @@ type QuestTone = "open" | "done" | "waiting" | "attention" | "locked" | "off";
|
|
|
1278
1723
|
* - `rejected`: the last submission was not accepted; the participant can try again.
|
|
1279
1724
|
* - `retry-cooldown`: the last submission was not accepted, and the quest's retry cooldown runs
|
|
1280
1725
|
* until `retryAt`.
|
|
1726
|
+
* - `completion-cooldown`: the last completion was accepted, and the quest's completion cooldown
|
|
1727
|
+
* runs until `retryAt`.
|
|
1281
1728
|
* - `ready`: the participant can act now.
|
|
1282
1729
|
*
|
|
1283
1730
|
* @compat open
|
|
1284
1731
|
*/
|
|
1285
|
-
type KnownQuestStatusCode = "completed" | "paused" | "closed" | "counter" | "counter-budget-exhausted" | "counter-revoked" | "streak" | "streak-budget-exhausted" | "automatic" | "in-progress" | "locked" | "budget-exhausted" | "connection-required" | "wallet-required" | "outside-window" | "enrollment-required" | "checking" | "evaluator-deferred" | "evaluator-progress" | "in-review" | "retryable" | "staff-required" | "rejected" | "retry-cooldown" | "ready";
|
|
1732
|
+
type KnownQuestStatusCode = "completed" | "paused" | "closed" | "counter" | "counter-budget-exhausted" | "counter-revoked" | "streak" | "streak-budget-exhausted" | "automatic" | "in-progress" | "locked" | "budget-exhausted" | "connection-required" | "wallet-required" | "outside-window" | "enrollment-required" | "checking" | "evaluator-deferred" | "evaluator-progress" | "in-review" | "retryable" | "staff-required" | "rejected" | "retry-cooldown" | "completion-cooldown" | "ready";
|
|
1286
1733
|
/** A known code, or one a newer SDK adds: render unknown codes with a neutral fallback. */
|
|
1287
1734
|
type QuestStatusCode = KnownQuestStatusCode | (string & {});
|
|
1288
1735
|
type QuestStatus = {
|
|
@@ -1295,7 +1742,10 @@ type QuestStatus = {
|
|
|
1295
1742
|
* string when it gave none.
|
|
1296
1743
|
*/
|
|
1297
1744
|
reason?: string;
|
|
1298
|
-
/**
|
|
1745
|
+
/**
|
|
1746
|
+
* Unix milliseconds when the participant may submit again, when `code` is `retry-cooldown` or
|
|
1747
|
+
* `completion-cooldown`.
|
|
1748
|
+
*/
|
|
1299
1749
|
retryAt?: number;
|
|
1300
1750
|
};
|
|
1301
1751
|
/** `QuestStatus` in English: a short `label`, and a sentence of `detail` when there is more. */
|
|
@@ -1342,9 +1792,33 @@ declare function isCoolingDown(view: QuestView, now?: number): boolean;
|
|
|
1342
1792
|
declare function questStatusText(view: QuestView, now?: number): QuestStatusText;
|
|
1343
1793
|
/**
|
|
1344
1794
|
* True when the participant can submit something right now (`now`, Unix milliseconds, the current
|
|
1345
|
-
* time by default): not while a retry cooldown runs.
|
|
1795
|
+
* time by default): not while a retry or completion cooldown runs.
|
|
1346
1796
|
*/
|
|
1347
1797
|
declare function canSubmit(view: QuestView, now?: number): boolean;
|
|
1798
|
+
/** What a quest page shows for one quest; see `questActionState`. */
|
|
1799
|
+
type QuestActionState = {
|
|
1800
|
+
/**
|
|
1801
|
+
* True when the page shows the quest's input: the participant can submit now, or has just
|
|
1802
|
+
* discarded a failed attempt on an active quest and starts a new submission.
|
|
1803
|
+
*/
|
|
1804
|
+
open: boolean;
|
|
1805
|
+
/**
|
|
1806
|
+
* True once the submission just sent was accepted on a repeatable quest. Show "accepted" rather
|
|
1807
|
+
* than "received", and clear the form for the next round.
|
|
1808
|
+
*/
|
|
1809
|
+
counted: boolean;
|
|
1810
|
+
/** The server owns every automatic run: offer no input, resume, retry, or restart. */
|
|
1811
|
+
automatic: boolean;
|
|
1812
|
+
};
|
|
1813
|
+
/**
|
|
1814
|
+
* What a quest page shows for a `useQuest()` result (`now`, Unix milliseconds, the current time by
|
|
1815
|
+
* default). The same rules every starter's quest component follows.
|
|
1816
|
+
*/
|
|
1817
|
+
declare function questActionState(quest: {
|
|
1818
|
+
view: QuestView;
|
|
1819
|
+
startingFresh: boolean;
|
|
1820
|
+
receipt: string | null;
|
|
1821
|
+
}, now?: number): QuestActionState;
|
|
1348
1822
|
/**
|
|
1349
1823
|
* "x of y completed" for a list of quests: `total` counts every quest that is not archived or
|
|
1350
1824
|
* repeatable, including locked and paused ones, because they are still part of what the
|
|
@@ -1800,6 +2274,7 @@ declare function useMyProfile(): {
|
|
|
1800
2274
|
options: {
|
|
1801
2275
|
provider: "discord" | "x" | "google";
|
|
1802
2276
|
name: string | null;
|
|
2277
|
+
givenName: string | null;
|
|
1803
2278
|
imageUrl: string | null;
|
|
1804
2279
|
}[];
|
|
1805
2280
|
};
|
|
@@ -1976,4 +2451,4 @@ declare function usePointLedgers(): Query<PointLedgerReference[]>;
|
|
|
1976
2451
|
*/
|
|
1977
2452
|
declare function useTieredRewards(): Query<TieredRewardReference[]>;
|
|
1978
2453
|
|
|
1979
|
-
export { type Collection, CosmosChains, DiscoveredWallet, type ExperienceData, type Invitation, type KnownQuestStatusCode, type KnownRoleDeliveryStatus, type MemberPagedQuery, type MemberQuery, type MemberQueryOptions, type MemberSnapshot, type Mutation, type MutationContext, type MutationOptions, type MutationStatus, type OAuthProvider, Page, type PageLoader, type PageRead, type PagedQuery, type Query, type QueryContext, type QueryKey, type QueryOptions, type QueryRead, type QuerySnapshot, type QuestInput, type QuestNotice, type QuestStatus, type QuestStatusCode, type QuestStatusText, type QuestTone, type ReferralSummary, type RelayActionResult, RelayClient, type RelayPolling, RelayProvider, type RelayQueryOptions, type RoleDelivery, type RoleDeliveryStatus, type SavedSubmission, SignInMethods, SignInOption, SignInUnavailable, SignInWallet, TelegramSignInOption, canRepeat, canSubmit, captureReferralCode, completionCountText, isAutomatic, isConnected, isCoolingDown, isFinished, progressOf, questGroups, questStatus, questStatusText, relayKeys, roleDeliveryLabel, roleDeliveryStatus, useAccounts, useActivity, useBadgeCatalog, useBadges, useBalances, useDeliveries, useEntitlements, useExperience, useInvalidate, useInvitation, useLeaderboard, useLeaderboardHistory, useLeaderboardPlacement, useMe, useMemberPages, useMemberQuery, useMyProfile, useOffers, usePointHistory, usePointLedgers, useProfile, useProfileBadges, useProfileCompletions, useProfileReferral, useQuest, useQuestOutcomes, useRedeemOffer, useReferralSummary, useRelay, useRelayAction, useRelayMutation, useRelayPages, useRelayQuery, useSession, useSetQueryData, useSignIn, useSignInMethods, useSignInOptions, useSignInWallets, useSignOut, useTelegramAccount, useTieredRewards, useWalletDiscovery, useWallets };
|
|
2454
|
+
export { type Collection, CosmosChains, DiscoveredWallet, type ExperienceData, type Invitation, type KnownQuestStatusCode, type KnownRoleDeliveryStatus, type MemberPagedQuery, type MemberQuery, type MemberQueryOptions, type MemberSnapshot, type Mutation, type MutationContext, type MutationOptions, type MutationStatus, type OAuthProvider, Page, type PageLoader, type PageRead, type PagedQuery, type Query, type QueryContext, type QueryKey, type QueryOptions, type QueryRead, type QuerySnapshot, type QuestActionState, type QuestInput, type QuestNotice, type QuestStatus, type QuestStatusCode, type QuestStatusText, type QuestTone, type ReferralSummary, type RelayActionResult, RelayClient, type RelayPolling, RelayProvider, type RelayQueryOptions, type RoleDelivery, type RoleDeliveryStatus, type SavedSubmission, SignInMethods, SignInOption, SignInUnavailable, SignInWallet, TelegramSignInOption, canRepeat, canSubmit, captureReferralCode, completionCountText, isAutomatic, isConnected, isCoolingDown, isFinished, progressOf, questActionState, questGroups, questStatus, questStatusText, relayKeys, roleDeliveryLabel, roleDeliveryStatus, useAccounts, useActivity, useBadgeCatalog, useBadges, useBalances, useDeliveries, useEntitlements, useExperience, useInvalidate, useInvitation, useLeaderboard, useLeaderboardHistory, useLeaderboardPlacement, useMe, useMemberPages, useMemberQuery, useMyProfile, useOffers, usePointHistory, usePointLedgers, useProfile, useProfileBadges, useProfileCompletions, useProfileReferral, useQuest, useQuestAction, useQuestOutcomes, useRedeemOffer, useReferralSummary, useRelay, useRelayAction, useRelayMutation, useRelayPages, useRelayQuery, useSession, useSetQueryData, useSignIn, useSignInMethods, useSignInOptions, useSignInWallets, useSignOut, useTelegramAccount, useTieredRewards, useWalletDiscovery, useWallets };
|