@domino-sdk/relay 1.0.0-next.8 → 1.0.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.
Files changed (59) hide show
  1. package/README.md +1 -1
  2. package/dist/activity-DeKJsRry.d.ts +9112 -0
  3. package/dist/authoring.d.ts +1135 -285
  4. package/dist/authoring.js +545 -269
  5. package/dist/automatic-outcomes-B1xrETxm.d.ts +758 -0
  6. package/dist/avatar.d.ts +2 -2
  7. package/dist/browser-DFe7sWSN.d.ts +4154 -0
  8. package/dist/browser.d.ts +11 -2528
  9. package/dist/browser.js +8 -6
  10. package/dist/capability-error-DNMwKmlL.d.ts +458 -0
  11. package/dist/{chunk-V7EZUZ3Z.js → chunk-36HTX2BM.js} +389 -169
  12. package/dist/chunk-6QJ3LADK.js +112 -0
  13. package/dist/{chunk-77H7APVD.js → chunk-BGGKNIRP.js} +1 -1
  14. package/dist/chunk-EYH5RDIE.js +496 -0
  15. package/dist/chunk-GQKYAQM6.js +84 -0
  16. package/dist/chunk-GUP7YRR4.js +42 -0
  17. package/dist/{chunk-V5R2DMGY.js → chunk-GZ6FJAXN.js} +380 -128
  18. package/dist/chunk-JON5SESL.js +2986 -0
  19. package/dist/chunk-MC6V6VMG.js +49 -0
  20. package/dist/chunk-NPGENI7K.js +37 -0
  21. package/dist/chunk-VFHHLN6A.js +284 -0
  22. package/dist/chunk-WJSSJ7AF.js +151 -0
  23. package/dist/{chunk-QBOHLT7M.js → chunk-XFMSUPNS.js} +1 -1
  24. package/dist/{chunk-6A6K5RUD.js → chunk-ZVIRG24J.js} +145 -42
  25. package/dist/{client-CK4nwt7V.d.ts → client-XiuFnug_.d.ts} +2193 -562
  26. package/dist/{submission-input-C9qm9ixd.d.ts → groups-Ck-OxzjD.d.ts} +919 -1142
  27. package/dist/identity-integration-GxAHdKR2.d.ts +58 -0
  28. package/dist/{images--vZ9U0kr.d.ts → images-Dv-P5VBw.d.ts} +2 -2
  29. package/dist/index.d.ts +13 -9
  30. package/dist/index.js +17 -6
  31. package/dist/internal.d.ts +82 -43
  32. package/dist/internal.js +58 -90
  33. package/dist/offers-Cy-e4o5x.d.ts +431 -0
  34. package/dist/{pages-BzqJuI69.d.ts → outcomes-kVB-Juzs.d.ts} +2386 -1490
  35. package/dist/pages-BBYD21IE.d.ts +359 -0
  36. package/dist/participant-rewards-3duLb8YJ.d.ts +668 -0
  37. package/dist/portal-proxy.js +22 -4
  38. package/dist/{profiles-DDMFBRKe.d.ts → profiles-D2aFcOxu.d.ts} +15 -15
  39. package/dist/react/index.d.ts +3122 -1011
  40. package/dist/react/index.js +1627 -779
  41. package/dist/request-error-DWduJCGV.d.ts +62 -0
  42. package/dist/schema-DfJzH2ci.d.ts +5644 -0
  43. package/dist/schema.d.ts +15 -4216
  44. package/dist/schema.js +322 -81
  45. package/dist/server/index.d.ts +81498 -0
  46. package/dist/server/index.js +2520 -0
  47. package/dist/{streaks-CwGReWGt.d.ts → streaks-CWyq8Px5.d.ts} +2 -4
  48. package/dist/submission-input-BZkm6ohU.d.ts +290 -0
  49. package/dist/vite.d.ts +1 -1
  50. package/dist/vite.js +1 -0
  51. package/dist/{wallet-BGOfFkG9.d.ts → wallet-YssWxGg8.d.ts} +35 -38
  52. package/package.json +8 -2
  53. package/dist/chunk-MRIURJE3.js +0 -257
  54. package/dist/chunk-VARGF4JS.js +0 -1733
  55. package/dist/chunk-ZWY3R6B3.js +0 -26
  56. package/dist/collection-BGneJ6Bk.d.ts +0 -114
  57. package/dist/integrations-C3Sp558f.d.ts +0 -1297
  58. package/dist/point-ledgers-iS00Z_v0.d.ts +0 -37
  59. package/dist/schema-pnuWqvGn.d.ts +0 -3396
package/dist/browser.d.ts CHANGED
@@ -1,2528 +1,11 @@
1
- import { a as AuthProvider, i as referralAcceptSchema, d as LeaderboardQuery, j as engagementPageQuerySchema, k as contentQualificationQuerySchema, m as contentAdmissionQuerySchema, n as contentEnrollmentInputSchema, o as contentReleaseInputSchema } from './submission-input-C9qm9ixd.js';
2
- import { s as submitSchema, g as contentPerformanceQuerySchema } from './schema-pnuWqvGn.js';
3
- import { r as createRelayClient, q as SubmissionStore, k as RelayRequestOptions, c as QuestController, a as ProgressObservation, b as ProgressObserver, P as PhotoSubmission, e as QuizSubmission, C as ClaimSubmission, V as ValueSubmission } from './client-CK4nwt7V.js';
4
- import { a as PageQuery, e as QuestView, q as questExperienceSchema, f as exchangeSchema } from './pages-BzqJuI69.js';
5
- import { C as CosmosChain, a as CosmosNetwork, f as WalletSigner, d as WalletSignInNetwork, w as walletAddressInputSchema, l as walletSignatureSchema, L as LinkedWallet } from './wallet-BGOfFkG9.js';
6
- import { p as profileUpdateSchema, c as ProfileCompletionQuery } from './profiles-DDMFBRKe.js';
7
- import * as zod from 'zod';
8
-
9
- /** An EIP-1193 provider, such as `window.ethereum` or an EIP-6963 announcement's provider. */
10
- type Eip1193Provider = {
11
- request(args: {
12
- method: string;
13
- params?: unknown[] | object;
14
- }): Promise<unknown>;
15
- };
16
- /** The legacy injected Solana shape Phantom, Solflare and Backpack expose. */
17
- type SolanaInjectedProvider = {
18
- connect(): Promise<unknown>;
19
- publicKey?: {
20
- toBase58(): string;
21
- } | null;
22
- signMessage(message: Uint8Array, display?: "utf8"): Promise<{
23
- signature: Uint8Array;
24
- } | Uint8Array>;
25
- };
26
- /** The part of a Wallet Standard account Relay uses. */
27
- type StandardWalletAccount = {
28
- readonly address: string;
29
- readonly chains: readonly string[];
30
- };
31
- /** The part of a Wallet Standard wallet Relay uses; any conforming wallet object fits. */
32
- type StandardWallet = {
33
- readonly name: string;
34
- readonly icon?: string;
35
- readonly chains: readonly string[];
36
- readonly accounts: readonly StandardWalletAccount[];
37
- readonly features: Readonly<Record<string, unknown>>;
38
- };
39
- /** Keplr's API, which Leap and Cosmostation also implement. */
40
- type KeplrLike = {
41
- enable(chainId: string | string[]): Promise<void>;
42
- getKey(chainId: string): Promise<{
43
- bech32Address: string;
44
- }>;
45
- signArbitrary(chainId: string, signer: string, data: string): Promise<{
46
- signature: string;
47
- pub_key: {
48
- type: string;
49
- value: string;
50
- };
51
- }>;
52
- /** Adds a chain the wallet does not know, after the user approves it. */
53
- experimentalSuggestChain?(chainInfo: CosmosChain["chainInfo"]): Promise<void>;
54
- };
55
- /** A wallet found in the page, ready to pass to `relay.wallets.link`. */
56
- type DiscoveredWallet = {
57
- id: string;
58
- name: string;
59
- icon?: string;
60
- signer: WalletSigner;
61
- };
62
- /** Signs with an EIP-1193 provider through `personal_sign`. */
63
- declare function evmSigner(provider: Eip1193Provider, info?: {
64
- name?: string;
65
- }): WalletSigner;
66
- /** Signs with a legacy injected Solana provider, such as `window.phantom.solana`. */
67
- declare function solanaSigner(provider: SolanaInjectedProvider, info?: {
68
- name?: string;
69
- }): WalletSigner;
70
- /** Signs with a Wallet Standard wallet's `solana:signMessage` feature. */
71
- declare function walletStandardSolanaSigner(wallet: StandardWallet): WalletSigner;
72
- /**
73
- * Signs an ADR-36 message with Keplr or a wallet that implements its API, on the app's chain:
74
- * `{ chainId, chainInfo? }` or `"cosmos:<chain ID>"`. When the wallet does not know the chain and
75
- * `chainInfo` is given, it suggests the chain to the wallet (`experimentalSuggestChain`) and tries
76
- * again; without `chainInfo`, or with a wallet that cannot add chains, it throws an error that
77
- * names the chain. Other failures, such as a rejected request, pass through.
78
- */
79
- declare function cosmosSigner(provider: KeplrLike, chain: CosmosChain | CosmosNetwork, info?: {
80
- name?: string;
81
- }): WalletSigner;
82
- /** EIP-6963 wallets, or `window.ethereum` when none announce themselves within `timeoutMs`. */
83
- declare function discoverEvmWallets(timeoutMs?: number): Promise<DiscoveredWallet[]>;
84
- /** Wallet Standard wallets that can sign Solana messages, then legacy injected providers. */
85
- declare function discoverSolanaWallets(): DiscoveredWallet[];
86
- /**
87
- * Keplr, Leap and Cosmostation, each signing on the app's chain (see `cosmosSigner`). IDs end with
88
- * the chain ID.
89
- */
90
- declare function discoverCosmosWallets(chain: CosmosChain | CosmosNetwork): DiscoveredWallet[];
91
- /**
92
- * The Cosmos SDK chains an app offers wallets on: one chain or several, each as
93
- * `{ chainId, chainInfo? }` or `"cosmos:<chain ID>"`. Relay has no chain list of its own.
94
- */
95
- type CosmosChains = CosmosChain | CosmosNetwork | readonly (CosmosChain | CosmosNetwork)[];
96
- /** The chains in `CosmosChains`, as a list. */
97
- declare function cosmosChainList(chains: CosmosChains | undefined): (CosmosChain | CosmosNetwork)[];
98
- /** An installed wallet that can sign in on one of the project's enabled wallet families. */
99
- type SignInWallet = DiscoveredWallet & {
100
- network: WalletSignInNetwork;
101
- };
102
- /**
103
- * The wallets installed in this browser that can sign in with `families`: EVM wallets first, then
104
- * Solana wallets, then Cosmos wallets once per chain in `cosmos`. Without `cosmos` there are no
105
- * Cosmos wallets. Empty during SSR.
106
- */
107
- declare function discoverSignInWallets(families: readonly WalletSignInNetwork[], cosmos?: CosmosChains): Promise<SignInWallet[]>;
108
-
109
- type Auth = ReturnType<typeof createRelayClient>["auth"];
110
- /** The part of a Relay client sign-in options use. */
111
- type SignInClient = {
112
- auth: Pick<Auth, "providers" | "start" | "emailStart" | "emailVerify"> & {
113
- wallet: Pick<Auth["wallet"], "signIn">;
114
- };
115
- };
116
- /** The sign-in methods a project takes: the platform's OAuth providers and email, and its wallet families. */
117
- type SignInMethods = {
118
- providers: AuthProvider[];
119
- email: boolean;
120
- /** The wallet families this project enabled for sign-in in Console. */
121
- wallets: WalletSignInNetwork[];
122
- /**
123
- * Set when the methods could not be read, such as when the network failed: they are then email
124
- * alone, and the server has the final say when the participant uses it.
125
- */
126
- error?: string;
127
- };
128
- /** Which icon to draw: an OAuth provider's logo, a mail icon, or a generic wallet icon. */
129
- type SignInIcon = AuthProvider | "email" | "wallet";
130
- type OAuthSignInOption = {
131
- kind: "oauth";
132
- /** The provider, such as `"google"`. */
133
- id: AuthProvider;
134
- /** The provider's name, such as "Google". */
135
- label: string;
136
- icon: AuthProvider;
137
- /** Leaves the page for the provider's consent screen. See `SignInOption` for failures. */
138
- start(): Promise<void>;
139
- };
140
- type EmailSignInOption = {
141
- kind: "email";
142
- id: "email";
143
- label: string;
144
- icon: "email";
145
- /** Emails a one-time code to the address. */
146
- sendCode(email: string): Promise<void>;
147
- /** Signs in with the code sent last. */
148
- verifyCode(code: string): Promise<void>;
149
- };
150
- type WalletSignInOption = {
151
- kind: "wallet";
152
- /** Unique among the options, such as `"wallet:eip155:io.metamask"`. */
153
- id: string;
154
- /** The wallet's name, with its family or chain when another installed wallet has the same name. */
155
- label: string;
156
- icon: "wallet";
157
- /** The wallet's own icon, a data or HTTPS URL, when it announces one. */
158
- iconUrl?: string;
159
- /** The wallet family it signs in with. */
160
- family: WalletSignInNetwork;
161
- /** The signer, for `useWallets().link` or `relay.wallets.link`. */
162
- signer: WalletSigner;
163
- /** Asks the wallet to sign a message, then signs in, or signs up. See `SignInOption` for failures. */
164
- start(): Promise<void>;
165
- };
166
- /**
167
- * One way to sign in that this project takes and this browser can use. From `useSignInOptions()`
168
- * its actions never reject: a failure lands in the hook's `error`. From `signInOptions()` they
169
- * reject with the failure.
170
- */
171
- type SignInOption = OAuthSignInOption | EmailSignInOption | WalletSignInOption;
172
- /**
173
- * A sign-in method the project enabled that is not offered, and why:
174
- * - `cosmos-chains-missing`: the project takes Cosmos wallets but the app named no Cosmos chains.
175
- * For the app's developer; pass `cosmos` to offer them.
176
- * - `cosmos-chains-invalid`: the project takes Cosmos wallets but a chain in `cosmos` is not one,
177
- * such as `"cosmoshub-4"` without the `cosmos:` prefix. For the app's developer; `message` says
178
- * what is wrong.
179
- * - `no-wallet-installed`: the project takes wallets but this browser has none for its families.
180
- * For the participant; `message` says which to install.
181
- */
182
- type SignInUnavailable = {
183
- reason: "cosmos-chains-missing" | "cosmos-chains-invalid" | "no-wallet-installed";
184
- families: WalletSignInNetwork[];
185
- message: string;
186
- };
187
- type SignInOptions = {
188
- /** OAuth providers first, then installed wallets, then email. */
189
- options: SignInOption[];
190
- unavailable: SignInUnavailable[];
191
- /** Why the project's methods could not be read; the options are then email alone. */
192
- methodsError?: string;
193
- };
194
- /**
195
- * Every way a participant can sign in to this project from this browser, for apps without React:
196
- * the OAuth providers and email the platform configured, and the installed wallets of the families
197
- * the project enabled. Cosmos wallets need the app's chains in `cosmos`; without them, or when one
198
- * is invalid, they are not offered and `unavailable` says so. Each option signs in with this
199
- * client: OAuth leaves the page, email sends a code and then verifies it, a wallet signs a
200
- * message. The actions reject when they fail.
201
- */
202
- declare function signInOptions(relay: SignInClient, input?: {
203
- cosmos?: CosmosChains;
204
- }): Promise<SignInOptions>;
205
-
206
- /** Browser client with durable submission recovery; safe to construct during SSR. */
207
- declare function createBrowserRelayClient(options: Parameters<typeof createRelayClient>[0]): {
208
- referrals: {
209
- list: (requestOptions?: RelayRequestOptions) => Promise<{
210
- id: string;
211
- title: string;
212
- enabled: boolean;
213
- qualification: {
214
- kind: "signup";
215
- } | {
216
- kind: "quest";
217
- quest: string;
218
- } | {
219
- kind: "external";
220
- };
221
- rewards: {
222
- inviter: ({
223
- kind: "tier";
224
- reward: {
225
- id: string;
226
- title: string;
227
- tiers: {
228
- id: string;
229
- title: string;
230
- }[];
231
- inventory: {
232
- kind: "untracked";
233
- };
234
- fulfillment: {
235
- kind: "staff-handover";
236
- };
237
- };
238
- tier: string;
239
- } | {
240
- kind: "points";
241
- balance: string;
242
- amount: number;
243
- })[];
244
- invitee: ({
245
- kind: "tier";
246
- reward: {
247
- id: string;
248
- title: string;
249
- tiers: {
250
- id: string;
251
- title: string;
252
- }[];
253
- inventory: {
254
- kind: "untracked";
255
- };
256
- fulfillment: {
257
- kind: "staff-handover";
258
- };
259
- };
260
- tier: string;
261
- } | {
262
- kind: "points";
263
- balance: string;
264
- amount: number;
265
- })[];
266
- };
267
- milestones: {
268
- id: string;
269
- count: number;
270
- rewards: ({
271
- kind: "tier";
272
- reward: {
273
- id: string;
274
- title: string;
275
- tiers: {
276
- id: string;
277
- title: string;
278
- }[];
279
- inventory: {
280
- kind: "untracked";
281
- };
282
- fulfillment: {
283
- kind: "staff-handover";
284
- };
285
- };
286
- tier: string;
287
- } | {
288
- kind: "points";
289
- balance: string;
290
- amount: number;
291
- })[];
292
- }[];
293
- bonuses: {
294
- id: string;
295
- balance: string;
296
- basisPoints: number;
297
- external: boolean;
298
- quests?: string[] | undefined;
299
- durationDays?: number | undefined;
300
- maxPoints?: number | undefined;
301
- }[];
302
- key?: string | undefined;
303
- inviterGroup?: string | undefined;
304
- }[]>;
305
- summary: (requestOptions?: RelayRequestOptions) => Promise<{
306
- code: string;
307
- attributed: number;
308
- programs: {
309
- definition: {
310
- id: string;
311
- title: string;
312
- enabled: boolean;
313
- qualification: {
314
- kind: "signup";
315
- } | {
316
- kind: "quest";
317
- quest: string;
318
- } | {
319
- kind: "external";
320
- };
321
- rewards: {
322
- inviter: ({
323
- kind: "tier";
324
- reward: {
325
- id: string;
326
- title: string;
327
- tiers: {
328
- id: string;
329
- title: string;
330
- }[];
331
- inventory: {
332
- kind: "untracked";
333
- };
334
- fulfillment: {
335
- kind: "staff-handover";
336
- };
337
- };
338
- tier: string;
339
- } | {
340
- kind: "points";
341
- balance: string;
342
- amount: number;
343
- })[];
344
- invitee: ({
345
- kind: "tier";
346
- reward: {
347
- id: string;
348
- title: string;
349
- tiers: {
350
- id: string;
351
- title: string;
352
- }[];
353
- inventory: {
354
- kind: "untracked";
355
- };
356
- fulfillment: {
357
- kind: "staff-handover";
358
- };
359
- };
360
- tier: string;
361
- } | {
362
- kind: "points";
363
- balance: string;
364
- amount: number;
365
- })[];
366
- };
367
- milestones: {
368
- id: string;
369
- count: number;
370
- rewards: ({
371
- kind: "tier";
372
- reward: {
373
- id: string;
374
- title: string;
375
- tiers: {
376
- id: string;
377
- title: string;
378
- }[];
379
- inventory: {
380
- kind: "untracked";
381
- };
382
- fulfillment: {
383
- kind: "staff-handover";
384
- };
385
- };
386
- tier: string;
387
- } | {
388
- kind: "points";
389
- balance: string;
390
- amount: number;
391
- })[];
392
- }[];
393
- bonuses: {
394
- id: string;
395
- balance: string;
396
- basisPoints: number;
397
- external: boolean;
398
- quests?: string[] | undefined;
399
- durationDays?: number | undefined;
400
- maxPoints?: number | undefined;
401
- }[];
402
- key?: string | undefined;
403
- inviterGroup?: string | undefined;
404
- };
405
- qualified: number;
406
- milestones: {
407
- id: string;
408
- count: number;
409
- reached: boolean;
410
- }[];
411
- }[];
412
- accounts: {
413
- id: string;
414
- program: string;
415
- kind: "milestone" | "fixed" | "bonus";
416
- balance: string;
417
- earned: number;
418
- settled: number;
419
- outstanding: number;
420
- }[];
421
- }>;
422
- history: (query?: PageQuery, requestOptions?: RelayRequestOptions) => Promise<{
423
- items: {
424
- id: number;
425
- program: string;
426
- balance: string;
427
- amount: number;
428
- at: number;
429
- reason: string;
430
- }[];
431
- nextCursor: string | null;
432
- }>;
433
- accept: (value: zod.input<typeof referralAcceptSchema>, requestOptions?: RelayRequestOptions) => Promise<{
434
- ok: true;
435
- }>;
436
- };
437
- tieredRewards: {
438
- list: (requestOptions?: RelayRequestOptions) => Promise<{
439
- id: string;
440
- key: string | null;
441
- }[]>;
442
- };
443
- pointLedgers: {
444
- list: (requestOptions?: RelayRequestOptions) => Promise<{
445
- id: string;
446
- key: string | null;
447
- name: string;
448
- }[]>;
449
- };
450
- leaderboards: {
451
- list: (requestOptions?: RelayRequestOptions) => Promise<{
452
- id: string;
453
- title: string;
454
- balance: string;
455
- score: {
456
- kind: "balance";
457
- } | {
458
- window: {
459
- kind: "fixed";
460
- start: number;
461
- end: number;
462
- } | {
463
- kind: "all-time";
464
- } | {
465
- kind: "rolling";
466
- days: number;
467
- } | {
468
- kind: "calendar";
469
- period: "day" | "week" | "month";
470
- timeZone: string;
471
- };
472
- kind: "earned";
473
- quests?: string[] | undefined;
474
- } | {
475
- kind: "net";
476
- window: {
477
- kind: "fixed";
478
- start: number;
479
- end: number;
480
- } | {
481
- kind: "all-time";
482
- } | {
483
- kind: "rolling";
484
- days: number;
485
- } | {
486
- kind: "calendar";
487
- period: "day" | "week" | "month";
488
- timeZone: string;
489
- };
490
- };
491
- access: "participants" | "public";
492
- key?: string | undefined;
493
- group?: string | undefined;
494
- }[]>;
495
- standings: (board: string, query?: LeaderboardQuery, requestOptions?: RelayRequestOptions) => Promise<{
496
- leaderboard: string;
497
- title: string;
498
- version: string;
499
- calculation: "balance" | "earned" | "net";
500
- period: {
501
- start: number | null;
502
- end: number | null;
503
- };
504
- calculatedAt: number;
505
- lastEntryAt: number | null;
506
- total: number;
507
- items: {
508
- participant: string;
509
- name: string;
510
- score: number;
511
- rank: number;
512
- profile: {
513
- id: string;
514
- name: string;
515
- avatar: {
516
- source: "upload";
517
- url: string;
518
- seed: string;
519
- } | {
520
- source: "account";
521
- provider: "x" | "discord" | "google";
522
- url: string;
523
- seed: string;
524
- } | {
525
- source: "generated";
526
- seed: string;
527
- };
528
- } | null;
529
- member?: string | undefined;
530
- }[];
531
- me: {
532
- participant: string;
533
- name: string;
534
- score: number;
535
- rank: number;
536
- profile: {
537
- id: string;
538
- name: string;
539
- avatar: {
540
- source: "upload";
541
- url: string;
542
- seed: string;
543
- } | {
544
- source: "account";
545
- provider: "x" | "discord" | "google";
546
- url: string;
547
- seed: string;
548
- } | {
549
- source: "generated";
550
- seed: string;
551
- };
552
- } | null;
553
- member?: string | undefined;
554
- } | null;
555
- nearby: {
556
- participant: string;
557
- name: string;
558
- score: number;
559
- rank: number;
560
- profile: {
561
- id: string;
562
- name: string;
563
- avatar: {
564
- source: "upload";
565
- url: string;
566
- seed: string;
567
- } | {
568
- source: "account";
569
- provider: "x" | "discord" | "google";
570
- url: string;
571
- seed: string;
572
- } | {
573
- source: "generated";
574
- seed: string;
575
- };
576
- } | null;
577
- member?: string | undefined;
578
- }[];
579
- nextCursor: string | null;
580
- }>;
581
- placement: (board: string, profile: string, requestOptions?: RelayRequestOptions) => Promise<{
582
- leaderboard: string;
583
- title: string;
584
- profile: string;
585
- rank: number | null;
586
- score: number | null;
587
- total: number;
588
- key?: string | undefined;
589
- }>;
590
- };
591
- profiles: {
592
- mine: (requestOptions?: RelayRequestOptions) => Promise<{
593
- id: string;
594
- name: string;
595
- avatar: {
596
- source: "upload";
597
- url: string;
598
- seed: string;
599
- } | {
600
- source: "account";
601
- provider: "x" | "discord" | "google";
602
- url: string;
603
- seed: string;
604
- } | {
605
- source: "generated";
606
- seed: string;
607
- };
608
- displayName: string | null;
609
- avatarChoice: "default" | "upload" | "account" | "generated";
610
- avatarProvider: "x" | "discord" | "google" | null;
611
- hidden: boolean;
612
- locked: boolean;
613
- visibility: "private" | "participants" | "public";
614
- options: {
615
- provider: "x" | "discord" | "google";
616
- name: string | null;
617
- imageUrl: string | null;
618
- }[];
619
- }>;
620
- update: (value: zod.input<typeof profileUpdateSchema>, requestOptions?: RelayRequestOptions) => Promise<{
621
- id: string;
622
- name: string;
623
- avatar: {
624
- source: "upload";
625
- url: string;
626
- seed: string;
627
- } | {
628
- source: "account";
629
- provider: "x" | "discord" | "google";
630
- url: string;
631
- seed: string;
632
- } | {
633
- source: "generated";
634
- seed: string;
635
- };
636
- displayName: string | null;
637
- avatarChoice: "default" | "upload" | "account" | "generated";
638
- avatarProvider: "x" | "discord" | "google" | null;
639
- hidden: boolean;
640
- locked: boolean;
641
- visibility: "private" | "participants" | "public";
642
- options: {
643
- provider: "x" | "discord" | "google";
644
- name: string | null;
645
- imageUrl: string | null;
646
- }[];
647
- }>;
648
- uploadAvatar: (file: Blob, requestOptions?: RelayRequestOptions & {
649
- uploadId?: string;
650
- }) => Promise<{
651
- id: string;
652
- name: string;
653
- avatar: {
654
- source: "upload";
655
- url: string;
656
- seed: string;
657
- } | {
658
- source: "account";
659
- provider: "x" | "discord" | "google";
660
- url: string;
661
- seed: string;
662
- } | {
663
- source: "generated";
664
- seed: string;
665
- };
666
- displayName: string | null;
667
- avatarChoice: "default" | "upload" | "account" | "generated";
668
- avatarProvider: "x" | "discord" | "google" | null;
669
- hidden: boolean;
670
- locked: boolean;
671
- visibility: "private" | "participants" | "public";
672
- options: {
673
- provider: "x" | "discord" | "google";
674
- name: string | null;
675
- imageUrl: string | null;
676
- }[];
677
- }>;
678
- get: (profile: string, requestOptions?: RelayRequestOptions) => Promise<{
679
- id: string;
680
- name: string;
681
- avatar: {
682
- source: "upload";
683
- url: string;
684
- seed: string;
685
- } | {
686
- source: "account";
687
- provider: "x" | "discord" | "google";
688
- url: string;
689
- seed: string;
690
- } | {
691
- source: "generated";
692
- seed: string;
693
- };
694
- }>;
695
- completions: (profile: string, query?: ProfileCompletionQuery, requestOptions?: RelayRequestOptions) => Promise<{
696
- items: {
697
- quest: string;
698
- title: string;
699
- completions: number;
700
- lastCompletedAt: number | null;
701
- key?: string | undefined;
702
- }[];
703
- nextCursor: string | null;
704
- }>;
705
- referral: (profile: string, program: string, requestOptions?: RelayRequestOptions) => Promise<{
706
- program: string;
707
- title: string;
708
- invited: number;
709
- qualified: number;
710
- milestones: {
711
- id: string;
712
- count: number;
713
- reached: boolean;
714
- }[];
715
- key?: string | undefined;
716
- }>;
717
- };
718
- quests: {
719
- get: (id: string, requestOptions?: RelayRequestOptions) => Promise<{
720
- quest: string;
721
- title: string;
722
- presentation: {
723
- quiz?: {
724
- id: string;
725
- prompt: string;
726
- choices: {
727
- id: string;
728
- label: string;
729
- }[];
730
- }[] | undefined;
731
- instructions?: string | undefined;
732
- video?: {
733
- url: string;
734
- poster?: string | undefined;
735
- captions?: {
736
- url: string;
737
- language: string;
738
- label: string;
739
- } | undefined;
740
- } | undefined;
741
- };
742
- connections: ("x" | "discord" | "google" | "apple")[];
743
- trigger: {
744
- kind: "automatic";
745
- observation?: {
746
- source: string;
747
- type: string;
748
- } | undefined;
749
- content?: {
750
- tracker: string;
751
- window: {
752
- start: number;
753
- end?: number | undefined;
754
- };
755
- enrollment: "none" | "required";
756
- posts: "after-enrollment" | "since-start";
757
- historical: "automatic" | "claim" | "staff";
758
- } | undefined;
759
- tracker?: {
760
- tracker: string;
761
- source: "custom" | "x-search";
762
- beneficiary: string;
763
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
764
- where?: {
765
- path: string;
766
- gt?: number | {
767
- setting: string;
768
- } | undefined;
769
- gte?: number | {
770
- setting: string;
771
- } | undefined;
772
- lt?: number | {
773
- setting: string;
774
- } | undefined;
775
- lte?: number | {
776
- setting: string;
777
- } | undefined;
778
- } | {
779
- path: string;
780
- equals: string | number | boolean;
781
- } | undefined;
782
- } | undefined;
783
- } | {
784
- kind: "manual";
785
- input: "text";
786
- constraints: {
787
- required: boolean;
788
- minLength: number;
789
- maxLength: number;
790
- };
791
- actor?: "member" | "staff" | undefined;
792
- } | {
793
- kind: "manual";
794
- input: "url";
795
- constraints: {
796
- required: boolean;
797
- allowedHosts?: string[] | undefined;
798
- };
799
- actor?: "member" | "staff" | undefined;
800
- } | {
801
- kind: "manual";
802
- input: "none" | "quiz" | "photo";
803
- actor?: "member" | "staff" | undefined;
804
- };
805
- availability: {
806
- kind: "available";
807
- input: "url" | "text" | "none" | "quiz" | "photo";
808
- } | {
809
- kind: "completed";
810
- } | {
811
- kind: "locked";
812
- missing: {
813
- quest: string;
814
- title: string;
815
- }[];
816
- } | {
817
- kind: "staff-required";
818
- } | {
819
- kind: "automatic";
820
- observation?: {
821
- source: string;
822
- type: string;
823
- } | undefined;
824
- } | {
825
- kind: "checking";
826
- attempt: string;
827
- } | {
828
- kind: "needs-review";
829
- attempt: string;
830
- } | {
831
- kind: "retryable";
832
- attempt: string;
833
- };
834
- completed: boolean;
835
- completion: {
836
- kind: "streak";
837
- days: number;
838
- timeZone: string;
839
- } | {
840
- kind: "once";
841
- } | {
842
- kind: "keyed";
843
- };
844
- completionCount: number;
845
- visibility: "visible" | "hidden";
846
- missing: {
847
- quest: string;
848
- title: string;
849
- }[];
850
- attempt: {
851
- id: string;
852
- release: string;
853
- quest: string;
854
- member: string;
855
- evidence: string | null;
856
- status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
857
- reason: string | null;
858
- retries: number;
859
- generation: number;
860
- completion: string | null;
861
- reviewRewards: ({
862
- kind: "tier";
863
- reward: {
864
- id: string;
865
- title: string;
866
- tiers: {
867
- id: string;
868
- title: string;
869
- }[];
870
- inventory: {
871
- kind: "untracked";
872
- };
873
- fulfillment: {
874
- kind: "staff-handover";
875
- };
876
- };
877
- tier: string;
878
- } | {
879
- kind: "points";
880
- balance: string;
881
- amount: number;
882
- } | {
883
- kind: "integration";
884
- provider: "discord";
885
- action: "grant-role";
886
- roleId: string;
887
- })[] | null;
888
- requestedReview: boolean;
889
- createdAt: number;
890
- input?: {
891
- kind: "text";
892
- value: string;
893
- } | {
894
- kind: "url";
895
- value: string;
896
- } | {
897
- kind: "quiz";
898
- answers: {
899
- [k: string]: string;
900
- };
901
- release?: string | undefined;
902
- } | undefined;
903
- } | null;
904
- release: string;
905
- interaction: "url" | "text" | "automatic" | "claim" | "staff" | "quiz" | "photo";
906
- lifecycle: "paused" | "active" | "archived";
907
- rewards: ({
908
- kind: "points";
909
- label: string;
910
- amount: number;
911
- ledger: {
912
- id: string;
913
- key: string | null;
914
- name: string;
915
- };
916
- } | {
917
- kind: "tier";
918
- label: string;
919
- reward: {
920
- id: string;
921
- key: string | null;
922
- title: string;
923
- };
924
- tier: string;
925
- } | {
926
- kind: "integration";
927
- label: string;
928
- })[];
929
- key?: string | undefined;
930
- streak?: {
931
- goal: number;
932
- current: number;
933
- best: number;
934
- today: string;
935
- todayQualified: boolean;
936
- timeZone: string;
937
- nextBoundary: number;
938
- pendingTimeZone: {
939
- timeZone: string;
940
- effectiveAt: number;
941
- } | null;
942
- days: {
943
- day: number;
944
- date: string;
945
- timeZone: string;
946
- occurredAt: number;
947
- }[];
948
- milestone: {
949
- status: "pending";
950
- } | {
951
- status: "awarded";
952
- completion: string;
953
- achievedAt: number;
954
- } | {
955
- status: "budget-exhausted";
956
- budget: string;
957
- achievedAt: number;
958
- };
959
- } | null | undefined;
960
- }>;
961
- retry: (view: QuestView, requestOptions?: RelayRequestOptions) => Promise<{
962
- id: string;
963
- release: string;
964
- quest: string;
965
- member: string;
966
- evidence: string | null;
967
- status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
968
- reason: string | null;
969
- retries: number;
970
- generation: number;
971
- completion: string | null;
972
- reviewRewards: ({
973
- kind: "tier";
974
- reward: {
975
- id: string;
976
- title: string;
977
- tiers: {
978
- id: string;
979
- title: string;
980
- }[];
981
- inventory: {
982
- kind: "untracked";
983
- };
984
- fulfillment: {
985
- kind: "staff-handover";
986
- };
987
- };
988
- tier: string;
989
- } | {
990
- kind: "points";
991
- balance: string;
992
- amount: number;
993
- } | {
994
- kind: "integration";
995
- provider: "discord";
996
- action: "grant-role";
997
- roleId: string;
998
- })[] | null;
999
- requestedReview: boolean;
1000
- createdAt: number;
1001
- input?: {
1002
- kind: "text";
1003
- value: string;
1004
- } | {
1005
- kind: "url";
1006
- value: string;
1007
- } | {
1008
- kind: "quiz";
1009
- answers: {
1010
- [k: string]: string;
1011
- };
1012
- release?: string | undefined;
1013
- } | undefined;
1014
- }>;
1015
- experience: (requestOptions?: RelayRequestOptions) => Promise<{
1016
- member: string;
1017
- quests: {
1018
- quest: string;
1019
- title: string;
1020
- presentation: {
1021
- quiz?: {
1022
- id: string;
1023
- prompt: string;
1024
- choices: {
1025
- id: string;
1026
- label: string;
1027
- }[];
1028
- }[] | undefined;
1029
- instructions?: string | undefined;
1030
- video?: {
1031
- url: string;
1032
- poster?: string | undefined;
1033
- captions?: {
1034
- url: string;
1035
- language: string;
1036
- label: string;
1037
- } | undefined;
1038
- } | undefined;
1039
- };
1040
- connections: ("x" | "discord" | "google" | "apple")[];
1041
- trigger: {
1042
- kind: "automatic";
1043
- observation?: {
1044
- source: string;
1045
- type: string;
1046
- } | undefined;
1047
- content?: {
1048
- tracker: string;
1049
- window: {
1050
- start: number;
1051
- end?: number | undefined;
1052
- };
1053
- enrollment: "none" | "required";
1054
- posts: "after-enrollment" | "since-start";
1055
- historical: "automatic" | "claim" | "staff";
1056
- } | undefined;
1057
- tracker?: {
1058
- tracker: string;
1059
- source: "custom" | "x-search";
1060
- beneficiary: string;
1061
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
1062
- where?: {
1063
- path: string;
1064
- gt?: number | {
1065
- setting: string;
1066
- } | undefined;
1067
- gte?: number | {
1068
- setting: string;
1069
- } | undefined;
1070
- lt?: number | {
1071
- setting: string;
1072
- } | undefined;
1073
- lte?: number | {
1074
- setting: string;
1075
- } | undefined;
1076
- } | {
1077
- path: string;
1078
- equals: string | number | boolean;
1079
- } | undefined;
1080
- } | undefined;
1081
- } | {
1082
- kind: "manual";
1083
- input: "text";
1084
- constraints: {
1085
- required: boolean;
1086
- minLength: number;
1087
- maxLength: number;
1088
- };
1089
- actor?: "member" | "staff" | undefined;
1090
- } | {
1091
- kind: "manual";
1092
- input: "url";
1093
- constraints: {
1094
- required: boolean;
1095
- allowedHosts?: string[] | undefined;
1096
- };
1097
- actor?: "member" | "staff" | undefined;
1098
- } | {
1099
- kind: "manual";
1100
- input: "none" | "quiz" | "photo";
1101
- actor?: "member" | "staff" | undefined;
1102
- };
1103
- availability: {
1104
- kind: "available";
1105
- input: "url" | "text" | "none" | "quiz" | "photo";
1106
- } | {
1107
- kind: "completed";
1108
- } | {
1109
- kind: "locked";
1110
- missing: {
1111
- quest: string;
1112
- title: string;
1113
- }[];
1114
- } | {
1115
- kind: "staff-required";
1116
- } | {
1117
- kind: "automatic";
1118
- observation?: {
1119
- source: string;
1120
- type: string;
1121
- } | undefined;
1122
- } | {
1123
- kind: "checking";
1124
- attempt: string;
1125
- } | {
1126
- kind: "needs-review";
1127
- attempt: string;
1128
- } | {
1129
- kind: "retryable";
1130
- attempt: string;
1131
- };
1132
- completed: boolean;
1133
- completion: {
1134
- kind: "streak";
1135
- days: number;
1136
- timeZone: string;
1137
- } | {
1138
- kind: "once";
1139
- } | {
1140
- kind: "keyed";
1141
- };
1142
- completionCount: number;
1143
- visibility: "visible" | "hidden";
1144
- missing: {
1145
- quest: string;
1146
- title: string;
1147
- }[];
1148
- attempt: {
1149
- id: string;
1150
- release: string;
1151
- quest: string;
1152
- member: string;
1153
- evidence: string | null;
1154
- status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
1155
- reason: string | null;
1156
- retries: number;
1157
- generation: number;
1158
- completion: string | null;
1159
- reviewRewards: ({
1160
- kind: "tier";
1161
- reward: {
1162
- id: string;
1163
- title: string;
1164
- tiers: {
1165
- id: string;
1166
- title: string;
1167
- }[];
1168
- inventory: {
1169
- kind: "untracked";
1170
- };
1171
- fulfillment: {
1172
- kind: "staff-handover";
1173
- };
1174
- };
1175
- tier: string;
1176
- } | {
1177
- kind: "points";
1178
- balance: string;
1179
- amount: number;
1180
- } | {
1181
- kind: "integration";
1182
- provider: "discord";
1183
- action: "grant-role";
1184
- roleId: string;
1185
- })[] | null;
1186
- requestedReview: boolean;
1187
- createdAt: number;
1188
- input?: {
1189
- kind: "text";
1190
- value: string;
1191
- } | {
1192
- kind: "url";
1193
- value: string;
1194
- } | {
1195
- kind: "quiz";
1196
- answers: {
1197
- [k: string]: string;
1198
- };
1199
- release?: string | undefined;
1200
- } | undefined;
1201
- } | null;
1202
- release: string;
1203
- interaction: "url" | "text" | "automatic" | "claim" | "staff" | "quiz" | "photo";
1204
- lifecycle: "paused" | "active" | "archived";
1205
- rewards: ({
1206
- kind: "points";
1207
- label: string;
1208
- amount: number;
1209
- ledger: {
1210
- id: string;
1211
- key: string | null;
1212
- name: string;
1213
- };
1214
- } | {
1215
- kind: "tier";
1216
- label: string;
1217
- reward: {
1218
- id: string;
1219
- key: string | null;
1220
- title: string;
1221
- };
1222
- tier: string;
1223
- } | {
1224
- kind: "integration";
1225
- label: string;
1226
- })[];
1227
- key?: string | undefined;
1228
- streak?: {
1229
- goal: number;
1230
- current: number;
1231
- best: number;
1232
- today: string;
1233
- todayQualified: boolean;
1234
- timeZone: string;
1235
- nextBoundary: number;
1236
- pendingTimeZone: {
1237
- timeZone: string;
1238
- effectiveAt: number;
1239
- } | null;
1240
- days: {
1241
- day: number;
1242
- date: string;
1243
- timeZone: string;
1244
- occurredAt: number;
1245
- }[];
1246
- milestone: {
1247
- status: "pending";
1248
- } | {
1249
- status: "awarded";
1250
- completion: string;
1251
- achievedAt: number;
1252
- } | {
1253
- status: "budget-exhausted";
1254
- budget: string;
1255
- achievedAt: number;
1256
- };
1257
- } | null | undefined;
1258
- }[];
1259
- collections: {
1260
- id: string;
1261
- title: string;
1262
- quests: {
1263
- quest: string;
1264
- title: string;
1265
- presentation: {
1266
- quiz?: {
1267
- id: string;
1268
- prompt: string;
1269
- choices: {
1270
- id: string;
1271
- label: string;
1272
- }[];
1273
- }[] | undefined;
1274
- instructions?: string | undefined;
1275
- video?: {
1276
- url: string;
1277
- poster?: string | undefined;
1278
- captions?: {
1279
- url: string;
1280
- language: string;
1281
- label: string;
1282
- } | undefined;
1283
- } | undefined;
1284
- };
1285
- connections: ("x" | "discord" | "google" | "apple")[];
1286
- trigger: {
1287
- kind: "automatic";
1288
- observation?: {
1289
- source: string;
1290
- type: string;
1291
- } | undefined;
1292
- content?: {
1293
- tracker: string;
1294
- window: {
1295
- start: number;
1296
- end?: number | undefined;
1297
- };
1298
- enrollment: "none" | "required";
1299
- posts: "after-enrollment" | "since-start";
1300
- historical: "automatic" | "claim" | "staff";
1301
- } | undefined;
1302
- tracker?: {
1303
- tracker: string;
1304
- source: "custom" | "x-search";
1305
- beneficiary: string;
1306
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
1307
- where?: {
1308
- path: string;
1309
- gt?: number | {
1310
- setting: string;
1311
- } | undefined;
1312
- gte?: number | {
1313
- setting: string;
1314
- } | undefined;
1315
- lt?: number | {
1316
- setting: string;
1317
- } | undefined;
1318
- lte?: number | {
1319
- setting: string;
1320
- } | undefined;
1321
- } | {
1322
- path: string;
1323
- equals: string | number | boolean;
1324
- } | undefined;
1325
- } | undefined;
1326
- } | {
1327
- kind: "manual";
1328
- input: "text";
1329
- constraints: {
1330
- required: boolean;
1331
- minLength: number;
1332
- maxLength: number;
1333
- };
1334
- actor?: "member" | "staff" | undefined;
1335
- } | {
1336
- kind: "manual";
1337
- input: "url";
1338
- constraints: {
1339
- required: boolean;
1340
- allowedHosts?: string[] | undefined;
1341
- };
1342
- actor?: "member" | "staff" | undefined;
1343
- } | {
1344
- kind: "manual";
1345
- input: "none" | "quiz" | "photo";
1346
- actor?: "member" | "staff" | undefined;
1347
- };
1348
- availability: {
1349
- kind: "available";
1350
- input: "url" | "text" | "none" | "quiz" | "photo";
1351
- } | {
1352
- kind: "completed";
1353
- } | {
1354
- kind: "locked";
1355
- missing: {
1356
- quest: string;
1357
- title: string;
1358
- }[];
1359
- } | {
1360
- kind: "staff-required";
1361
- } | {
1362
- kind: "automatic";
1363
- observation?: {
1364
- source: string;
1365
- type: string;
1366
- } | undefined;
1367
- } | {
1368
- kind: "checking";
1369
- attempt: string;
1370
- } | {
1371
- kind: "needs-review";
1372
- attempt: string;
1373
- } | {
1374
- kind: "retryable";
1375
- attempt: string;
1376
- };
1377
- completed: boolean;
1378
- completion: {
1379
- kind: "streak";
1380
- days: number;
1381
- timeZone: string;
1382
- } | {
1383
- kind: "once";
1384
- } | {
1385
- kind: "keyed";
1386
- };
1387
- completionCount: number;
1388
- visibility: "visible" | "hidden";
1389
- missing: {
1390
- quest: string;
1391
- title: string;
1392
- }[];
1393
- attempt: {
1394
- id: string;
1395
- release: string;
1396
- quest: string;
1397
- member: string;
1398
- evidence: string | null;
1399
- status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
1400
- reason: string | null;
1401
- retries: number;
1402
- generation: number;
1403
- completion: string | null;
1404
- reviewRewards: ({
1405
- kind: "tier";
1406
- reward: {
1407
- id: string;
1408
- title: string;
1409
- tiers: {
1410
- id: string;
1411
- title: string;
1412
- }[];
1413
- inventory: {
1414
- kind: "untracked";
1415
- };
1416
- fulfillment: {
1417
- kind: "staff-handover";
1418
- };
1419
- };
1420
- tier: string;
1421
- } | {
1422
- kind: "points";
1423
- balance: string;
1424
- amount: number;
1425
- } | {
1426
- kind: "integration";
1427
- provider: "discord";
1428
- action: "grant-role";
1429
- roleId: string;
1430
- })[] | null;
1431
- requestedReview: boolean;
1432
- createdAt: number;
1433
- input?: {
1434
- kind: "text";
1435
- value: string;
1436
- } | {
1437
- kind: "url";
1438
- value: string;
1439
- } | {
1440
- kind: "quiz";
1441
- answers: {
1442
- [k: string]: string;
1443
- };
1444
- release?: string | undefined;
1445
- } | undefined;
1446
- } | null;
1447
- release: string;
1448
- interaction: "url" | "text" | "automatic" | "claim" | "staff" | "quiz" | "photo";
1449
- lifecycle: "paused" | "active" | "archived";
1450
- rewards: ({
1451
- kind: "points";
1452
- label: string;
1453
- amount: number;
1454
- ledger: {
1455
- id: string;
1456
- key: string | null;
1457
- name: string;
1458
- };
1459
- } | {
1460
- kind: "tier";
1461
- label: string;
1462
- reward: {
1463
- id: string;
1464
- key: string | null;
1465
- title: string;
1466
- };
1467
- tier: string;
1468
- } | {
1469
- kind: "integration";
1470
- label: string;
1471
- })[];
1472
- key?: string | undefined;
1473
- streak?: {
1474
- goal: number;
1475
- current: number;
1476
- best: number;
1477
- today: string;
1478
- todayQualified: boolean;
1479
- timeZone: string;
1480
- nextBoundary: number;
1481
- pendingTimeZone: {
1482
- timeZone: string;
1483
- effectiveAt: number;
1484
- } | null;
1485
- days: {
1486
- day: number;
1487
- date: string;
1488
- timeZone: string;
1489
- occurredAt: number;
1490
- }[];
1491
- milestone: {
1492
- status: "pending";
1493
- } | {
1494
- status: "awarded";
1495
- completion: string;
1496
- achievedAt: number;
1497
- } | {
1498
- status: "budget-exhausted";
1499
- budget: string;
1500
- achievedAt: number;
1501
- };
1502
- } | null | undefined;
1503
- }[];
1504
- key?: string | undefined;
1505
- }[];
1506
- }>;
1507
- collection: (id: string, requestOptions?: RelayRequestOptions) => Promise<{
1508
- id: string;
1509
- title: string;
1510
- quests: {
1511
- quest: string;
1512
- title: string;
1513
- presentation: {
1514
- quiz?: {
1515
- id: string;
1516
- prompt: string;
1517
- choices: {
1518
- id: string;
1519
- label: string;
1520
- }[];
1521
- }[] | undefined;
1522
- instructions?: string | undefined;
1523
- video?: {
1524
- url: string;
1525
- poster?: string | undefined;
1526
- captions?: {
1527
- url: string;
1528
- language: string;
1529
- label: string;
1530
- } | undefined;
1531
- } | undefined;
1532
- };
1533
- connections: ("x" | "discord" | "google" | "apple")[];
1534
- trigger: {
1535
- kind: "automatic";
1536
- observation?: {
1537
- source: string;
1538
- type: string;
1539
- } | undefined;
1540
- content?: {
1541
- tracker: string;
1542
- window: {
1543
- start: number;
1544
- end?: number | undefined;
1545
- };
1546
- enrollment: "none" | "required";
1547
- posts: "after-enrollment" | "since-start";
1548
- historical: "automatic" | "claim" | "staff";
1549
- } | undefined;
1550
- tracker?: {
1551
- tracker: string;
1552
- source: "custom" | "x-search";
1553
- beneficiary: string;
1554
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
1555
- where?: {
1556
- path: string;
1557
- gt?: number | {
1558
- setting: string;
1559
- } | undefined;
1560
- gte?: number | {
1561
- setting: string;
1562
- } | undefined;
1563
- lt?: number | {
1564
- setting: string;
1565
- } | undefined;
1566
- lte?: number | {
1567
- setting: string;
1568
- } | undefined;
1569
- } | {
1570
- path: string;
1571
- equals: string | number | boolean;
1572
- } | undefined;
1573
- } | undefined;
1574
- } | {
1575
- kind: "manual";
1576
- input: "text";
1577
- constraints: {
1578
- required: boolean;
1579
- minLength: number;
1580
- maxLength: number;
1581
- };
1582
- actor?: "member" | "staff" | undefined;
1583
- } | {
1584
- kind: "manual";
1585
- input: "url";
1586
- constraints: {
1587
- required: boolean;
1588
- allowedHosts?: string[] | undefined;
1589
- };
1590
- actor?: "member" | "staff" | undefined;
1591
- } | {
1592
- kind: "manual";
1593
- input: "none" | "quiz" | "photo";
1594
- actor?: "member" | "staff" | undefined;
1595
- };
1596
- availability: {
1597
- kind: "available";
1598
- input: "url" | "text" | "none" | "quiz" | "photo";
1599
- } | {
1600
- kind: "completed";
1601
- } | {
1602
- kind: "locked";
1603
- missing: {
1604
- quest: string;
1605
- title: string;
1606
- }[];
1607
- } | {
1608
- kind: "staff-required";
1609
- } | {
1610
- kind: "automatic";
1611
- observation?: {
1612
- source: string;
1613
- type: string;
1614
- } | undefined;
1615
- } | {
1616
- kind: "checking";
1617
- attempt: string;
1618
- } | {
1619
- kind: "needs-review";
1620
- attempt: string;
1621
- } | {
1622
- kind: "retryable";
1623
- attempt: string;
1624
- };
1625
- completed: boolean;
1626
- completion: {
1627
- kind: "streak";
1628
- days: number;
1629
- timeZone: string;
1630
- } | {
1631
- kind: "once";
1632
- } | {
1633
- kind: "keyed";
1634
- };
1635
- completionCount: number;
1636
- visibility: "visible" | "hidden";
1637
- missing: {
1638
- quest: string;
1639
- title: string;
1640
- }[];
1641
- attempt: {
1642
- id: string;
1643
- release: string;
1644
- quest: string;
1645
- member: string;
1646
- evidence: string | null;
1647
- status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
1648
- reason: string | null;
1649
- retries: number;
1650
- generation: number;
1651
- completion: string | null;
1652
- reviewRewards: ({
1653
- kind: "tier";
1654
- reward: {
1655
- id: string;
1656
- title: string;
1657
- tiers: {
1658
- id: string;
1659
- title: string;
1660
- }[];
1661
- inventory: {
1662
- kind: "untracked";
1663
- };
1664
- fulfillment: {
1665
- kind: "staff-handover";
1666
- };
1667
- };
1668
- tier: string;
1669
- } | {
1670
- kind: "points";
1671
- balance: string;
1672
- amount: number;
1673
- } | {
1674
- kind: "integration";
1675
- provider: "discord";
1676
- action: "grant-role";
1677
- roleId: string;
1678
- })[] | null;
1679
- requestedReview: boolean;
1680
- createdAt: number;
1681
- input?: {
1682
- kind: "text";
1683
- value: string;
1684
- } | {
1685
- kind: "url";
1686
- value: string;
1687
- } | {
1688
- kind: "quiz";
1689
- answers: {
1690
- [k: string]: string;
1691
- };
1692
- release?: string | undefined;
1693
- } | undefined;
1694
- } | null;
1695
- release: string;
1696
- interaction: "url" | "text" | "automatic" | "claim" | "staff" | "quiz" | "photo";
1697
- lifecycle: "paused" | "active" | "archived";
1698
- rewards: ({
1699
- kind: "points";
1700
- label: string;
1701
- amount: number;
1702
- ledger: {
1703
- id: string;
1704
- key: string | null;
1705
- name: string;
1706
- };
1707
- } | {
1708
- kind: "tier";
1709
- label: string;
1710
- reward: {
1711
- id: string;
1712
- key: string | null;
1713
- title: string;
1714
- };
1715
- tier: string;
1716
- } | {
1717
- kind: "integration";
1718
- label: string;
1719
- })[];
1720
- key?: string | undefined;
1721
- streak?: {
1722
- goal: number;
1723
- current: number;
1724
- best: number;
1725
- today: string;
1726
- todayQualified: boolean;
1727
- timeZone: string;
1728
- nextBoundary: number;
1729
- pendingTimeZone: {
1730
- timeZone: string;
1731
- effectiveAt: number;
1732
- } | null;
1733
- days: {
1734
- day: number;
1735
- date: string;
1736
- timeZone: string;
1737
- occurredAt: number;
1738
- }[];
1739
- milestone: {
1740
- status: "pending";
1741
- } | {
1742
- status: "awarded";
1743
- completion: string;
1744
- achievedAt: number;
1745
- } | {
1746
- status: "budget-exhausted";
1747
- budget: string;
1748
- achievedAt: number;
1749
- };
1750
- } | null | undefined;
1751
- }[];
1752
- key?: string | undefined;
1753
- }>;
1754
- open: (view: QuestView) => Promise<QuestController>;
1755
- observe: (listener: (value: ProgressObservation<zod.infer<typeof questExperienceSchema>>) => void, observeOptions?: {
1756
- intervalMs?: number;
1757
- maxBackoffMs?: number;
1758
- }) => ProgressObserver;
1759
- };
1760
- wallets: {
1761
- list: (requestOptions?: RelayRequestOptions) => Promise<{
1762
- chain: "solana" | "eip155" | "cosmos";
1763
- network: `cosmos:${string}` | null;
1764
- address: string;
1765
- verifiedAt: number;
1766
- revision: number;
1767
- signIn: boolean;
1768
- }[]>;
1769
- challenge: (value: zod.input<typeof walletAddressInputSchema>, requestOptions?: RelayRequestOptions) => Promise<{
1770
- id: string;
1771
- purpose: "link" | "sign-in";
1772
- chain: "solana" | "eip155" | "cosmos";
1773
- network: `cosmos:${string}` | null;
1774
- address: string;
1775
- message: string;
1776
- expiresAt: number;
1777
- }>;
1778
- verify: (value: zod.input<typeof walletSignatureSchema>, requestOptions?: RelayRequestOptions) => Promise<{
1779
- chain: "solana" | "eip155" | "cosmos";
1780
- network: `cosmos:${string}` | null;
1781
- address: string;
1782
- verifiedAt: number;
1783
- revision: number;
1784
- signIn: boolean;
1785
- }>;
1786
- unlink: (wallet: Pick<LinkedWallet, "chain" | "address">, requestOptions?: RelayRequestOptions) => Promise<{
1787
- ok: true;
1788
- }>;
1789
- link: (signer: WalletSigner, requestOptions?: RelayRequestOptions) => Promise<{
1790
- chain: "solana" | "eip155" | "cosmos";
1791
- network: `cosmos:${string}` | null;
1792
- address: string;
1793
- verifiedAt: number;
1794
- revision: number;
1795
- signIn: boolean;
1796
- }>;
1797
- };
1798
- auth: {
1799
- providers: (requestOptions?: RelayRequestOptions) => Promise<{
1800
- providers: {
1801
- provider: "x" | "discord" | "google" | "apple";
1802
- configured: boolean;
1803
- }[];
1804
- email: boolean;
1805
- wallets: ("solana" | "eip155" | "cosmos")[];
1806
- demo: boolean;
1807
- }>;
1808
- start: (provider: AuthProvider, mode: "sign-in" | "connect", requestOptions?: RelayRequestOptions) => Promise<{
1809
- url: string;
1810
- }>;
1811
- emailStart: (email: string, requestOptions?: RelayRequestOptions) => Promise<{
1812
- challenge: string;
1813
- }>;
1814
- emailVerify: (challenge: string, code: string, requestOptions?: RelayRequestOptions) => Promise<{
1815
- id: string;
1816
- principal: {
1817
- kind: "member";
1818
- member: string;
1819
- } | {
1820
- kind: "staff";
1821
- subject: string;
1822
- } | {
1823
- kind: "operator";
1824
- subject: string;
1825
- } | {
1826
- kind: string;
1827
- };
1828
- expiresAt: number;
1829
- organization: string;
1830
- project: string;
1831
- environment: "test" | "live";
1832
- }>;
1833
- wallet: {
1834
- start: (value: zod.input<typeof walletAddressInputSchema>, requestOptions?: RelayRequestOptions) => Promise<{
1835
- id: string;
1836
- purpose: "link" | "sign-in";
1837
- chain: "solana" | "eip155" | "cosmos";
1838
- network: `cosmos:${string}` | null;
1839
- address: string;
1840
- message: string;
1841
- expiresAt: number;
1842
- }>;
1843
- verify: (proof: zod.input<typeof walletSignatureSchema>, requestOptions?: RelayRequestOptions) => Promise<{
1844
- id: string;
1845
- principal: {
1846
- kind: "member";
1847
- member: string;
1848
- } | {
1849
- kind: "staff";
1850
- subject: string;
1851
- } | {
1852
- kind: "operator";
1853
- subject: string;
1854
- } | {
1855
- kind: string;
1856
- };
1857
- expiresAt: number;
1858
- organization: string;
1859
- project: string;
1860
- environment: "test" | "live";
1861
- }>;
1862
- signIn: (signer: WalletSigner, requestOptions?: RelayRequestOptions) => Promise<{
1863
- id: string;
1864
- principal: {
1865
- kind: "member";
1866
- member: string;
1867
- } | {
1868
- kind: "staff";
1869
- subject: string;
1870
- } | {
1871
- kind: "operator";
1872
- subject: string;
1873
- } | {
1874
- kind: string;
1875
- };
1876
- expiresAt: number;
1877
- organization: string;
1878
- project: string;
1879
- environment: "test" | "live";
1880
- }>;
1881
- };
1882
- accounts: (requestOptions?: RelayRequestOptions) => Promise<{
1883
- provider: "x" | "discord" | "google" | "apple";
1884
- configured: boolean;
1885
- status: "disconnected" | "connected" | "reconnect";
1886
- subject: string | null;
1887
- revision: number;
1888
- }[]>;
1889
- disconnect: (provider: AuthProvider, requestOptions?: RelayRequestOptions) => Promise<{
1890
- ok: boolean;
1891
- }>;
1892
- session: (requestOptions?: RelayRequestOptions) => Promise<{
1893
- id: string;
1894
- principal: {
1895
- kind: "member";
1896
- member: string;
1897
- } | {
1898
- kind: "staff";
1899
- subject: string;
1900
- } | {
1901
- kind: "operator";
1902
- subject: string;
1903
- } | {
1904
- kind: string;
1905
- };
1906
- expiresAt: number;
1907
- organization: string;
1908
- project: string;
1909
- environment: "test" | "live";
1910
- } | null>;
1911
- signOut: (requestOptions?: RelayRequestOptions) => Promise<{
1912
- ok: boolean;
1913
- }>;
1914
- exchange: (value: zod.input<typeof exchangeSchema>, requestOptions?: RelayRequestOptions) => Promise<{
1915
- token: string;
1916
- session: {
1917
- id: string;
1918
- principal: {
1919
- kind: "member";
1920
- member: string;
1921
- } | {
1922
- kind: "staff";
1923
- subject: string;
1924
- } | {
1925
- kind: "operator";
1926
- subject: string;
1927
- };
1928
- expiresAt: number;
1929
- organization: string;
1930
- project: string;
1931
- environment: "test" | "live";
1932
- };
1933
- }>;
1934
- };
1935
- me: {
1936
- get: (requestOptions?: RelayRequestOptions) => Promise<{
1937
- member: string;
1938
- avatarSeed: string;
1939
- }>;
1940
- observeProgress: (listener: (value: ProgressObservation) => void, observeOptions?: {
1941
- intervalMs?: number;
1942
- maxBackoffMs?: number;
1943
- }) => ProgressObserver;
1944
- submission: {
1945
- (quest: string, options?: {
1946
- input: "photo";
1947
- release?: string;
1948
- recoverPrevious?: boolean;
1949
- repeatable?: boolean;
1950
- }): Promise<PhotoSubmission>;
1951
- (quest: string, options: {
1952
- input: "quiz";
1953
- release?: string;
1954
- recoverPrevious?: boolean;
1955
- repeatable?: boolean;
1956
- }): Promise<QuizSubmission>;
1957
- (quest: string, options: {
1958
- input: "none";
1959
- release?: string;
1960
- recoverPrevious?: boolean;
1961
- repeatable?: boolean;
1962
- }): Promise<ClaimSubmission>;
1963
- (quest: string, options: {
1964
- input: "text" | "url";
1965
- release?: string;
1966
- recoverPrevious?: boolean;
1967
- repeatable?: boolean;
1968
- }): Promise<ValueSubmission>;
1969
- };
1970
- collectionPass: (entitlement: string, requestOptions?: RelayRequestOptions) => Promise<{
1971
- code: string;
1972
- expiresAt: number;
1973
- entitlement: string;
1974
- }>;
1975
- progress: (requestOptions?: RelayRequestOptions) => Promise<{
1976
- member: string;
1977
- quests: {
1978
- quest: string;
1979
- title: string;
1980
- presentation: {
1981
- quiz?: {
1982
- id: string;
1983
- prompt: string;
1984
- choices: {
1985
- id: string;
1986
- label: string;
1987
- }[];
1988
- }[] | undefined;
1989
- instructions?: string | undefined;
1990
- video?: {
1991
- url: string;
1992
- poster?: string | undefined;
1993
- captions?: {
1994
- url: string;
1995
- language: string;
1996
- label: string;
1997
- } | undefined;
1998
- } | undefined;
1999
- };
2000
- connections: ("x" | "discord" | "google" | "apple")[];
2001
- trigger: {
2002
- kind: "automatic";
2003
- observation?: {
2004
- source: string;
2005
- type: string;
2006
- } | undefined;
2007
- content?: {
2008
- tracker: string;
2009
- window: {
2010
- start: number;
2011
- end?: number | undefined;
2012
- };
2013
- enrollment: "none" | "required";
2014
- posts: "after-enrollment" | "since-start";
2015
- historical: "automatic" | "claim" | "staff";
2016
- } | undefined;
2017
- tracker?: {
2018
- tracker: string;
2019
- source: "custom" | "x-search";
2020
- beneficiary: string;
2021
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
2022
- where?: {
2023
- path: string;
2024
- gt?: number | {
2025
- setting: string;
2026
- } | undefined;
2027
- gte?: number | {
2028
- setting: string;
2029
- } | undefined;
2030
- lt?: number | {
2031
- setting: string;
2032
- } | undefined;
2033
- lte?: number | {
2034
- setting: string;
2035
- } | undefined;
2036
- } | {
2037
- path: string;
2038
- equals: string | number | boolean;
2039
- } | undefined;
2040
- } | undefined;
2041
- } | {
2042
- kind: "manual";
2043
- input: "text";
2044
- constraints: {
2045
- required: boolean;
2046
- minLength: number;
2047
- maxLength: number;
2048
- };
2049
- actor?: "member" | "staff" | undefined;
2050
- } | {
2051
- kind: "manual";
2052
- input: "url";
2053
- constraints: {
2054
- required: boolean;
2055
- allowedHosts?: string[] | undefined;
2056
- };
2057
- actor?: "member" | "staff" | undefined;
2058
- } | {
2059
- kind: "manual";
2060
- input: "none" | "quiz" | "photo";
2061
- actor?: "member" | "staff" | undefined;
2062
- };
2063
- availability: {
2064
- kind: "available";
2065
- input: "url" | "text" | "none" | "quiz" | "photo";
2066
- } | {
2067
- kind: "completed";
2068
- } | {
2069
- kind: "locked";
2070
- missing: {
2071
- quest: string;
2072
- title: string;
2073
- }[];
2074
- } | {
2075
- kind: "staff-required";
2076
- } | {
2077
- kind: "automatic";
2078
- observation?: {
2079
- source: string;
2080
- type: string;
2081
- } | undefined;
2082
- } | {
2083
- kind: "checking";
2084
- attempt: string;
2085
- } | {
2086
- kind: "needs-review";
2087
- attempt: string;
2088
- } | {
2089
- kind: "retryable";
2090
- attempt: string;
2091
- };
2092
- completed: boolean;
2093
- completion: {
2094
- kind: "streak";
2095
- days: number;
2096
- timeZone: string;
2097
- } | {
2098
- kind: "once";
2099
- } | {
2100
- kind: "keyed";
2101
- };
2102
- completionCount: number;
2103
- visibility: "visible" | "hidden";
2104
- missing: {
2105
- quest: string;
2106
- title: string;
2107
- }[];
2108
- attempt: {
2109
- id: string;
2110
- release: string;
2111
- quest: string;
2112
- member: string;
2113
- evidence: string | null;
2114
- status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
2115
- reason: string | null;
2116
- retries: number;
2117
- generation: number;
2118
- completion: string | null;
2119
- reviewRewards: ({
2120
- kind: "tier";
2121
- reward: {
2122
- id: string;
2123
- title: string;
2124
- tiers: {
2125
- id: string;
2126
- title: string;
2127
- }[];
2128
- inventory: {
2129
- kind: "untracked";
2130
- };
2131
- fulfillment: {
2132
- kind: "staff-handover";
2133
- };
2134
- };
2135
- tier: string;
2136
- } | {
2137
- kind: "points";
2138
- balance: string;
2139
- amount: number;
2140
- } | {
2141
- kind: "integration";
2142
- provider: "discord";
2143
- action: "grant-role";
2144
- roleId: string;
2145
- })[] | null;
2146
- requestedReview: boolean;
2147
- createdAt: number;
2148
- input?: {
2149
- kind: "text";
2150
- value: string;
2151
- } | {
2152
- kind: "url";
2153
- value: string;
2154
- } | {
2155
- kind: "quiz";
2156
- answers: {
2157
- [k: string]: string;
2158
- };
2159
- release?: string | undefined;
2160
- } | undefined;
2161
- } | null;
2162
- key?: string | undefined;
2163
- release?: string | undefined;
2164
- streak?: {
2165
- goal: number;
2166
- current: number;
2167
- best: number;
2168
- today: string;
2169
- todayQualified: boolean;
2170
- timeZone: string;
2171
- nextBoundary: number;
2172
- pendingTimeZone: {
2173
- timeZone: string;
2174
- effectiveAt: number;
2175
- } | null;
2176
- days: {
2177
- day: number;
2178
- date: string;
2179
- timeZone: string;
2180
- occurredAt: number;
2181
- }[];
2182
- milestone: {
2183
- status: "pending";
2184
- } | {
2185
- status: "awarded";
2186
- completion: string;
2187
- achievedAt: number;
2188
- } | {
2189
- status: "budget-exhausted";
2190
- budget: string;
2191
- achievedAt: number;
2192
- };
2193
- } | null | undefined;
2194
- }[];
2195
- entitlements: ({
2196
- status: "available";
2197
- id: string;
2198
- member: string;
2199
- reward: {
2200
- id: string;
2201
- title: string;
2202
- tiers: {
2203
- id: string;
2204
- title: string;
2205
- }[];
2206
- inventory: {
2207
- kind: "untracked";
2208
- };
2209
- fulfillment: {
2210
- kind: "staff-handover";
2211
- };
2212
- };
2213
- earnedTier: string;
2214
- tier: string;
2215
- revision: number;
2216
- } | {
2217
- status: "handing-over";
2218
- handover: string;
2219
- startedAt: number;
2220
- id: string;
2221
- member: string;
2222
- reward: {
2223
- id: string;
2224
- title: string;
2225
- tiers: {
2226
- id: string;
2227
- title: string;
2228
- }[];
2229
- inventory: {
2230
- kind: "untracked";
2231
- };
2232
- fulfillment: {
2233
- kind: "staff-handover";
2234
- };
2235
- };
2236
- earnedTier: string;
2237
- tier: string;
2238
- revision: number;
2239
- allocation?: {
2240
- item: string;
2241
- label: string;
2242
- } | undefined;
2243
- } | {
2244
- status: "collected";
2245
- handover: string;
2246
- startedAt: number;
2247
- collectedAt: number;
2248
- id: string;
2249
- member: string;
2250
- reward: {
2251
- id: string;
2252
- title: string;
2253
- tiers: {
2254
- id: string;
2255
- title: string;
2256
- }[];
2257
- inventory: {
2258
- kind: "untracked";
2259
- };
2260
- fulfillment: {
2261
- kind: "staff-handover";
2262
- };
2263
- };
2264
- earnedTier: string;
2265
- tier: string;
2266
- revision: number;
2267
- allocation?: {
2268
- item: string;
2269
- label: string;
2270
- } | undefined;
2271
- })[];
2272
- }>;
2273
- rewardDeliveries: (requestOptions?: RelayRequestOptions) => Promise<{
2274
- deliveries: {
2275
- id: string;
2276
- quest: string;
2277
- completion: string;
2278
- member: string;
2279
- provider: "discord";
2280
- action: "grant-role";
2281
- roleId: string;
2282
- status: "pending" | "failed" | "delivered";
2283
- attempts: number;
2284
- nextAt: number;
2285
- lastError: string | null;
2286
- createdAt: number;
2287
- deliveredAt: number | null;
2288
- }[];
2289
- }>;
2290
- claim: (value: Omit<zod.input<typeof submitSchema>, "member">, requestOptions?: RelayRequestOptions) => Promise<{
2291
- id: string;
2292
- release: string;
2293
- quest: string;
2294
- member: string;
2295
- evidence: string | null;
2296
- status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
2297
- reason: string | null;
2298
- retries: number;
2299
- generation: number;
2300
- completion: string | null;
2301
- reviewRewards: ({
2302
- kind: "tier";
2303
- reward: {
2304
- id: string;
2305
- title: string;
2306
- tiers: {
2307
- id: string;
2308
- title: string;
2309
- }[];
2310
- inventory: {
2311
- kind: "untracked";
2312
- };
2313
- fulfillment: {
2314
- kind: "staff-handover";
2315
- };
2316
- };
2317
- tier: string;
2318
- } | {
2319
- kind: "points";
2320
- balance: string;
2321
- amount: number;
2322
- } | {
2323
- kind: "integration";
2324
- provider: "discord";
2325
- action: "grant-role";
2326
- roleId: string;
2327
- })[] | null;
2328
- requestedReview: boolean;
2329
- createdAt: number;
2330
- input?: {
2331
- kind: "text";
2332
- value: string;
2333
- } | {
2334
- kind: "url";
2335
- value: string;
2336
- } | {
2337
- kind: "quiz";
2338
- answers: {
2339
- [k: string]: string;
2340
- };
2341
- release?: string | undefined;
2342
- } | undefined;
2343
- }>;
2344
- upload: (file: Blob, requestOptions?: RelayRequestOptions) => Promise<{
2345
- id: string;
2346
- member: string;
2347
- type: "image/jpeg" | "image/png";
2348
- size: number;
2349
- }>;
2350
- };
2351
- evidence: {
2352
- download(id: string, requestOptions?: RelayRequestOptions): Promise<Blob>;
2353
- };
2354
- engagement: {
2355
- page: (query: zod.input<typeof engagementPageQuerySchema>, requestOptions?: RelayRequestOptions) => Promise<{
2356
- rule: {
2357
- version: string;
2358
- definition: {
2359
- key: string;
2360
- qualifiedBy: string;
2361
- balance: string;
2362
- metrics: ("likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks")[];
2363
- baseline: "historical";
2364
- maxAgeMs: number;
2365
- budget: {
2366
- projectDaily?: number | undefined;
2367
- memberDaily?: number | undefined;
2368
- projectLifetime?: number | undefined;
2369
- };
2370
- };
2371
- publishedAt: number;
2372
- };
2373
- account: {
2374
- member: string;
2375
- earned: number;
2376
- accounted: number;
2377
- paid: number;
2378
- excluded: number;
2379
- pending: number;
2380
- counters: Partial<Record<"likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks", number>>;
2381
- baseline: Partial<Record<"likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks", number>>;
2382
- observation: string | null;
2383
- nextSettlementAt: number | null;
2384
- reason: string | null;
2385
- } | null;
2386
- items: {
2387
- id: string;
2388
- day: string;
2389
- observation: string;
2390
- qualification: string;
2391
- earned: number;
2392
- growth: number;
2393
- paid: number;
2394
- excluded: number;
2395
- entry: string | null;
2396
- createdAt: number;
2397
- }[];
2398
- nextCursor: string | null;
2399
- }>;
2400
- boundaries: (query: zod.input<typeof engagementPageQuerySchema>, requestOptions?: RelayRequestOptions) => Promise<{
2401
- current: {
2402
- version: string;
2403
- definition: {
2404
- key: string;
2405
- qualifiedBy: string;
2406
- balance: string;
2407
- metrics: ("likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks")[];
2408
- baseline: "historical";
2409
- maxAgeMs: number;
2410
- budget: {
2411
- projectDaily?: number | undefined;
2412
- memberDaily?: number | undefined;
2413
- projectLifetime?: number | undefined;
2414
- };
2415
- };
2416
- publishedAt: number;
2417
- } | null;
2418
- requested: {
2419
- version: string;
2420
- definition: {
2421
- key: string;
2422
- qualifiedBy: string;
2423
- balance: string;
2424
- metrics: ("likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks")[];
2425
- baseline: "historical";
2426
- maxAgeMs: number;
2427
- budget: {
2428
- projectDaily?: number | undefined;
2429
- memberDaily?: number | undefined;
2430
- projectLifetime?: number | undefined;
2431
- };
2432
- };
2433
- publishedAt: number;
2434
- };
2435
- items: {
2436
- from: string;
2437
- to: string;
2438
- baseline: Partial<Record<"likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks", number>>;
2439
- observedAt: number;
2440
- settlement: {
2441
- id: string;
2442
- day: string;
2443
- observation: string;
2444
- qualification: string;
2445
- earned: number;
2446
- growth: number;
2447
- paid: number;
2448
- excluded: number;
2449
- entry: string | null;
2450
- createdAt: number;
2451
- };
2452
- }[];
2453
- nextCursor: string | null;
2454
- }>;
2455
- };
2456
- content: {
2457
- performance: (query: zod.input<typeof contentPerformanceQuerySchema>, requestOptions?: RelayRequestOptions) => Promise<{
2458
- current: {
2459
- state: "pending" | "superseded" | "qualified" | "unqualified" | "needs-review" | "failed" | "content-pending" | "content-unqualified" | "waiting";
2460
- reason: string | null;
2461
- contentAttempt: string;
2462
- attempt: string | null;
2463
- reward: {
2464
- attempt: string | null;
2465
- completion: string | null;
2466
- state: "excluded" | "unresolved" | "awarded";
2467
- };
2468
- };
2469
- items: {
2470
- attempt: string;
2471
- contentAttempt: string;
2472
- observation: string;
2473
- observedAt: number;
2474
- metrics: Partial<Record<"likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks", number>>;
2475
- state: "pending" | "superseded" | "qualified" | "unqualified" | "needs-review" | "failed";
2476
- reason: string | null;
2477
- }[];
2478
- nextCursor: string | null;
2479
- }>;
2480
- qualifications: (query: zod.input<typeof contentQualificationQuerySchema>, requestOptions?: RelayRequestOptions) => Promise<{
2481
- items: {
2482
- quest: string;
2483
- content: string;
2484
- member: string;
2485
- release: string;
2486
- attempt: string;
2487
- revision: string;
2488
- observation: string;
2489
- current: boolean;
2490
- state: "pending" | "superseded" | "qualified" | "unqualified" | "needs-review" | "failed" | "stale" | "blocked" | "unavailable";
2491
- reason: string | null;
2492
- reward: {
2493
- attempt: string | null;
2494
- completion: string | null;
2495
- state: "excluded" | "unresolved" | "awarded";
2496
- };
2497
- }[];
2498
- nextCursor: string | null;
2499
- }>;
2500
- admissions: (query: zod.input<typeof contentAdmissionQuerySchema>, requestOptions?: RelayRequestOptions) => Promise<{
2501
- items: {
2502
- quest: string;
2503
- content: string;
2504
- release: string;
2505
- state: "admitted" | "pending" | "excluded";
2506
- reason: string | null;
2507
- attempt: string | null;
2508
- }[];
2509
- nextCursor: string | null;
2510
- }>;
2511
- enroll: (value: zod.input<typeof contentEnrollmentInputSchema>, requestOptions?: RelayRequestOptions) => Promise<{
2512
- quest: string;
2513
- member: string;
2514
- enrolledAt: number;
2515
- }>;
2516
- claim: (value: zod.input<typeof contentReleaseInputSchema>, requestOptions?: RelayRequestOptions) => Promise<{
2517
- quest: string;
2518
- content: string;
2519
- release: string;
2520
- state: "admitted" | "pending" | "excluded";
2521
- reason: string | null;
2522
- attempt: string | null;
2523
- }>;
2524
- };
2525
- };
2526
- declare function browserSubmissionStore(): SubmissionStore;
2527
-
2528
- export { type CosmosChains, type DiscoveredWallet, type Eip1193Provider, type EmailSignInOption, type KeplrLike, type OAuthSignInOption, type SignInClient, type SignInIcon, type SignInMethods, type SignInOption, type SignInOptions, type SignInUnavailable, type SignInWallet, type SolanaInjectedProvider, type StandardWallet, type StandardWalletAccount, type WalletSignInOption, browserSubmissionStore, cosmosChainList, cosmosSigner, createBrowserRelayClient, discoverCosmosWallets, discoverEvmWallets, discoverSignInWallets, discoverSolanaWallets, evmSigner, signInOptions, solanaSigner, walletStandardSolanaSigner };
1
+ import './outcomes-kVB-Juzs.js';
2
+ import './groups-Ck-OxzjD.js';
3
+ import './client-XiuFnug_.js';
4
+ import './pages-BBYD21IE.js';
5
+ import './submission-input-BZkm6ohU.js';
6
+ import './wallet-YssWxGg8.js';
7
+ import './schema-DfJzH2ci.js';
8
+ import './profiles-D2aFcOxu.js';
9
+ export { C as CosmosChains, D as DiscoveredWallet, f as Eip1193Provider, E as EmailSignInOption, K as KeplrLike, O as OAuthSignInOption, g as SignInClient, e as SignInIcon, S as SignInMethods, a as SignInOption, h as SignInOptions, b as SignInUnavailable, d as SignInWallet, i as SolanaInjectedProvider, j as StandardWallet, k as StandardWalletAccount, W as WalletSignInOption, l as browserSubmissionStore, m as cosmosChainList, n as cosmosSigner, c as createBrowserRelayClient, o as discoverCosmosWallets, p as discoverEvmWallets, q as discoverSignInWallets, r as discoverSolanaWallets, s as evmSigner, t as signInOptions, u as solanaSigner, w as walletStandardSolanaSigner } from './browser-DFe7sWSN.js';
10
+ import 'zod';
11
+ import './request-error-DWduJCGV.js';