@domino-sdk/relay 1.0.0-next.7 → 1.0.0-next.9

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 (33) hide show
  1. package/dist/authoring.d.ts +143 -87
  2. package/dist/authoring.js +119 -44
  3. package/dist/avatar.d.ts +2 -2
  4. package/dist/browser.d.ts +291 -2274
  5. package/dist/browser.js +6 -6
  6. package/dist/{chunk-SKETUPST.js → chunk-4LBUTHD6.js} +1 -1
  7. package/dist/{chunk-ADSP377G.js → chunk-7Q4BGGT6.js} +26 -5
  8. package/dist/{chunk-AWLLGCKU.js → chunk-P6FK43GG.js} +22 -8
  9. package/dist/{chunk-DJZB5RY5.js → chunk-PHU5VDLR.js} +345 -243
  10. package/dist/{chunk-UFXBQ6FN.js → chunk-QR7ZA2BJ.js} +2 -2
  11. package/dist/{chunk-X6FJIPXR.js → chunk-X2F2RAR3.js} +553 -435
  12. package/dist/chunk-YYD4QUBO.js +2348 -0
  13. package/dist/{chunk-7HSTFBMO.js → chunk-ZWY3R6B3.js} +5 -3
  14. package/dist/{client-BufGakEt.d.ts → client-CT4-S5vc.d.ts} +371 -2232
  15. package/dist/{integrations-C3Sp558f.d.ts → images-BTgk6OmC.d.ts} +748 -481
  16. package/dist/index.d.ts +6 -6
  17. package/dist/index.js +19 -7
  18. package/dist/integrations-Ba5TtqTv.d.ts +410 -0
  19. package/dist/internal.d.ts +17 -5
  20. package/dist/internal.js +27 -6
  21. package/dist/{catalog-C09gnPYT.d.ts → pages-D3titw5B.d.ts} +297 -52
  22. package/dist/portal-proxy.js +6 -6
  23. package/dist/{profiles-BtOXMGcC.d.ts → profiles-DDMFBRKe.d.ts} +1 -1
  24. package/dist/react/index.d.ts +243 -2209
  25. package/dist/react/index.js +12 -10
  26. package/dist/{schema-DCapSPHz.d.ts → schema-Di3aLSiK.d.ts} +166 -30
  27. package/dist/schema.d.ts +223 -271
  28. package/dist/schema.js +27 -5
  29. package/dist/{submission-input-Bter6XiI.d.ts → submission-input-0OOGaq8c.d.ts} +14 -14
  30. package/dist/{wallet-Bu6sqJvQ.d.ts → wallet-BGOfFkG9.d.ts} +1 -1
  31. package/package.json +1 -1
  32. package/dist/chunk-UW6R2QGT.js +0 -1724
  33. package/dist/images-e6FW9QSx.d.ts +0 -234
package/dist/browser.d.ts CHANGED
@@ -1,9 +1,9 @@
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-Bter6XiI.js';
2
- import { c as SubmitInput, g as ReleaseInput, h as beginHandoverSchema, i as contentPerformanceQuerySchema } from './schema-DCapSPHz.js';
3
- import { h as createRelayClient, g as SubmissionStore, c as QuestController, a as ProgressObservation, b as ProgressObserver, P as PhotoSubmission, e as QuizSubmission, C as ClaimSubmission, V as ValueSubmission } from './client-BufGakEt.js';
4
- import { b as QuestView, q as questExperienceSchema, E as ExchangeInput } from './catalog-C09gnPYT.js';
5
- import { C as CosmosChain, a as CosmosNetwork, g as WalletSigner, e as WalletSignInNetwork, W as WalletAddressInput, w as walletSignatureSchema, L as LinkedWallet, l as walletChallengeInputSchema, m as walletProofSchema, f as WalletSignature } from './wallet-Bu6sqJvQ.js';
6
- import { f as ProfileUpdate, c as ProfileCompletionQuery } from './profiles-BtOXMGcC.js';
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-0OOGaq8c.js';
2
+ import { s as submitSchema, g as contentPerformanceQuerySchema } from './schema-Di3aLSiK.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-CT4-S5vc.js';
4
+ import { a as PageQuery, e as QuestView, q as questExperienceSchema, f as exchangeSchema } from './pages-D3titw5B.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
7
  import * as zod from 'zod';
8
8
 
9
9
  /** An EIP-1193 provider, such as `window.ethereum` or an EIP-6963 announcement's provider. */
@@ -206,7 +206,7 @@ declare function signInOptions(relay: SignInClient, input?: {
206
206
  /** Browser client with durable submission recovery; safe to construct during SSR. */
207
207
  declare function createBrowserRelayClient(options: Parameters<typeof createRelayClient>[0]): {
208
208
  referrals: {
209
- list: () => Promise<{
209
+ list: (requestOptions?: RelayRequestOptions) => Promise<{
210
210
  id: string;
211
211
  title: string;
212
212
  enabled: boolean;
@@ -302,7 +302,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
302
302
  key?: string | undefined;
303
303
  inviterGroup?: string | undefined;
304
304
  }[]>;
305
- summary: () => Promise<{
305
+ summary: (requestOptions?: RelayRequestOptions) => Promise<{
306
306
  code: string;
307
307
  attributed: number;
308
308
  programs: {
@@ -412,14 +412,14 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
412
412
  accounts: {
413
413
  id: string;
414
414
  program: string;
415
- kind: "milestone" | "fixed" | "bonus";
415
+ kind: "fixed" | "milestone" | "bonus";
416
416
  balance: string;
417
417
  earned: number;
418
418
  settled: number;
419
419
  outstanding: number;
420
420
  }[];
421
421
  }>;
422
- history: (before?: number) => Promise<{
422
+ history: (query?: PageQuery, requestOptions?: RelayRequestOptions) => Promise<{
423
423
  items: {
424
424
  id: number;
425
425
  program: string;
@@ -428,27 +428,27 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
428
428
  at: number;
429
429
  reason: string;
430
430
  }[];
431
- next: number | null;
431
+ nextCursor: string | null;
432
432
  }>;
433
- accept: (input: zod.input<typeof referralAcceptSchema>) => Promise<{
433
+ accept: (value: zod.input<typeof referralAcceptSchema>, requestOptions?: RelayRequestOptions) => Promise<{
434
434
  ok: true;
435
435
  }>;
436
436
  };
437
437
  tieredRewards: {
438
- list: () => Promise<{
438
+ list: (requestOptions?: RelayRequestOptions) => Promise<{
439
439
  id: string;
440
440
  key: string | null;
441
441
  }[]>;
442
442
  };
443
443
  pointLedgers: {
444
- list: () => Promise<{
444
+ list: (requestOptions?: RelayRequestOptions) => Promise<{
445
445
  id: string;
446
446
  key: string | null;
447
447
  name: string;
448
448
  }[]>;
449
449
  };
450
450
  leaderboards: {
451
- list: () => Promise<{
451
+ list: (requestOptions?: RelayRequestOptions) => Promise<{
452
452
  id: string;
453
453
  title: string;
454
454
  balance: string;
@@ -492,7 +492,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
492
492
  key?: string | undefined;
493
493
  group?: string | undefined;
494
494
  }[]>;
495
- standings: (board: string, options?: LeaderboardQuery) => Promise<{
495
+ standings: (board: string, query?: LeaderboardQuery, requestOptions?: RelayRequestOptions) => Promise<{
496
496
  leaderboard: string;
497
497
  title: string;
498
498
  version: string;
@@ -518,7 +518,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
518
518
  seed: string;
519
519
  } | {
520
520
  source: "account";
521
- provider: "x" | "discord" | "google";
521
+ provider: "discord" | "x" | "google";
522
522
  url: string;
523
523
  seed: string;
524
524
  } | {
@@ -542,7 +542,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
542
542
  seed: string;
543
543
  } | {
544
544
  source: "account";
545
- provider: "x" | "discord" | "google";
545
+ provider: "discord" | "x" | "google";
546
546
  url: string;
547
547
  seed: string;
548
548
  } | {
@@ -566,7 +566,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
566
566
  seed: string;
567
567
  } | {
568
568
  source: "account";
569
- provider: "x" | "discord" | "google";
569
+ provider: "discord" | "x" | "google";
570
570
  url: string;
571
571
  seed: string;
572
572
  } | {
@@ -578,7 +578,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
578
578
  }[];
579
579
  nextCursor: string | null;
580
580
  }>;
581
- placement: (board: string, profile: string) => Promise<{
581
+ placement: (board: string, profile: string, requestOptions?: RelayRequestOptions) => Promise<{
582
582
  leaderboard: string;
583
583
  title: string;
584
584
  profile: string;
@@ -589,7 +589,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
589
589
  }>;
590
590
  };
591
591
  profiles: {
592
- mine: () => Promise<{
592
+ mine: (requestOptions?: RelayRequestOptions) => Promise<{
593
593
  id: string;
594
594
  name: string;
595
595
  avatar: {
@@ -598,7 +598,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
598
598
  seed: string;
599
599
  } | {
600
600
  source: "account";
601
- provider: "x" | "discord" | "google";
601
+ provider: "discord" | "x" | "google";
602
602
  url: string;
603
603
  seed: string;
604
604
  } | {
@@ -606,20 +606,18 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
606
606
  seed: string;
607
607
  };
608
608
  displayName: string | null;
609
- avatarChoice: "default" | "account" | "generated" | "upload";
610
- avatarProvider: "x" | "discord" | "google" | null;
609
+ avatarChoice: "default" | "account" | "upload" | "generated";
610
+ avatarProvider: "discord" | "x" | "google" | null;
611
611
  hidden: boolean;
612
612
  locked: boolean;
613
613
  visibility: "private" | "participants" | "public";
614
614
  options: {
615
- provider: "x" | "discord" | "google";
615
+ provider: "discord" | "x" | "google";
616
616
  name: string | null;
617
617
  imageUrl: string | null;
618
618
  }[];
619
619
  }>;
620
- update: (input: ProfileUpdate, options?: {
621
- session?: string;
622
- }) => Promise<{
620
+ update: (value: zod.input<typeof profileUpdateSchema>, requestOptions?: RelayRequestOptions) => Promise<{
623
621
  id: string;
624
622
  name: string;
625
623
  avatar: {
@@ -628,7 +626,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
628
626
  seed: string;
629
627
  } | {
630
628
  source: "account";
631
- provider: "x" | "discord" | "google";
629
+ provider: "discord" | "x" | "google";
632
630
  url: string;
633
631
  seed: string;
634
632
  } | {
@@ -636,20 +634,19 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
636
634
  seed: string;
637
635
  };
638
636
  displayName: string | null;
639
- avatarChoice: "default" | "account" | "generated" | "upload";
640
- avatarProvider: "x" | "discord" | "google" | null;
637
+ avatarChoice: "default" | "account" | "upload" | "generated";
638
+ avatarProvider: "discord" | "x" | "google" | null;
641
639
  hidden: boolean;
642
640
  locked: boolean;
643
641
  visibility: "private" | "participants" | "public";
644
642
  options: {
645
- provider: "x" | "discord" | "google";
643
+ provider: "discord" | "x" | "google";
646
644
  name: string | null;
647
645
  imageUrl: string | null;
648
646
  }[];
649
647
  }>;
650
- uploadAvatar: (file: Blob, options?: {
648
+ uploadAvatar: (file: Blob, requestOptions?: RelayRequestOptions & {
651
649
  uploadId?: string;
652
- session?: string;
653
650
  }) => Promise<{
654
651
  id: string;
655
652
  name: string;
@@ -659,7 +656,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
659
656
  seed: string;
660
657
  } | {
661
658
  source: "account";
662
- provider: "x" | "discord" | "google";
659
+ provider: "discord" | "x" | "google";
663
660
  url: string;
664
661
  seed: string;
665
662
  } | {
@@ -667,18 +664,18 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
667
664
  seed: string;
668
665
  };
669
666
  displayName: string | null;
670
- avatarChoice: "default" | "account" | "generated" | "upload";
671
- avatarProvider: "x" | "discord" | "google" | null;
667
+ avatarChoice: "default" | "account" | "upload" | "generated";
668
+ avatarProvider: "discord" | "x" | "google" | null;
672
669
  hidden: boolean;
673
670
  locked: boolean;
674
671
  visibility: "private" | "participants" | "public";
675
672
  options: {
676
- provider: "x" | "discord" | "google";
673
+ provider: "discord" | "x" | "google";
677
674
  name: string | null;
678
675
  imageUrl: string | null;
679
676
  }[];
680
677
  }>;
681
- get: (profile: string) => Promise<{
678
+ get: (profile: string, requestOptions?: RelayRequestOptions) => Promise<{
682
679
  id: string;
683
680
  name: string;
684
681
  avatar: {
@@ -687,7 +684,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
687
684
  seed: string;
688
685
  } | {
689
686
  source: "account";
690
- provider: "x" | "discord" | "google";
687
+ provider: "discord" | "x" | "google";
691
688
  url: string;
692
689
  seed: string;
693
690
  } | {
@@ -695,7 +692,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
695
692
  seed: string;
696
693
  };
697
694
  }>;
698
- completions: (profile: string, options?: ProfileCompletionQuery) => Promise<{
695
+ completions: (profile: string, query?: ProfileCompletionQuery, requestOptions?: RelayRequestOptions) => Promise<{
699
696
  items: {
700
697
  quest: string;
701
698
  title: string;
@@ -705,7 +702,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
705
702
  }[];
706
703
  nextCursor: string | null;
707
704
  }>;
708
- referral: (profile: string, program: string) => Promise<{
705
+ referral: (profile: string, program: string, requestOptions?: RelayRequestOptions) => Promise<{
709
706
  program: string;
710
707
  title: string;
711
708
  invited: number;
@@ -719,7 +716,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
719
716
  }>;
720
717
  };
721
718
  quests: {
722
- get: (id: string) => Promise<{
719
+ get: (id: string, requestOptions?: RelayRequestOptions) => Promise<{
723
720
  quest: string;
724
721
  title: string;
725
722
  presentation: {
@@ -742,7 +739,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
742
739
  } | undefined;
743
740
  } | undefined;
744
741
  };
745
- connections: ("x" | "discord" | "google" | "apple")[];
742
+ connections: ("discord" | "x" | "google" | "apple")[];
746
743
  trigger: {
747
744
  kind: "automatic";
748
745
  observation?: {
@@ -781,7 +778,24 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
781
778
  } | {
782
779
  path: string;
783
780
  equals: string | number | boolean;
784
- } | undefined;
781
+ } | ({
782
+ path: string;
783
+ gt?: number | {
784
+ setting: string;
785
+ } | undefined;
786
+ gte?: number | {
787
+ setting: string;
788
+ } | undefined;
789
+ lt?: number | {
790
+ setting: string;
791
+ } | undefined;
792
+ lte?: number | {
793
+ setting: string;
794
+ } | undefined;
795
+ } | {
796
+ path: string;
797
+ equals: string | number | boolean;
798
+ })[] | undefined;
785
799
  } | undefined;
786
800
  } | {
787
801
  kind: "manual";
@@ -791,7 +805,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
791
805
  minLength: number;
792
806
  maxLength: number;
793
807
  };
794
- actor?: "member" | "staff" | undefined;
808
+ actor?: "staff" | "member" | undefined;
795
809
  } | {
796
810
  kind: "manual";
797
811
  input: "url";
@@ -799,15 +813,15 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
799
813
  required: boolean;
800
814
  allowedHosts?: string[] | undefined;
801
815
  };
802
- actor?: "member" | "staff" | undefined;
816
+ actor?: "staff" | "member" | undefined;
803
817
  } | {
804
818
  kind: "manual";
805
- input: "quiz" | "photo" | "none";
806
- actor?: "member" | "staff" | undefined;
819
+ input: "photo" | "quiz" | "none";
820
+ actor?: "staff" | "member" | undefined;
807
821
  };
808
822
  availability: {
809
823
  kind: "available";
810
- input: "quiz" | "url" | "text" | "photo" | "none";
824
+ input: "text" | "url" | "photo" | "quiz" | "none";
811
825
  } | {
812
826
  kind: "completed";
813
827
  } | {
@@ -845,7 +859,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
845
859
  kind: "keyed";
846
860
  };
847
861
  completionCount: number;
848
- visibility: "hidden" | "visible";
862
+ visibility: "visible" | "hidden";
849
863
  missing: {
850
864
  quest: string;
851
865
  title: string;
@@ -856,7 +870,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
856
870
  quest: string;
857
871
  member: string;
858
872
  evidence: string | null;
859
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
873
+ status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
860
874
  reason: string | null;
861
875
  retries: number;
862
876
  generation: number;
@@ -905,8 +919,8 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
905
919
  } | undefined;
906
920
  } | null;
907
921
  release: string;
908
- interaction: "quiz" | "url" | "text" | "staff" | "photo" | "automatic" | "claim";
909
- lifecycle: "active" | "paused" | "archived";
922
+ interaction: "text" | "url" | "staff" | "photo" | "quiz" | "automatic" | "claim";
923
+ lifecycle: "paused" | "active" | "archived";
910
924
  rewards: ({
911
925
  kind: "points";
912
926
  label: string;
@@ -961,13 +975,13 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
961
975
  };
962
976
  } | null | undefined;
963
977
  }>;
964
- retry: (view: QuestView) => Promise<{
978
+ retry: (view: QuestView, requestOptions?: RelayRequestOptions) => Promise<{
965
979
  id: string;
966
980
  release: string;
967
981
  quest: string;
968
982
  member: string;
969
983
  evidence: string | null;
970
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
984
+ status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
971
985
  reason: string | null;
972
986
  retries: number;
973
987
  generation: number;
@@ -1015,7 +1029,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1015
1029
  value: string;
1016
1030
  } | undefined;
1017
1031
  }>;
1018
- experience: () => Promise<{
1032
+ experience: (requestOptions?: RelayRequestOptions) => Promise<{
1019
1033
  member: string;
1020
1034
  quests: {
1021
1035
  quest: string;
@@ -1040,7 +1054,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1040
1054
  } | undefined;
1041
1055
  } | undefined;
1042
1056
  };
1043
- connections: ("x" | "discord" | "google" | "apple")[];
1057
+ connections: ("discord" | "x" | "google" | "apple")[];
1044
1058
  trigger: {
1045
1059
  kind: "automatic";
1046
1060
  observation?: {
@@ -1079,7 +1093,24 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1079
1093
  } | {
1080
1094
  path: string;
1081
1095
  equals: string | number | boolean;
1082
- } | undefined;
1096
+ } | ({
1097
+ path: string;
1098
+ gt?: number | {
1099
+ setting: string;
1100
+ } | undefined;
1101
+ gte?: number | {
1102
+ setting: string;
1103
+ } | undefined;
1104
+ lt?: number | {
1105
+ setting: string;
1106
+ } | undefined;
1107
+ lte?: number | {
1108
+ setting: string;
1109
+ } | undefined;
1110
+ } | {
1111
+ path: string;
1112
+ equals: string | number | boolean;
1113
+ })[] | undefined;
1083
1114
  } | undefined;
1084
1115
  } | {
1085
1116
  kind: "manual";
@@ -1089,7 +1120,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1089
1120
  minLength: number;
1090
1121
  maxLength: number;
1091
1122
  };
1092
- actor?: "member" | "staff" | undefined;
1123
+ actor?: "staff" | "member" | undefined;
1093
1124
  } | {
1094
1125
  kind: "manual";
1095
1126
  input: "url";
@@ -1097,15 +1128,15 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1097
1128
  required: boolean;
1098
1129
  allowedHosts?: string[] | undefined;
1099
1130
  };
1100
- actor?: "member" | "staff" | undefined;
1131
+ actor?: "staff" | "member" | undefined;
1101
1132
  } | {
1102
1133
  kind: "manual";
1103
- input: "quiz" | "photo" | "none";
1104
- actor?: "member" | "staff" | undefined;
1134
+ input: "photo" | "quiz" | "none";
1135
+ actor?: "staff" | "member" | undefined;
1105
1136
  };
1106
1137
  availability: {
1107
1138
  kind: "available";
1108
- input: "quiz" | "url" | "text" | "photo" | "none";
1139
+ input: "text" | "url" | "photo" | "quiz" | "none";
1109
1140
  } | {
1110
1141
  kind: "completed";
1111
1142
  } | {
@@ -1143,7 +1174,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1143
1174
  kind: "keyed";
1144
1175
  };
1145
1176
  completionCount: number;
1146
- visibility: "hidden" | "visible";
1177
+ visibility: "visible" | "hidden";
1147
1178
  missing: {
1148
1179
  quest: string;
1149
1180
  title: string;
@@ -1154,7 +1185,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1154
1185
  quest: string;
1155
1186
  member: string;
1156
1187
  evidence: string | null;
1157
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
1188
+ status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
1158
1189
  reason: string | null;
1159
1190
  retries: number;
1160
1191
  generation: number;
@@ -1203,8 +1234,8 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1203
1234
  } | undefined;
1204
1235
  } | null;
1205
1236
  release: string;
1206
- interaction: "quiz" | "url" | "text" | "staff" | "photo" | "automatic" | "claim";
1207
- lifecycle: "active" | "paused" | "archived";
1237
+ interaction: "text" | "url" | "staff" | "photo" | "quiz" | "automatic" | "claim";
1238
+ lifecycle: "paused" | "active" | "archived";
1208
1239
  rewards: ({
1209
1240
  kind: "points";
1210
1241
  label: string;
@@ -1285,7 +1316,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1285
1316
  } | undefined;
1286
1317
  } | undefined;
1287
1318
  };
1288
- connections: ("x" | "discord" | "google" | "apple")[];
1319
+ connections: ("discord" | "x" | "google" | "apple")[];
1289
1320
  trigger: {
1290
1321
  kind: "automatic";
1291
1322
  observation?: {
@@ -1324,7 +1355,24 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1324
1355
  } | {
1325
1356
  path: string;
1326
1357
  equals: string | number | boolean;
1327
- } | undefined;
1358
+ } | ({
1359
+ path: string;
1360
+ gt?: number | {
1361
+ setting: string;
1362
+ } | undefined;
1363
+ gte?: number | {
1364
+ setting: string;
1365
+ } | undefined;
1366
+ lt?: number | {
1367
+ setting: string;
1368
+ } | undefined;
1369
+ lte?: number | {
1370
+ setting: string;
1371
+ } | undefined;
1372
+ } | {
1373
+ path: string;
1374
+ equals: string | number | boolean;
1375
+ })[] | undefined;
1328
1376
  } | undefined;
1329
1377
  } | {
1330
1378
  kind: "manual";
@@ -1334,7 +1382,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1334
1382
  minLength: number;
1335
1383
  maxLength: number;
1336
1384
  };
1337
- actor?: "member" | "staff" | undefined;
1385
+ actor?: "staff" | "member" | undefined;
1338
1386
  } | {
1339
1387
  kind: "manual";
1340
1388
  input: "url";
@@ -1342,15 +1390,15 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1342
1390
  required: boolean;
1343
1391
  allowedHosts?: string[] | undefined;
1344
1392
  };
1345
- actor?: "member" | "staff" | undefined;
1393
+ actor?: "staff" | "member" | undefined;
1346
1394
  } | {
1347
1395
  kind: "manual";
1348
- input: "quiz" | "photo" | "none";
1349
- actor?: "member" | "staff" | undefined;
1396
+ input: "photo" | "quiz" | "none";
1397
+ actor?: "staff" | "member" | undefined;
1350
1398
  };
1351
1399
  availability: {
1352
1400
  kind: "available";
1353
- input: "quiz" | "url" | "text" | "photo" | "none";
1401
+ input: "text" | "url" | "photo" | "quiz" | "none";
1354
1402
  } | {
1355
1403
  kind: "completed";
1356
1404
  } | {
@@ -1388,7 +1436,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1388
1436
  kind: "keyed";
1389
1437
  };
1390
1438
  completionCount: number;
1391
- visibility: "hidden" | "visible";
1439
+ visibility: "visible" | "hidden";
1392
1440
  missing: {
1393
1441
  quest: string;
1394
1442
  title: string;
@@ -1399,7 +1447,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1399
1447
  quest: string;
1400
1448
  member: string;
1401
1449
  evidence: string | null;
1402
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
1450
+ status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
1403
1451
  reason: string | null;
1404
1452
  retries: number;
1405
1453
  generation: number;
@@ -1448,8 +1496,8 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1448
1496
  } | undefined;
1449
1497
  } | null;
1450
1498
  release: string;
1451
- interaction: "quiz" | "url" | "text" | "staff" | "photo" | "automatic" | "claim";
1452
- lifecycle: "active" | "paused" | "archived";
1499
+ interaction: "text" | "url" | "staff" | "photo" | "quiz" | "automatic" | "claim";
1500
+ lifecycle: "paused" | "active" | "archived";
1453
1501
  rewards: ({
1454
1502
  kind: "points";
1455
1503
  label: string;
@@ -1507,7 +1555,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1507
1555
  key?: string | undefined;
1508
1556
  }[];
1509
1557
  }>;
1510
- collection: (id: string) => Promise<{
1558
+ collection: (id: string, requestOptions?: RelayRequestOptions) => Promise<{
1511
1559
  id: string;
1512
1560
  title: string;
1513
1561
  quests: {
@@ -1533,7 +1581,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1533
1581
  } | undefined;
1534
1582
  } | undefined;
1535
1583
  };
1536
- connections: ("x" | "discord" | "google" | "apple")[];
1584
+ connections: ("discord" | "x" | "google" | "apple")[];
1537
1585
  trigger: {
1538
1586
  kind: "automatic";
1539
1587
  observation?: {
@@ -1572,7 +1620,24 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1572
1620
  } | {
1573
1621
  path: string;
1574
1622
  equals: string | number | boolean;
1575
- } | undefined;
1623
+ } | ({
1624
+ path: string;
1625
+ gt?: number | {
1626
+ setting: string;
1627
+ } | undefined;
1628
+ gte?: number | {
1629
+ setting: string;
1630
+ } | undefined;
1631
+ lt?: number | {
1632
+ setting: string;
1633
+ } | undefined;
1634
+ lte?: number | {
1635
+ setting: string;
1636
+ } | undefined;
1637
+ } | {
1638
+ path: string;
1639
+ equals: string | number | boolean;
1640
+ })[] | undefined;
1576
1641
  } | undefined;
1577
1642
  } | {
1578
1643
  kind: "manual";
@@ -1582,7 +1647,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1582
1647
  minLength: number;
1583
1648
  maxLength: number;
1584
1649
  };
1585
- actor?: "member" | "staff" | undefined;
1650
+ actor?: "staff" | "member" | undefined;
1586
1651
  } | {
1587
1652
  kind: "manual";
1588
1653
  input: "url";
@@ -1590,15 +1655,15 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1590
1655
  required: boolean;
1591
1656
  allowedHosts?: string[] | undefined;
1592
1657
  };
1593
- actor?: "member" | "staff" | undefined;
1658
+ actor?: "staff" | "member" | undefined;
1594
1659
  } | {
1595
1660
  kind: "manual";
1596
- input: "quiz" | "photo" | "none";
1597
- actor?: "member" | "staff" | undefined;
1661
+ input: "photo" | "quiz" | "none";
1662
+ actor?: "staff" | "member" | undefined;
1598
1663
  };
1599
1664
  availability: {
1600
1665
  kind: "available";
1601
- input: "quiz" | "url" | "text" | "photo" | "none";
1666
+ input: "text" | "url" | "photo" | "quiz" | "none";
1602
1667
  } | {
1603
1668
  kind: "completed";
1604
1669
  } | {
@@ -1636,7 +1701,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1636
1701
  kind: "keyed";
1637
1702
  };
1638
1703
  completionCount: number;
1639
- visibility: "hidden" | "visible";
1704
+ visibility: "visible" | "hidden";
1640
1705
  missing: {
1641
1706
  quest: string;
1642
1707
  title: string;
@@ -1647,7 +1712,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1647
1712
  quest: string;
1648
1713
  member: string;
1649
1714
  evidence: string | null;
1650
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
1715
+ status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
1651
1716
  reason: string | null;
1652
1717
  retries: number;
1653
1718
  generation: number;
@@ -1696,8 +1761,8 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1696
1761
  } | undefined;
1697
1762
  } | null;
1698
1763
  release: string;
1699
- interaction: "quiz" | "url" | "text" | "staff" | "photo" | "automatic" | "claim";
1700
- lifecycle: "active" | "paused" | "archived";
1764
+ interaction: "text" | "url" | "staff" | "photo" | "quiz" | "automatic" | "claim";
1765
+ lifecycle: "paused" | "active" | "archived";
1701
1766
  rewards: ({
1702
1767
  kind: "points";
1703
1768
  label: string;
@@ -1755,13 +1820,13 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1755
1820
  key?: string | undefined;
1756
1821
  }>;
1757
1822
  open: (view: QuestView) => Promise<QuestController>;
1758
- observe: (listener: (value: ProgressObservation<zod.infer<typeof questExperienceSchema>>) => void, options?: {
1823
+ observe: (listener: (value: ProgressObservation<zod.infer<typeof questExperienceSchema>>) => void, observeOptions?: {
1759
1824
  intervalMs?: number;
1760
1825
  maxBackoffMs?: number;
1761
1826
  }) => ProgressObserver;
1762
1827
  };
1763
1828
  wallets: {
1764
- list: () => Promise<{
1829
+ list: (requestOptions?: RelayRequestOptions) => Promise<{
1765
1830
  chain: "solana" | "eip155" | "cosmos";
1766
1831
  network: `cosmos:${string}` | null;
1767
1832
  address: string;
@@ -1769,7 +1834,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1769
1834
  revision: number;
1770
1835
  signIn: boolean;
1771
1836
  }[]>;
1772
- challenge: (input: WalletAddressInput, session: string) => Promise<{
1837
+ challenge: (value: zod.input<typeof walletAddressInputSchema>, requestOptions?: RelayRequestOptions) => Promise<{
1773
1838
  id: string;
1774
1839
  purpose: "link" | "sign-in";
1775
1840
  chain: "solana" | "eip155" | "cosmos";
@@ -1778,7 +1843,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1778
1843
  message: string;
1779
1844
  expiresAt: number;
1780
1845
  }>;
1781
- verify: (input: zod.input<typeof walletSignatureSchema>, session: string) => Promise<{
1846
+ verify: (value: zod.input<typeof walletSignatureSchema>, requestOptions?: RelayRequestOptions) => Promise<{
1782
1847
  chain: "solana" | "eip155" | "cosmos";
1783
1848
  network: `cosmos:${string}` | null;
1784
1849
  address: string;
@@ -1786,10 +1851,10 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1786
1851
  revision: number;
1787
1852
  signIn: boolean;
1788
1853
  }>;
1789
- unlink: (wallet: Pick<LinkedWallet, "chain" | "address">) => Promise<{
1854
+ unlink: (wallet: Pick<LinkedWallet, "chain" | "address">, requestOptions?: RelayRequestOptions) => Promise<{
1790
1855
  ok: true;
1791
1856
  }>;
1792
- link: (signer: WalletSigner) => Promise<{
1857
+ link: (signer: WalletSigner, requestOptions?: RelayRequestOptions) => Promise<{
1793
1858
  chain: "solana" | "eip155" | "cosmos";
1794
1859
  network: `cosmos:${string}` | null;
1795
1860
  address: string;
@@ -1798,47 +1863,23 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1798
1863
  signIn: boolean;
1799
1864
  }>;
1800
1865
  };
1801
- wallet: {
1802
- connection: () => Promise<{
1803
- chain: "solana";
1804
- address: string;
1805
- verifiedAt: number;
1806
- revision: number;
1807
- } | null>;
1808
- challenge: (input: zod.input<typeof walletChallengeInputSchema>, session: string) => Promise<{
1809
- chain: "solana";
1810
- address: string;
1811
- id: string;
1812
- message: string;
1813
- expiresAt: number;
1814
- }>;
1815
- verify: (input: zod.input<typeof walletProofSchema>, session: string) => Promise<{
1816
- chain: "solana";
1817
- address: string;
1818
- verifiedAt: number;
1819
- revision: number;
1820
- }>;
1821
- };
1822
1866
  auth: {
1823
- providers: () => Promise<{
1867
+ providers: (requestOptions?: RelayRequestOptions) => Promise<{
1824
1868
  providers: {
1825
- provider: "x" | "discord" | "google" | "apple";
1869
+ provider: "discord" | "x" | "google" | "apple";
1826
1870
  configured: boolean;
1827
1871
  }[];
1828
1872
  email: boolean;
1829
1873
  wallets: ("solana" | "eip155" | "cosmos")[];
1830
1874
  demo: boolean;
1831
1875
  }>;
1832
- start: (provider: AuthProvider, mode: "sign-in" | "connect") => Promise<{
1876
+ start: (provider: AuthProvider, mode: "sign-in" | "connect", requestOptions?: RelayRequestOptions) => Promise<{
1833
1877
  url: string;
1834
1878
  }>;
1835
- emailStart: (email: string) => Promise<{
1879
+ emailStart: (email: string, requestOptions?: RelayRequestOptions) => Promise<{
1836
1880
  challenge: string;
1837
1881
  }>;
1838
- emailVerify: (challenge: string, code: string) => Promise<{
1839
- organization: string;
1840
- project: string;
1841
- environment: "test" | "live";
1882
+ emailVerify: (challenge: string, code: string, requestOptions?: RelayRequestOptions) => Promise<{
1842
1883
  id: string;
1843
1884
  principal: {
1844
1885
  kind: "member";
@@ -1849,11 +1890,16 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1849
1890
  } | {
1850
1891
  kind: "operator";
1851
1892
  subject: string;
1893
+ } | {
1894
+ kind: string;
1852
1895
  };
1853
1896
  expiresAt: number;
1897
+ organization: string;
1898
+ project: string;
1899
+ environment: "test" | "live";
1854
1900
  }>;
1855
1901
  wallet: {
1856
- start: (input: WalletAddressInput) => Promise<{
1902
+ start: (value: zod.input<typeof walletAddressInputSchema>, requestOptions?: RelayRequestOptions) => Promise<{
1857
1903
  id: string;
1858
1904
  purpose: "link" | "sign-in";
1859
1905
  chain: "solana" | "eip155" | "cosmos";
@@ -1862,10 +1908,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1862
1908
  message: string;
1863
1909
  expiresAt: number;
1864
1910
  }>;
1865
- verify: (proof: WalletSignature) => Promise<{
1866
- organization: string;
1867
- project: string;
1868
- environment: "test" | "live";
1911
+ verify: (proof: zod.input<typeof walletSignatureSchema>, requestOptions?: RelayRequestOptions) => Promise<{
1869
1912
  id: string;
1870
1913
  principal: {
1871
1914
  kind: "member";
@@ -1876,13 +1919,15 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1876
1919
  } | {
1877
1920
  kind: "operator";
1878
1921
  subject: string;
1922
+ } | {
1923
+ kind: string;
1879
1924
  };
1880
1925
  expiresAt: number;
1881
- }>;
1882
- signIn: (signer: WalletSigner) => Promise<{
1883
1926
  organization: string;
1884
1927
  project: string;
1885
1928
  environment: "test" | "live";
1929
+ }>;
1930
+ signIn: (signer: WalletSigner, requestOptions?: RelayRequestOptions) => Promise<{
1886
1931
  id: string;
1887
1932
  principal: {
1888
1933
  kind: "member";
@@ -1893,29 +1938,26 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1893
1938
  } | {
1894
1939
  kind: "operator";
1895
1940
  subject: string;
1941
+ } | {
1942
+ kind: string;
1896
1943
  };
1897
1944
  expiresAt: number;
1945
+ organization: string;
1946
+ project: string;
1947
+ environment: "test" | "live";
1898
1948
  }>;
1899
1949
  };
1900
- accounts: () => Promise<{
1901
- provider: "x" | "discord" | "google" | "apple";
1950
+ accounts: (requestOptions?: RelayRequestOptions) => Promise<{
1951
+ provider: "discord" | "x" | "google" | "apple";
1902
1952
  configured: boolean;
1903
1953
  status: "disconnected" | "connected" | "reconnect";
1904
1954
  subject: string | null;
1905
1955
  revision: number;
1906
1956
  }[]>;
1907
- disconnect: (provider: AuthProvider) => Promise<{
1957
+ disconnect: (provider: AuthProvider, requestOptions?: RelayRequestOptions) => Promise<{
1908
1958
  ok: boolean;
1909
1959
  }>;
1910
- connections: () => Promise<{
1911
- provider: string;
1912
- subject: string;
1913
- signInEnabled: boolean;
1914
- }[]>;
1915
- session: () => Promise<{
1916
- organization: string;
1917
- project: string;
1918
- environment: "test" | "live";
1960
+ session: (requestOptions?: RelayRequestOptions) => Promise<{
1919
1961
  id: string;
1920
1962
  principal: {
1921
1963
  kind: "member";
@@ -1926,18 +1968,20 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1926
1968
  } | {
1927
1969
  kind: "operator";
1928
1970
  subject: string;
1971
+ } | {
1972
+ kind: string;
1929
1973
  };
1930
1974
  expiresAt: number;
1975
+ organization: string;
1976
+ project: string;
1977
+ environment: "test" | "live";
1931
1978
  } | null>;
1932
- signOut: () => Promise<{
1979
+ signOut: (requestOptions?: RelayRequestOptions) => Promise<{
1933
1980
  ok: boolean;
1934
1981
  }>;
1935
- exchange: (input: ExchangeInput) => Promise<{
1982
+ exchange: (value: zod.input<typeof exchangeSchema>, requestOptions?: RelayRequestOptions) => Promise<{
1936
1983
  token: string;
1937
1984
  session: {
1938
- organization: string;
1939
- project: string;
1940
- environment: "test" | "live";
1941
1985
  id: string;
1942
1986
  principal: {
1943
1987
  kind: "member";
@@ -1950,15 +1994,18 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1950
1994
  subject: string;
1951
1995
  };
1952
1996
  expiresAt: number;
1997
+ organization: string;
1998
+ project: string;
1999
+ environment: "test" | "live";
1953
2000
  };
1954
2001
  }>;
1955
2002
  };
1956
2003
  me: {
1957
- get: () => Promise<{
2004
+ get: (requestOptions?: RelayRequestOptions) => Promise<{
1958
2005
  member: string;
1959
2006
  avatarSeed: string;
1960
2007
  }>;
1961
- observeProgress: (listener: (value: ProgressObservation) => void, options?: {
2008
+ observeProgress: (listener: (value: ProgressObservation) => void, observeOptions?: {
1962
2009
  intervalMs?: number;
1963
2010
  maxBackoffMs?: number;
1964
2011
  }) => ProgressObserver;
@@ -1988,66 +2035,12 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1988
2035
  repeatable?: boolean;
1989
2036
  }): Promise<ValueSubmission>;
1990
2037
  };
1991
- collectionPass: (entitlement: string, session: string) => Promise<{
2038
+ collectionPass: (entitlement: string, requestOptions?: RelayRequestOptions) => Promise<{
1992
2039
  code: string;
1993
2040
  expiresAt: number;
1994
2041
  entitlement: string;
1995
2042
  }>;
1996
- linkPass: (code: string) => Promise<{
1997
- id: string;
1998
- release: string;
1999
- quest: string;
2000
- member: string;
2001
- evidence: string | null;
2002
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
2003
- reason: string | null;
2004
- retries: number;
2005
- generation: number;
2006
- completion: string | null;
2007
- reviewRewards: ({
2008
- kind: "tier";
2009
- reward: {
2010
- id: string;
2011
- title: string;
2012
- tiers: {
2013
- id: string;
2014
- title: string;
2015
- }[];
2016
- inventory: {
2017
- kind: "untracked";
2018
- };
2019
- fulfillment: {
2020
- kind: "staff-handover";
2021
- };
2022
- };
2023
- tier: string;
2024
- } | {
2025
- kind: "points";
2026
- balance: string;
2027
- amount: number;
2028
- } | {
2029
- kind: "integration";
2030
- provider: "discord";
2031
- action: "grant-role";
2032
- roleId: string;
2033
- })[] | null;
2034
- requestedReview: boolean;
2035
- createdAt: number;
2036
- input?: {
2037
- kind: "quiz";
2038
- answers: {
2039
- [k: string]: string;
2040
- };
2041
- release?: string | undefined;
2042
- } | {
2043
- kind: "text";
2044
- value: string;
2045
- } | {
2046
- kind: "url";
2047
- value: string;
2048
- } | undefined;
2049
- }>;
2050
- progress: () => Promise<{
2043
+ progress: (requestOptions?: RelayRequestOptions) => Promise<{
2051
2044
  member: string;
2052
2045
  quests: {
2053
2046
  quest: string;
@@ -2072,7 +2065,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2072
2065
  } | undefined;
2073
2066
  } | undefined;
2074
2067
  };
2075
- connections: ("x" | "discord" | "google" | "apple")[];
2068
+ connections: ("discord" | "x" | "google" | "apple")[];
2076
2069
  trigger: {
2077
2070
  kind: "automatic";
2078
2071
  observation?: {
@@ -2111,7 +2104,24 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2111
2104
  } | {
2112
2105
  path: string;
2113
2106
  equals: string | number | boolean;
2114
- } | undefined;
2107
+ } | ({
2108
+ path: string;
2109
+ gt?: number | {
2110
+ setting: string;
2111
+ } | undefined;
2112
+ gte?: number | {
2113
+ setting: string;
2114
+ } | undefined;
2115
+ lt?: number | {
2116
+ setting: string;
2117
+ } | undefined;
2118
+ lte?: number | {
2119
+ setting: string;
2120
+ } | undefined;
2121
+ } | {
2122
+ path: string;
2123
+ equals: string | number | boolean;
2124
+ })[] | undefined;
2115
2125
  } | undefined;
2116
2126
  } | {
2117
2127
  kind: "manual";
@@ -2121,7 +2131,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2121
2131
  minLength: number;
2122
2132
  maxLength: number;
2123
2133
  };
2124
- actor?: "member" | "staff" | undefined;
2134
+ actor?: "staff" | "member" | undefined;
2125
2135
  } | {
2126
2136
  kind: "manual";
2127
2137
  input: "url";
@@ -2129,15 +2139,15 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2129
2139
  required: boolean;
2130
2140
  allowedHosts?: string[] | undefined;
2131
2141
  };
2132
- actor?: "member" | "staff" | undefined;
2142
+ actor?: "staff" | "member" | undefined;
2133
2143
  } | {
2134
2144
  kind: "manual";
2135
- input: "quiz" | "photo" | "none";
2136
- actor?: "member" | "staff" | undefined;
2145
+ input: "photo" | "quiz" | "none";
2146
+ actor?: "staff" | "member" | undefined;
2137
2147
  };
2138
2148
  availability: {
2139
2149
  kind: "available";
2140
- input: "quiz" | "url" | "text" | "photo" | "none";
2150
+ input: "text" | "url" | "photo" | "quiz" | "none";
2141
2151
  } | {
2142
2152
  kind: "completed";
2143
2153
  } | {
@@ -2175,7 +2185,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2175
2185
  kind: "keyed";
2176
2186
  };
2177
2187
  completionCount: number;
2178
- visibility: "hidden" | "visible";
2188
+ visibility: "visible" | "hidden";
2179
2189
  missing: {
2180
2190
  quest: string;
2181
2191
  title: string;
@@ -2186,7 +2196,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2186
2196
  quest: string;
2187
2197
  member: string;
2188
2198
  evidence: string | null;
2189
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
2199
+ status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
2190
2200
  reason: string | null;
2191
2201
  retries: number;
2192
2202
  generation: number;
@@ -2345,7 +2355,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2345
2355
  } | undefined;
2346
2356
  })[];
2347
2357
  }>;
2348
- rewardDeliveries: () => Promise<{
2358
+ rewardDeliveries: (requestOptions?: RelayRequestOptions) => Promise<{
2349
2359
  deliveries: {
2350
2360
  id: string;
2351
2361
  quest: string;
@@ -2362,15 +2372,13 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2362
2372
  deliveredAt: number | null;
2363
2373
  }[];
2364
2374
  }>;
2365
- claim: (input: Omit<SubmitInput, "member">, options?: {
2366
- session: string;
2367
- }) => Promise<{
2375
+ claim: (value: Omit<zod.input<typeof submitSchema>, "member">, requestOptions?: RelayRequestOptions) => Promise<{
2368
2376
  id: string;
2369
2377
  release: string;
2370
2378
  quest: string;
2371
2379
  member: string;
2372
2380
  evidence: string | null;
2373
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
2381
+ status: "needs-review" | "failed" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected";
2374
2382
  reason: string | null;
2375
2383
  retries: number;
2376
2384
  generation: number;
@@ -2418,7 +2426,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2418
2426
  value: string;
2419
2427
  } | undefined;
2420
2428
  }>;
2421
- upload: (file: File) => Promise<{
2429
+ upload: (file: Blob, requestOptions?: RelayRequestOptions) => Promise<{
2422
2430
  id: string;
2423
2431
  member: string;
2424
2432
  type: "image/jpeg" | "image/png";
@@ -2426,1834 +2434,55 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2426
2434
  }>;
2427
2435
  };
2428
2436
  evidence: {
2429
- download(id: string, requestOptions?: {
2430
- signal?: AbortSignal;
2431
- }): Promise<Blob>;
2437
+ download(id: string, requestOptions?: RelayRequestOptions): Promise<Blob>;
2432
2438
  };
2433
- lookupMember: (issuer: string, subject: string) => Promise<{
2434
- member: string;
2435
- }>;
2436
- journeyTemplate: () => Promise<{
2437
- code: string;
2438
- definition: {
2439
- quest: string;
2440
- runtimeVersion: 1 | 2;
2441
- title: string;
2442
- presentation: {
2443
- quiz?: {
2444
- id: string;
2445
- prompt: string;
2446
- choices: {
2447
- id: string;
2448
- label: string;
2449
- }[];
2450
- }[] | undefined;
2451
- instructions?: string | undefined;
2452
- video?: {
2453
- url: string;
2454
- poster?: string | undefined;
2455
- captions?: {
2456
- url: string;
2457
- language: string;
2458
- label: string;
2459
- } | undefined;
2460
- } | undefined;
2461
- };
2462
- integrations: "discord"[];
2463
- fields: Record<string, {
2464
- kind: "point-ledger";
2465
- default: string;
2466
- label: string;
2467
- description?: string | undefined;
2468
- } | {
2469
- kind: "datetime";
2470
- default: string;
2471
- label: string;
2472
- description?: string | undefined;
2473
- } | {
2474
- kind: "resource";
2475
- default: string;
2476
- source: {
2477
- provider: "discord";
2478
- resource: "channel";
2479
- types: ("text" | "announcement")[];
2480
- } | {
2481
- provider: "domino";
2482
- resource: "point-ledger";
2483
- } | {
2484
- provider: "discord";
2485
- resource: "role";
2486
- assignable: boolean;
2439
+ engagement: {
2440
+ page: (query: zod.input<typeof engagementPageQuerySchema>, requestOptions?: RelayRequestOptions) => Promise<{
2441
+ rule: {
2442
+ version: string;
2443
+ definition: {
2444
+ key: string;
2445
+ qualifiedBy: string;
2446
+ balance: string;
2447
+ metrics: ("likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks")[];
2448
+ baseline: "historical";
2449
+ maxAgeMs: number;
2450
+ budget: {
2451
+ projectDaily?: number | undefined;
2452
+ memberDaily?: number | undefined;
2453
+ projectLifetime?: number | undefined;
2454
+ };
2487
2455
  };
2488
- label: string;
2489
- description?: string | undefined;
2490
- } | {
2491
- kind: "quiz";
2492
- default: {
2493
- id: string;
2494
- prompt: string;
2495
- choices: {
2496
- id: string;
2497
- label: string;
2498
- }[];
2499
- correct: string;
2500
- }[];
2501
- label: string;
2502
- description?: string | undefined;
2503
- } | {
2504
- kind: "text";
2505
- default: string;
2506
- minLength: number;
2507
- maxLength: number;
2508
- multiline: boolean;
2509
- label: string;
2510
- description?: string | undefined;
2511
- } | {
2512
- kind: "integer";
2513
- default: number;
2514
- min: number;
2515
- max: number;
2516
- label: string;
2517
- description?: string | undefined;
2518
- } | {
2519
- kind: "boolean";
2520
- default: boolean;
2521
- label: string;
2522
- description?: string | undefined;
2523
- } | {
2524
- kind: "choice";
2525
- default: string;
2526
- options: string[];
2527
- label: string;
2528
- description?: string | undefined;
2529
- }>;
2530
- values: Record<string, string | number | boolean | {
2531
- id: string;
2532
- prompt: string;
2533
- choices: {
2534
- id: string;
2535
- label: string;
2536
- }[];
2537
- correct: string;
2538
- }[]>;
2539
- rewards: ({
2540
- kind: "tier";
2541
- reward: {
2542
- id: string;
2543
- title: string;
2544
- tiers: {
2545
- id: string;
2546
- title: string;
2547
- }[];
2548
- inventory: {
2549
- kind: "untracked";
2550
- };
2551
- fulfillment: {
2552
- kind: "staff-handover";
2553
- };
2554
- };
2555
- tier: string;
2556
- } | {
2557
- kind: "points";
2558
- balance: string;
2559
- amount: number;
2560
- } | {
2561
- kind: "integration";
2562
- provider: "discord";
2563
- action: "grant-role";
2564
- roleId: string;
2565
- })[];
2566
- humanReview: boolean;
2567
- trigger: {
2568
- kind: "automatic";
2569
- observation?: {
2570
- source: string;
2571
- type: string;
2572
- } | undefined;
2573
- content?: {
2574
- tracker: string;
2575
- window: {
2576
- start: number;
2577
- end?: number | undefined;
2578
- };
2579
- enrollment: "required" | "none";
2580
- posts: "after-enrollment" | "since-start";
2581
- historical: "staff" | "automatic" | "claim";
2582
- } | undefined;
2583
- tracker?: {
2584
- tracker: string;
2585
- source: "custom" | "x-search";
2586
- beneficiary: string;
2587
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
2588
- where?: {
2589
- path: string;
2590
- gt?: number | {
2591
- setting: string;
2592
- } | undefined;
2593
- gte?: number | {
2594
- setting: string;
2595
- } | undefined;
2596
- lt?: number | {
2597
- setting: string;
2598
- } | undefined;
2599
- lte?: number | {
2600
- setting: string;
2601
- } | undefined;
2602
- } | {
2603
- path: string;
2604
- equals: string | number | boolean;
2605
- } | undefined;
2606
- } | undefined;
2607
- } | {
2608
- kind: "manual";
2609
- input: "text";
2610
- constraints: {
2611
- required: boolean;
2612
- minLength: number;
2613
- maxLength: number;
2614
- };
2615
- actor?: "member" | "staff" | undefined;
2616
- } | {
2617
- kind: "manual";
2618
- input: "url";
2619
- constraints: {
2620
- required: boolean;
2621
- allowedHosts?: string[] | undefined;
2622
- };
2623
- actor?: "member" | "staff" | undefined;
2624
- } | {
2625
- kind: "manual";
2626
- input: "quiz" | "photo" | "none";
2627
- actor?: "member" | "staff" | undefined;
2628
- };
2629
- requires: {
2630
- quest: string;
2631
- }[];
2632
- completion: {
2633
- kind: "streak";
2634
- days: number;
2635
- timeZone: string;
2636
- } | {
2637
- kind: "once";
2638
- } | {
2639
- kind: "keyed";
2640
- };
2641
- visibility: "hidden" | "visible";
2642
- budgets: {
2643
- id: string;
2644
- scope: "member" | "project";
2645
- period: "day" | "lifetime" | "week";
2646
- limit: number;
2647
- cost: number | {
2648
- balance: string;
2649
- };
2650
- }[];
2651
- performance?: {
2652
- metrics: ("likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks")[];
2653
- maxAgeMs: number;
2654
- } | undefined;
2655
- profile?: {
2656
- visible: boolean;
2657
- } | undefined;
2658
- };
2659
- }[]>;
2660
- template: () => Promise<{
2661
- code: string;
2662
- definition: {
2663
- quest: string;
2664
- runtimeVersion: 1 | 2;
2665
- title: string;
2666
- presentation: {
2667
- quiz?: {
2668
- id: string;
2669
- prompt: string;
2670
- choices: {
2671
- id: string;
2672
- label: string;
2673
- }[];
2674
- }[] | undefined;
2675
- instructions?: string | undefined;
2676
- video?: {
2677
- url: string;
2678
- poster?: string | undefined;
2679
- captions?: {
2680
- url: string;
2681
- language: string;
2682
- label: string;
2683
- } | undefined;
2684
- } | undefined;
2685
- };
2686
- integrations: "discord"[];
2687
- fields: Record<string, {
2688
- kind: "point-ledger";
2689
- default: string;
2690
- label: string;
2691
- description?: string | undefined;
2692
- } | {
2693
- kind: "datetime";
2694
- default: string;
2695
- label: string;
2696
- description?: string | undefined;
2697
- } | {
2698
- kind: "resource";
2699
- default: string;
2700
- source: {
2701
- provider: "discord";
2702
- resource: "channel";
2703
- types: ("text" | "announcement")[];
2704
- } | {
2705
- provider: "domino";
2706
- resource: "point-ledger";
2707
- } | {
2708
- provider: "discord";
2709
- resource: "role";
2710
- assignable: boolean;
2711
- };
2712
- label: string;
2713
- description?: string | undefined;
2714
- } | {
2715
- kind: "quiz";
2716
- default: {
2717
- id: string;
2718
- prompt: string;
2719
- choices: {
2720
- id: string;
2721
- label: string;
2722
- }[];
2723
- correct: string;
2724
- }[];
2725
- label: string;
2726
- description?: string | undefined;
2727
- } | {
2728
- kind: "text";
2729
- default: string;
2730
- minLength: number;
2731
- maxLength: number;
2732
- multiline: boolean;
2733
- label: string;
2734
- description?: string | undefined;
2735
- } | {
2736
- kind: "integer";
2737
- default: number;
2738
- min: number;
2739
- max: number;
2740
- label: string;
2741
- description?: string | undefined;
2742
- } | {
2743
- kind: "boolean";
2744
- default: boolean;
2745
- label: string;
2746
- description?: string | undefined;
2747
- } | {
2748
- kind: "choice";
2749
- default: string;
2750
- options: string[];
2751
- label: string;
2752
- description?: string | undefined;
2753
- }>;
2754
- values: Record<string, string | number | boolean | {
2755
- id: string;
2756
- prompt: string;
2757
- choices: {
2758
- id: string;
2759
- label: string;
2760
- }[];
2761
- correct: string;
2762
- }[]>;
2763
- rewards: ({
2764
- kind: "tier";
2765
- reward: {
2766
- id: string;
2767
- title: string;
2768
- tiers: {
2769
- id: string;
2770
- title: string;
2771
- }[];
2772
- inventory: {
2773
- kind: "untracked";
2774
- };
2775
- fulfillment: {
2776
- kind: "staff-handover";
2777
- };
2778
- };
2779
- tier: string;
2780
- } | {
2781
- kind: "points";
2782
- balance: string;
2783
- amount: number;
2784
- } | {
2785
- kind: "integration";
2786
- provider: "discord";
2787
- action: "grant-role";
2788
- roleId: string;
2789
- })[];
2790
- humanReview: boolean;
2791
- trigger: {
2792
- kind: "automatic";
2793
- observation?: {
2794
- source: string;
2795
- type: string;
2796
- } | undefined;
2797
- content?: {
2798
- tracker: string;
2799
- window: {
2800
- start: number;
2801
- end?: number | undefined;
2802
- };
2803
- enrollment: "required" | "none";
2804
- posts: "after-enrollment" | "since-start";
2805
- historical: "staff" | "automatic" | "claim";
2806
- } | undefined;
2807
- tracker?: {
2808
- tracker: string;
2809
- source: "custom" | "x-search";
2810
- beneficiary: string;
2811
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
2812
- where?: {
2813
- path: string;
2814
- gt?: number | {
2815
- setting: string;
2816
- } | undefined;
2817
- gte?: number | {
2818
- setting: string;
2819
- } | undefined;
2820
- lt?: number | {
2821
- setting: string;
2822
- } | undefined;
2823
- lte?: number | {
2824
- setting: string;
2825
- } | undefined;
2826
- } | {
2827
- path: string;
2828
- equals: string | number | boolean;
2829
- } | undefined;
2830
- } | undefined;
2831
- } | {
2832
- kind: "manual";
2833
- input: "text";
2834
- constraints: {
2835
- required: boolean;
2836
- minLength: number;
2837
- maxLength: number;
2838
- };
2839
- actor?: "member" | "staff" | undefined;
2840
- } | {
2841
- kind: "manual";
2842
- input: "url";
2843
- constraints: {
2844
- required: boolean;
2845
- allowedHosts?: string[] | undefined;
2846
- };
2847
- actor?: "member" | "staff" | undefined;
2848
- } | {
2849
- kind: "manual";
2850
- input: "quiz" | "photo" | "none";
2851
- actor?: "member" | "staff" | undefined;
2852
- };
2853
- requires: {
2854
- quest: string;
2855
- }[];
2856
- completion: {
2857
- kind: "streak";
2858
- days: number;
2859
- timeZone: string;
2860
- } | {
2861
- kind: "once";
2862
- } | {
2863
- kind: "keyed";
2864
- };
2865
- visibility: "hidden" | "visible";
2866
- budgets: {
2867
- id: string;
2868
- scope: "member" | "project";
2869
- period: "day" | "lifetime" | "week";
2870
- limit: number;
2871
- cost: number | {
2872
- balance: string;
2873
- };
2874
- }[];
2875
- performance?: {
2876
- metrics: ("likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks")[];
2877
- maxAgeMs: number;
2878
- } | undefined;
2879
- profile?: {
2880
- visible: boolean;
2881
- } | undefined;
2882
- };
2883
- }>;
2884
- snapshot: () => Promise<{
2885
- releases: {
2886
- quest: string;
2887
- runtimeVersion: 1 | 2;
2888
- title: string;
2889
- presentation: {
2890
- quiz?: {
2891
- id: string;
2892
- prompt: string;
2893
- choices: {
2894
- id: string;
2895
- label: string;
2896
- }[];
2897
- }[] | undefined;
2898
- instructions?: string | undefined;
2899
- video?: {
2900
- url: string;
2901
- poster?: string | undefined;
2902
- captions?: {
2903
- url: string;
2904
- language: string;
2905
- label: string;
2906
- } | undefined;
2907
- } | undefined;
2908
- };
2909
- integrations: "discord"[];
2910
- fields: Record<string, {
2911
- kind: "point-ledger";
2912
- default: string;
2913
- label: string;
2914
- description?: string | undefined;
2915
- } | {
2916
- kind: "datetime";
2917
- default: string;
2918
- label: string;
2919
- description?: string | undefined;
2920
- } | {
2921
- kind: "resource";
2922
- default: string;
2923
- source: {
2924
- provider: "discord";
2925
- resource: "channel";
2926
- types: ("text" | "announcement")[];
2927
- } | {
2928
- provider: "domino";
2929
- resource: "point-ledger";
2930
- } | {
2931
- provider: "discord";
2932
- resource: "role";
2933
- assignable: boolean;
2934
- };
2935
- label: string;
2936
- description?: string | undefined;
2937
- } | {
2938
- kind: "quiz";
2939
- default: {
2940
- id: string;
2941
- prompt: string;
2942
- choices: {
2943
- id: string;
2944
- label: string;
2945
- }[];
2946
- correct: string;
2947
- }[];
2948
- label: string;
2949
- description?: string | undefined;
2950
- } | {
2951
- kind: "text";
2952
- default: string;
2953
- minLength: number;
2954
- maxLength: number;
2955
- multiline: boolean;
2956
- label: string;
2957
- description?: string | undefined;
2958
- } | {
2959
- kind: "integer";
2960
- default: number;
2961
- min: number;
2962
- max: number;
2963
- label: string;
2964
- description?: string | undefined;
2965
- } | {
2966
- kind: "boolean";
2967
- default: boolean;
2968
- label: string;
2969
- description?: string | undefined;
2970
- } | {
2971
- kind: "choice";
2972
- default: string;
2973
- options: string[];
2974
- label: string;
2975
- description?: string | undefined;
2976
- }>;
2977
- values: Record<string, string | number | boolean | {
2978
- id: string;
2979
- prompt: string;
2980
- choices: {
2981
- id: string;
2982
- label: string;
2983
- }[];
2984
- correct: string;
2985
- }[]>;
2986
- rewards: ({
2987
- kind: "tier";
2988
- reward: {
2989
- id: string;
2990
- title: string;
2991
- tiers: {
2992
- id: string;
2993
- title: string;
2994
- }[];
2995
- inventory: {
2996
- kind: "untracked";
2997
- };
2998
- fulfillment: {
2999
- kind: "staff-handover";
3000
- };
3001
- };
3002
- tier: string;
3003
- } | {
3004
- kind: "points";
3005
- balance: string;
3006
- amount: number;
3007
- } | {
3008
- kind: "integration";
3009
- provider: "discord";
3010
- action: "grant-role";
3011
- roleId: string;
3012
- })[];
3013
- humanReview: boolean;
3014
- trigger: {
3015
- kind: "automatic";
3016
- observation?: {
3017
- source: string;
3018
- type: string;
3019
- } | undefined;
3020
- content?: {
3021
- tracker: string;
3022
- window: {
3023
- start: number;
3024
- end?: number | undefined;
3025
- };
3026
- enrollment: "required" | "none";
3027
- posts: "after-enrollment" | "since-start";
3028
- historical: "staff" | "automatic" | "claim";
3029
- } | undefined;
3030
- tracker?: {
3031
- tracker: string;
3032
- source: "custom" | "x-search";
3033
- beneficiary: string;
3034
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
3035
- where?: {
3036
- path: string;
3037
- gt?: number | {
3038
- setting: string;
3039
- } | undefined;
3040
- gte?: number | {
3041
- setting: string;
3042
- } | undefined;
3043
- lt?: number | {
3044
- setting: string;
3045
- } | undefined;
3046
- lte?: number | {
3047
- setting: string;
3048
- } | undefined;
3049
- } | {
3050
- path: string;
3051
- equals: string | number | boolean;
3052
- } | undefined;
3053
- } | undefined;
3054
- } | {
3055
- kind: "manual";
3056
- input: "text";
3057
- constraints: {
3058
- required: boolean;
3059
- minLength: number;
3060
- maxLength: number;
3061
- };
3062
- actor?: "member" | "staff" | undefined;
3063
- } | {
3064
- kind: "manual";
3065
- input: "url";
3066
- constraints: {
3067
- required: boolean;
3068
- allowedHosts?: string[] | undefined;
3069
- };
3070
- actor?: "member" | "staff" | undefined;
3071
- } | {
3072
- kind: "manual";
3073
- input: "quiz" | "photo" | "none";
3074
- actor?: "member" | "staff" | undefined;
3075
- };
3076
- requires: {
3077
- quest: string;
3078
- }[];
3079
- completion: {
3080
- kind: "streak";
3081
- days: number;
3082
- timeZone: string;
3083
- } | {
3084
- kind: "once";
3085
- } | {
3086
- kind: "keyed";
3087
- };
3088
- visibility: "hidden" | "visible";
3089
- budgets: {
3090
- id: string;
3091
- scope: "member" | "project";
3092
- period: "day" | "lifetime" | "week";
3093
- limit: number;
3094
- cost: number | {
3095
- balance: string;
3096
- };
3097
- }[];
3098
- code: string;
3099
- provider: "workers-ai" | "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error";
3100
- id: string;
3101
- createdAt: number;
3102
- legacy: boolean;
3103
- lifecycle: "active" | "paused" | "archived";
3104
- performance?: {
3105
- metrics: ("likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks")[];
3106
- maxAgeMs: number;
3107
- } | undefined;
3108
- profile?: {
3109
- visible: boolean;
3110
- } | undefined;
3111
- key?: string | undefined;
3112
- origin?: {
3113
- typeVersion: string;
3114
- } | undefined;
3115
- configuration?: {
3116
- defaults: Record<string, string | number | boolean | {
3117
- id: string;
3118
- prompt: string;
3119
- choices: {
3120
- id: string;
3121
- label: string;
3122
- }[];
3123
- correct: string;
3124
- }[]>;
3125
- overrides: Record<string, string | number | boolean | {
3126
- id: string;
3127
- prompt: string;
3128
- choices: {
3129
- id: string;
3130
- label: string;
3131
- }[];
3132
- correct: string;
3133
- }[]>;
3134
- preserved: string[];
3135
- } | undefined;
3136
- }[];
3137
- completions: {
3138
- key: string;
3139
- id: string;
3140
- quest: string;
3141
- member: string;
3142
- }[];
3143
- entitlements: ({
3144
- status: "available";
3145
- id: string;
3146
- member: string;
3147
- reward: {
3148
- id: string;
3149
- title: string;
3150
- tiers: {
3151
- id: string;
3152
- title: string;
3153
- }[];
3154
- inventory: {
3155
- kind: "untracked";
3156
- };
3157
- fulfillment: {
3158
- kind: "staff-handover";
3159
- };
3160
- };
3161
- earnedTier: string;
3162
- tier: string;
3163
- revision: number;
3164
- } | {
3165
- status: "handing-over";
3166
- handover: string;
3167
- startedAt: number;
3168
- id: string;
3169
- member: string;
3170
- reward: {
3171
- id: string;
3172
- title: string;
3173
- tiers: {
3174
- id: string;
3175
- title: string;
3176
- }[];
3177
- inventory: {
3178
- kind: "untracked";
3179
- };
3180
- fulfillment: {
3181
- kind: "staff-handover";
3182
- };
3183
- };
3184
- earnedTier: string;
3185
- tier: string;
3186
- revision: number;
3187
- allocation?: {
3188
- item: string;
3189
- label: string;
3190
- } | undefined;
3191
- } | {
3192
- status: "collected";
3193
- handover: string;
3194
- startedAt: number;
3195
- collectedAt: number;
3196
- id: string;
3197
- member: string;
3198
- reward: {
3199
- id: string;
3200
- title: string;
3201
- tiers: {
3202
- id: string;
3203
- title: string;
3204
- }[];
3205
- inventory: {
3206
- kind: "untracked";
3207
- };
3208
- fulfillment: {
3209
- kind: "staff-handover";
3210
- };
3211
- };
3212
- earnedTier: string;
3213
- tier: string;
3214
- revision: number;
3215
- allocation?: {
3216
- item: string;
3217
- label: string;
3218
- } | undefined;
3219
- })[];
3220
- attempts: {
3221
- id: string;
3222
- release: string;
3223
- quest: string;
3224
- member: string;
3225
- evidence: string | null;
3226
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
3227
- reason: string | null;
3228
- retries: number;
3229
- generation: number;
3230
- completion: string | null;
3231
- reviewRewards: ({
3232
- kind: "tier";
3233
- reward: {
3234
- id: string;
3235
- title: string;
3236
- tiers: {
3237
- id: string;
3238
- title: string;
3239
- }[];
3240
- inventory: {
3241
- kind: "untracked";
3242
- };
3243
- fulfillment: {
3244
- kind: "staff-handover";
3245
- };
3246
- };
3247
- tier: string;
3248
- } | {
3249
- kind: "points";
3250
- balance: string;
3251
- amount: number;
3252
- } | {
3253
- kind: "integration";
3254
- provider: "discord";
3255
- action: "grant-role";
3256
- roleId: string;
3257
- })[] | null;
3258
- requestedReview: boolean;
3259
- createdAt: number;
3260
- input?: {
3261
- kind: "quiz";
3262
- answers: {
3263
- [k: string]: string;
3264
- };
3265
- release?: string | undefined;
3266
- } | {
3267
- kind: "text";
3268
- value: string;
3269
- } | {
3270
- kind: "url";
3271
- value: string;
3272
- } | undefined;
3273
- }[];
3274
- balances: {
3275
- member: string;
3276
- balance: string;
3277
- earned: number;
3278
- held: number;
3279
- available: number;
3280
- }[];
3281
- events: {
3282
- id: number;
3283
- attempt: string | null;
3284
- kind: string;
3285
- detail: string;
3286
- actor: string | null;
3287
- at: number;
3288
- }[];
3289
- }>;
3290
- publish: (release: ReleaseInput) => Promise<{
3291
- quest: string;
3292
- runtimeVersion: 1 | 2;
3293
- title: string;
3294
- presentation: {
3295
- quiz?: {
3296
- id: string;
3297
- prompt: string;
3298
- choices: {
3299
- id: string;
3300
- label: string;
3301
- }[];
3302
- }[] | undefined;
3303
- instructions?: string | undefined;
3304
- video?: {
3305
- url: string;
3306
- poster?: string | undefined;
3307
- captions?: {
3308
- url: string;
3309
- language: string;
3310
- label: string;
3311
- } | undefined;
3312
- } | undefined;
3313
- };
3314
- integrations: "discord"[];
3315
- fields: Record<string, {
3316
- kind: "point-ledger";
3317
- default: string;
3318
- label: string;
3319
- description?: string | undefined;
3320
- } | {
3321
- kind: "datetime";
3322
- default: string;
3323
- label: string;
3324
- description?: string | undefined;
3325
- } | {
3326
- kind: "resource";
3327
- default: string;
3328
- source: {
3329
- provider: "discord";
3330
- resource: "channel";
3331
- types: ("text" | "announcement")[];
3332
- } | {
3333
- provider: "domino";
3334
- resource: "point-ledger";
3335
- } | {
3336
- provider: "discord";
3337
- resource: "role";
3338
- assignable: boolean;
3339
- };
3340
- label: string;
3341
- description?: string | undefined;
3342
- } | {
3343
- kind: "quiz";
3344
- default: {
3345
- id: string;
3346
- prompt: string;
3347
- choices: {
3348
- id: string;
3349
- label: string;
3350
- }[];
3351
- correct: string;
3352
- }[];
3353
- label: string;
3354
- description?: string | undefined;
3355
- } | {
3356
- kind: "text";
3357
- default: string;
3358
- minLength: number;
3359
- maxLength: number;
3360
- multiline: boolean;
3361
- label: string;
3362
- description?: string | undefined;
3363
- } | {
3364
- kind: "integer";
3365
- default: number;
3366
- min: number;
3367
- max: number;
3368
- label: string;
3369
- description?: string | undefined;
3370
- } | {
3371
- kind: "boolean";
3372
- default: boolean;
3373
- label: string;
3374
- description?: string | undefined;
3375
- } | {
3376
- kind: "choice";
3377
- default: string;
3378
- options: string[];
3379
- label: string;
3380
- description?: string | undefined;
3381
- }>;
3382
- values: Record<string, string | number | boolean | {
3383
- id: string;
3384
- prompt: string;
3385
- choices: {
3386
- id: string;
3387
- label: string;
3388
- }[];
3389
- correct: string;
3390
- }[]>;
3391
- rewards: ({
3392
- kind: "tier";
3393
- reward: {
3394
- id: string;
3395
- title: string;
3396
- tiers: {
3397
- id: string;
3398
- title: string;
3399
- }[];
3400
- inventory: {
3401
- kind: "untracked";
3402
- };
3403
- fulfillment: {
3404
- kind: "staff-handover";
3405
- };
3406
- };
3407
- tier: string;
3408
- } | {
3409
- kind: "points";
3410
- balance: string;
3411
- amount: number;
3412
- } | {
3413
- kind: "integration";
3414
- provider: "discord";
3415
- action: "grant-role";
3416
- roleId: string;
3417
- })[];
3418
- humanReview: boolean;
3419
- trigger: {
3420
- kind: "automatic";
3421
- observation?: {
3422
- source: string;
3423
- type: string;
3424
- } | undefined;
3425
- content?: {
3426
- tracker: string;
3427
- window: {
3428
- start: number;
3429
- end?: number | undefined;
3430
- };
3431
- enrollment: "required" | "none";
3432
- posts: "after-enrollment" | "since-start";
3433
- historical: "staff" | "automatic" | "claim";
3434
- } | undefined;
3435
- tracker?: {
3436
- tracker: string;
3437
- source: "custom" | "x-search";
3438
- beneficiary: string;
3439
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
3440
- where?: {
3441
- path: string;
3442
- gt?: number | {
3443
- setting: string;
3444
- } | undefined;
3445
- gte?: number | {
3446
- setting: string;
3447
- } | undefined;
3448
- lt?: number | {
3449
- setting: string;
3450
- } | undefined;
3451
- lte?: number | {
3452
- setting: string;
3453
- } | undefined;
3454
- } | {
3455
- path: string;
3456
- equals: string | number | boolean;
3457
- } | undefined;
3458
- } | undefined;
3459
- } | {
3460
- kind: "manual";
3461
- input: "text";
3462
- constraints: {
3463
- required: boolean;
3464
- minLength: number;
3465
- maxLength: number;
3466
- };
3467
- actor?: "member" | "staff" | undefined;
3468
- } | {
3469
- kind: "manual";
3470
- input: "url";
3471
- constraints: {
3472
- required: boolean;
3473
- allowedHosts?: string[] | undefined;
3474
- };
3475
- actor?: "member" | "staff" | undefined;
3476
- } | {
3477
- kind: "manual";
3478
- input: "quiz" | "photo" | "none";
3479
- actor?: "member" | "staff" | undefined;
3480
- };
3481
- requires: {
3482
- quest: string;
3483
- }[];
3484
- completion: {
3485
- kind: "streak";
3486
- days: number;
3487
- timeZone: string;
3488
- } | {
3489
- kind: "once";
3490
- } | {
3491
- kind: "keyed";
3492
- };
3493
- visibility: "hidden" | "visible";
3494
- budgets: {
3495
- id: string;
3496
- scope: "member" | "project";
3497
- period: "day" | "lifetime" | "week";
3498
- limit: number;
3499
- cost: number | {
3500
- balance: string;
3501
- };
3502
- }[];
3503
- code: string;
3504
- provider: "workers-ai" | "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error";
3505
- id: string;
3506
- createdAt: number;
3507
- legacy: boolean;
3508
- lifecycle: "active" | "paused" | "archived";
3509
- performance?: {
3510
- metrics: ("likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks")[];
3511
- maxAgeMs: number;
3512
- } | undefined;
3513
- profile?: {
3514
- visible: boolean;
3515
- } | undefined;
3516
- key?: string | undefined;
3517
- origin?: {
3518
- typeVersion: string;
3519
- } | undefined;
3520
- configuration?: {
3521
- defaults: Record<string, string | number | boolean | {
3522
- id: string;
3523
- prompt: string;
3524
- choices: {
3525
- id: string;
3526
- label: string;
3527
- }[];
3528
- correct: string;
3529
- }[]>;
3530
- overrides: Record<string, string | number | boolean | {
3531
- id: string;
3532
- prompt: string;
3533
- choices: {
3534
- id: string;
3535
- label: string;
3536
- }[];
3537
- correct: string;
3538
- }[]>;
3539
- preserved: string[];
3540
- } | undefined;
3541
- }>;
3542
- publishBatch: (releases: ReleaseInput[]) => Promise<{
3543
- quest: string;
3544
- runtimeVersion: 1 | 2;
3545
- title: string;
3546
- presentation: {
3547
- quiz?: {
3548
- id: string;
3549
- prompt: string;
3550
- choices: {
3551
- id: string;
3552
- label: string;
3553
- }[];
3554
- }[] | undefined;
3555
- instructions?: string | undefined;
3556
- video?: {
3557
- url: string;
3558
- poster?: string | undefined;
3559
- captions?: {
3560
- url: string;
3561
- language: string;
3562
- label: string;
3563
- } | undefined;
3564
- } | undefined;
3565
- };
3566
- integrations: "discord"[];
3567
- fields: Record<string, {
3568
- kind: "point-ledger";
3569
- default: string;
3570
- label: string;
3571
- description?: string | undefined;
3572
- } | {
3573
- kind: "datetime";
3574
- default: string;
3575
- label: string;
3576
- description?: string | undefined;
3577
- } | {
3578
- kind: "resource";
3579
- default: string;
3580
- source: {
3581
- provider: "discord";
3582
- resource: "channel";
3583
- types: ("text" | "announcement")[];
3584
- } | {
3585
- provider: "domino";
3586
- resource: "point-ledger";
3587
- } | {
3588
- provider: "discord";
3589
- resource: "role";
3590
- assignable: boolean;
3591
- };
3592
- label: string;
3593
- description?: string | undefined;
3594
- } | {
3595
- kind: "quiz";
3596
- default: {
3597
- id: string;
3598
- prompt: string;
3599
- choices: {
3600
- id: string;
3601
- label: string;
3602
- }[];
3603
- correct: string;
3604
- }[];
3605
- label: string;
3606
- description?: string | undefined;
3607
- } | {
3608
- kind: "text";
3609
- default: string;
3610
- minLength: number;
3611
- maxLength: number;
3612
- multiline: boolean;
3613
- label: string;
3614
- description?: string | undefined;
3615
- } | {
3616
- kind: "integer";
3617
- default: number;
3618
- min: number;
3619
- max: number;
3620
- label: string;
3621
- description?: string | undefined;
3622
- } | {
3623
- kind: "boolean";
3624
- default: boolean;
3625
- label: string;
3626
- description?: string | undefined;
3627
- } | {
3628
- kind: "choice";
3629
- default: string;
3630
- options: string[];
3631
- label: string;
3632
- description?: string | undefined;
3633
- }>;
3634
- values: Record<string, string | number | boolean | {
3635
- id: string;
3636
- prompt: string;
3637
- choices: {
3638
- id: string;
3639
- label: string;
3640
- }[];
3641
- correct: string;
3642
- }[]>;
3643
- rewards: ({
3644
- kind: "tier";
3645
- reward: {
3646
- id: string;
3647
- title: string;
3648
- tiers: {
3649
- id: string;
3650
- title: string;
3651
- }[];
3652
- inventory: {
3653
- kind: "untracked";
3654
- };
3655
- fulfillment: {
3656
- kind: "staff-handover";
3657
- };
3658
- };
3659
- tier: string;
3660
- } | {
3661
- kind: "points";
3662
- balance: string;
3663
- amount: number;
3664
- } | {
3665
- kind: "integration";
3666
- provider: "discord";
3667
- action: "grant-role";
3668
- roleId: string;
3669
- })[];
3670
- humanReview: boolean;
3671
- trigger: {
3672
- kind: "automatic";
3673
- observation?: {
3674
- source: string;
3675
- type: string;
3676
- } | undefined;
3677
- content?: {
3678
- tracker: string;
3679
- window: {
3680
- start: number;
3681
- end?: number | undefined;
3682
- };
3683
- enrollment: "required" | "none";
3684
- posts: "after-enrollment" | "since-start";
3685
- historical: "staff" | "automatic" | "claim";
3686
- } | undefined;
3687
- tracker?: {
3688
- tracker: string;
3689
- source: "custom" | "x-search";
3690
- beneficiary: string;
3691
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
3692
- where?: {
3693
- path: string;
3694
- gt?: number | {
3695
- setting: string;
3696
- } | undefined;
3697
- gte?: number | {
3698
- setting: string;
3699
- } | undefined;
3700
- lt?: number | {
3701
- setting: string;
3702
- } | undefined;
3703
- lte?: number | {
3704
- setting: string;
3705
- } | undefined;
3706
- } | {
3707
- path: string;
3708
- equals: string | number | boolean;
3709
- } | undefined;
3710
- } | undefined;
3711
- } | {
3712
- kind: "manual";
3713
- input: "text";
3714
- constraints: {
3715
- required: boolean;
3716
- minLength: number;
3717
- maxLength: number;
3718
- };
3719
- actor?: "member" | "staff" | undefined;
3720
- } | {
3721
- kind: "manual";
3722
- input: "url";
3723
- constraints: {
3724
- required: boolean;
3725
- allowedHosts?: string[] | undefined;
3726
- };
3727
- actor?: "member" | "staff" | undefined;
3728
- } | {
3729
- kind: "manual";
3730
- input: "quiz" | "photo" | "none";
3731
- actor?: "member" | "staff" | undefined;
3732
- };
3733
- requires: {
3734
- quest: string;
3735
- }[];
3736
- completion: {
3737
- kind: "streak";
3738
- days: number;
3739
- timeZone: string;
3740
- } | {
3741
- kind: "once";
3742
- } | {
3743
- kind: "keyed";
3744
- };
3745
- visibility: "hidden" | "visible";
3746
- budgets: {
3747
- id: string;
3748
- scope: "member" | "project";
3749
- period: "day" | "lifetime" | "week";
3750
- limit: number;
3751
- cost: number | {
3752
- balance: string;
3753
- };
3754
- }[];
3755
- code: string;
3756
- provider: "workers-ai" | "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error";
3757
- id: string;
3758
- createdAt: number;
3759
- legacy: boolean;
3760
- lifecycle: "active" | "paused" | "archived";
3761
- performance?: {
3762
- metrics: ("likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks")[];
3763
- maxAgeMs: number;
3764
- } | undefined;
3765
- profile?: {
3766
- visible: boolean;
3767
- } | undefined;
3768
- key?: string | undefined;
3769
- origin?: {
3770
- typeVersion: string;
3771
- } | undefined;
3772
- configuration?: {
3773
- defaults: Record<string, string | number | boolean | {
3774
- id: string;
3775
- prompt: string;
3776
- choices: {
3777
- id: string;
3778
- label: string;
3779
- }[];
3780
- correct: string;
3781
- }[]>;
3782
- overrides: Record<string, string | number | boolean | {
3783
- id: string;
3784
- prompt: string;
3785
- choices: {
3786
- id: string;
3787
- label: string;
3788
- }[];
3789
- correct: string;
3790
- }[]>;
3791
- preserved: string[];
3792
- } | undefined;
3793
- }[]>;
3794
- progress: (member: string) => Promise<{
3795
- member: string;
3796
- quests: {
3797
- quest: string;
3798
- title: string;
3799
- presentation: {
3800
- quiz?: {
3801
- id: string;
3802
- prompt: string;
3803
- choices: {
3804
- id: string;
3805
- label: string;
3806
- }[];
3807
- }[] | undefined;
3808
- instructions?: string | undefined;
3809
- video?: {
3810
- url: string;
3811
- poster?: string | undefined;
3812
- captions?: {
3813
- url: string;
3814
- language: string;
3815
- label: string;
3816
- } | undefined;
3817
- } | undefined;
3818
- };
3819
- connections: ("x" | "discord" | "google" | "apple")[];
3820
- trigger: {
3821
- kind: "automatic";
3822
- observation?: {
3823
- source: string;
3824
- type: string;
3825
- } | undefined;
3826
- content?: {
3827
- tracker: string;
3828
- window: {
3829
- start: number;
3830
- end?: number | undefined;
3831
- };
3832
- enrollment: "required" | "none";
3833
- posts: "after-enrollment" | "since-start";
3834
- historical: "staff" | "automatic" | "claim";
3835
- } | undefined;
3836
- tracker?: {
3837
- tracker: string;
3838
- source: "custom" | "x-search";
3839
- beneficiary: string;
3840
- on?: "new-record" | "new-observation" | "data-changed" | undefined;
3841
- where?: {
3842
- path: string;
3843
- gt?: number | {
3844
- setting: string;
3845
- } | undefined;
3846
- gte?: number | {
3847
- setting: string;
3848
- } | undefined;
3849
- lt?: number | {
3850
- setting: string;
3851
- } | undefined;
3852
- lte?: number | {
3853
- setting: string;
3854
- } | undefined;
3855
- } | {
3856
- path: string;
3857
- equals: string | number | boolean;
3858
- } | undefined;
3859
- } | undefined;
3860
- } | {
3861
- kind: "manual";
3862
- input: "text";
3863
- constraints: {
3864
- required: boolean;
3865
- minLength: number;
3866
- maxLength: number;
3867
- };
3868
- actor?: "member" | "staff" | undefined;
3869
- } | {
3870
- kind: "manual";
3871
- input: "url";
3872
- constraints: {
3873
- required: boolean;
3874
- allowedHosts?: string[] | undefined;
3875
- };
3876
- actor?: "member" | "staff" | undefined;
3877
- } | {
3878
- kind: "manual";
3879
- input: "quiz" | "photo" | "none";
3880
- actor?: "member" | "staff" | undefined;
3881
- };
3882
- availability: {
3883
- kind: "available";
3884
- input: "quiz" | "url" | "text" | "photo" | "none";
3885
- } | {
3886
- kind: "completed";
3887
- } | {
3888
- kind: "locked";
3889
- missing: {
3890
- quest: string;
3891
- title: string;
3892
- }[];
3893
- } | {
3894
- kind: "staff-required";
3895
- } | {
3896
- kind: "automatic";
3897
- observation?: {
3898
- source: string;
3899
- type: string;
3900
- } | undefined;
3901
- } | {
3902
- kind: "checking";
3903
- attempt: string;
3904
- } | {
3905
- kind: "needs-review";
3906
- attempt: string;
3907
- } | {
3908
- kind: "retryable";
3909
- attempt: string;
3910
- };
3911
- completed: boolean;
3912
- completion: {
3913
- kind: "streak";
3914
- days: number;
3915
- timeZone: string;
3916
- } | {
3917
- kind: "once";
3918
- } | {
3919
- kind: "keyed";
3920
- };
3921
- completionCount: number;
3922
- visibility: "hidden" | "visible";
3923
- missing: {
3924
- quest: string;
3925
- title: string;
3926
- }[];
3927
- attempt: {
3928
- id: string;
3929
- release: string;
3930
- quest: string;
3931
- member: string;
3932
- evidence: string | null;
3933
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
3934
- reason: string | null;
3935
- retries: number;
3936
- generation: number;
3937
- completion: string | null;
3938
- reviewRewards: ({
3939
- kind: "tier";
3940
- reward: {
3941
- id: string;
3942
- title: string;
3943
- tiers: {
3944
- id: string;
3945
- title: string;
3946
- }[];
3947
- inventory: {
3948
- kind: "untracked";
3949
- };
3950
- fulfillment: {
3951
- kind: "staff-handover";
3952
- };
3953
- };
3954
- tier: string;
3955
- } | {
3956
- kind: "points";
3957
- balance: string;
3958
- amount: number;
3959
- } | {
3960
- kind: "integration";
3961
- provider: "discord";
3962
- action: "grant-role";
3963
- roleId: string;
3964
- })[] | null;
3965
- requestedReview: boolean;
3966
- createdAt: number;
3967
- input?: {
3968
- kind: "quiz";
3969
- answers: {
3970
- [k: string]: string;
3971
- };
3972
- release?: string | undefined;
3973
- } | {
3974
- kind: "text";
3975
- value: string;
3976
- } | {
3977
- kind: "url";
3978
- value: string;
3979
- } | undefined;
3980
- } | null;
3981
- key?: string | undefined;
3982
- release?: string | undefined;
3983
- streak?: {
3984
- goal: number;
3985
- current: number;
3986
- best: number;
3987
- today: string;
3988
- todayQualified: boolean;
3989
- timeZone: string;
3990
- nextBoundary: number;
3991
- pendingTimeZone: {
3992
- timeZone: string;
3993
- effectiveAt: number;
3994
- } | null;
3995
- days: {
3996
- day: number;
3997
- date: string;
3998
- timeZone: string;
3999
- occurredAt: number;
4000
- }[];
4001
- milestone: {
4002
- status: "pending";
4003
- } | {
4004
- status: "awarded";
4005
- completion: string;
4006
- achievedAt: number;
4007
- } | {
4008
- status: "budget-exhausted";
4009
- budget: string;
4010
- achievedAt: number;
4011
- };
4012
- } | null | undefined;
4013
- }[];
4014
- entitlements: ({
4015
- status: "available";
4016
- id: string;
4017
- member: string;
4018
- reward: {
4019
- id: string;
4020
- title: string;
4021
- tiers: {
4022
- id: string;
4023
- title: string;
4024
- }[];
4025
- inventory: {
4026
- kind: "untracked";
4027
- };
4028
- fulfillment: {
4029
- kind: "staff-handover";
4030
- };
4031
- };
4032
- earnedTier: string;
4033
- tier: string;
4034
- revision: number;
4035
- } | {
4036
- status: "handing-over";
4037
- handover: string;
4038
- startedAt: number;
4039
- id: string;
4040
- member: string;
4041
- reward: {
4042
- id: string;
4043
- title: string;
4044
- tiers: {
4045
- id: string;
4046
- title: string;
4047
- }[];
4048
- inventory: {
4049
- kind: "untracked";
4050
- };
4051
- fulfillment: {
4052
- kind: "staff-handover";
4053
- };
4054
- };
4055
- earnedTier: string;
4056
- tier: string;
4057
- revision: number;
4058
- allocation?: {
4059
- item: string;
4060
- label: string;
4061
- } | undefined;
4062
- } | {
4063
- status: "collected";
4064
- handover: string;
4065
- startedAt: number;
4066
- collectedAt: number;
4067
- id: string;
4068
- member: string;
4069
- reward: {
4070
- id: string;
4071
- title: string;
4072
- tiers: {
4073
- id: string;
4074
- title: string;
4075
- }[];
4076
- inventory: {
4077
- kind: "untracked";
4078
- };
4079
- fulfillment: {
4080
- kind: "staff-handover";
4081
- };
4082
- };
4083
- earnedTier: string;
4084
- tier: string;
4085
- revision: number;
4086
- allocation?: {
4087
- item: string;
4088
- label: string;
4089
- } | undefined;
4090
- })[];
4091
- }>;
4092
- beginHandover: (id: string, input: zod.input<typeof beginHandoverSchema>) => Promise<{
4093
- status: "available";
4094
- id: string;
4095
- member: string;
4096
- reward: {
4097
- id: string;
4098
- title: string;
4099
- tiers: {
4100
- id: string;
4101
- title: string;
4102
- }[];
4103
- inventory: {
4104
- kind: "untracked";
4105
- };
4106
- fulfillment: {
4107
- kind: "staff-handover";
4108
- };
4109
- };
4110
- earnedTier: string;
4111
- tier: string;
4112
- revision: number;
4113
- } | {
4114
- status: "handing-over";
4115
- handover: string;
4116
- startedAt: number;
4117
- id: string;
4118
- member: string;
4119
- reward: {
4120
- id: string;
4121
- title: string;
4122
- tiers: {
4123
- id: string;
4124
- title: string;
4125
- }[];
4126
- inventory: {
4127
- kind: "untracked";
4128
- };
4129
- fulfillment: {
4130
- kind: "staff-handover";
4131
- };
4132
- };
4133
- earnedTier: string;
4134
- tier: string;
4135
- revision: number;
4136
- allocation?: {
4137
- item: string;
4138
- label: string;
4139
- } | undefined;
4140
- } | {
4141
- status: "collected";
4142
- handover: string;
4143
- startedAt: number;
4144
- collectedAt: number;
4145
- id: string;
4146
- member: string;
4147
- reward: {
4148
- id: string;
4149
- title: string;
4150
- tiers: {
4151
- id: string;
4152
- title: string;
4153
- }[];
4154
- inventory: {
4155
- kind: "untracked";
4156
- };
4157
- fulfillment: {
4158
- kind: "staff-handover";
4159
- };
4160
- };
4161
- earnedTier: string;
4162
- tier: string;
4163
- revision: number;
4164
- allocation?: {
4165
- item: string;
4166
- label: string;
4167
- } | undefined;
4168
- }>;
4169
- confirmHandover: (id: string, input: {
4170
- actionId: string;
4171
- handover: string;
4172
- }) => Promise<{
4173
- status: "available";
4174
- id: string;
4175
- member: string;
4176
- reward: {
4177
- id: string;
4178
- title: string;
4179
- tiers: {
4180
- id: string;
4181
- title: string;
4182
- }[];
4183
- inventory: {
4184
- kind: "untracked";
4185
- };
4186
- fulfillment: {
4187
- kind: "staff-handover";
4188
- };
4189
- };
4190
- earnedTier: string;
4191
- tier: string;
4192
- revision: number;
4193
- } | {
4194
- status: "handing-over";
4195
- handover: string;
4196
- startedAt: number;
4197
- id: string;
4198
- member: string;
4199
- reward: {
4200
- id: string;
4201
- title: string;
4202
- tiers: {
4203
- id: string;
4204
- title: string;
4205
- }[];
4206
- inventory: {
4207
- kind: "untracked";
4208
- };
4209
- fulfillment: {
4210
- kind: "staff-handover";
2456
+ publishedAt: number;
4211
2457
  };
4212
- };
4213
- earnedTier: string;
4214
- tier: string;
4215
- revision: number;
4216
- allocation?: {
4217
- item: string;
4218
- label: string;
4219
- } | undefined;
4220
- } | {
4221
- status: "collected";
4222
- handover: string;
4223
- startedAt: number;
4224
- collectedAt: number;
4225
- id: string;
4226
- member: string;
4227
- reward: {
4228
- id: string;
4229
- title: string;
4230
- tiers: {
2458
+ account: {
2459
+ member: string;
2460
+ earned: number;
2461
+ accounted: number;
2462
+ paid: number;
2463
+ excluded: number;
2464
+ pending: number;
2465
+ counters: Partial<Record<"likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks", number>>;
2466
+ baseline: Partial<Record<"likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks", number>>;
2467
+ observation: string | null;
2468
+ nextSettlementAt: number | null;
2469
+ reason: string | null;
2470
+ } | null;
2471
+ items: {
4231
2472
  id: string;
4232
- title: string;
2473
+ day: string;
2474
+ observation: string;
2475
+ qualification: string;
2476
+ earned: number;
2477
+ growth: number;
2478
+ paid: number;
2479
+ excluded: number;
2480
+ entry: string | null;
2481
+ createdAt: number;
4233
2482
  }[];
4234
- inventory: {
4235
- kind: "untracked";
4236
- };
4237
- fulfillment: {
4238
- kind: "staff-handover";
4239
- };
4240
- };
4241
- earnedTier: string;
4242
- tier: string;
4243
- revision: number;
4244
- allocation?: {
4245
- item: string;
4246
- label: string;
4247
- } | undefined;
4248
- }>;
4249
- upload: (member: string, file: File) => Promise<{
4250
- id: string;
4251
- member: string;
4252
- type: "image/jpeg" | "image/png";
4253
- size: number;
4254
- }>;
4255
- engagement: {
4256
- boundaries: (input: zod.infer<typeof engagementPageQuerySchema>) => Promise<{
2483
+ nextCursor: string | null;
2484
+ }>;
2485
+ boundaries: (query: zod.input<typeof engagementPageQuerySchema>, requestOptions?: RelayRequestOptions) => Promise<{
4257
2486
  current: {
4258
2487
  version: string;
4259
2488
  definition: {
@@ -4306,65 +2535,20 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
4306
2535
  createdAt: number;
4307
2536
  };
4308
2537
  }[];
4309
- next: number | null;
4310
- }>;
4311
- page: (input: zod.infer<typeof engagementPageQuerySchema>) => Promise<{
4312
- rule: {
4313
- version: string;
4314
- definition: {
4315
- key: string;
4316
- qualifiedBy: string;
4317
- balance: string;
4318
- metrics: ("likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks")[];
4319
- baseline: "historical";
4320
- maxAgeMs: number;
4321
- budget: {
4322
- projectDaily?: number | undefined;
4323
- memberDaily?: number | undefined;
4324
- projectLifetime?: number | undefined;
4325
- };
4326
- };
4327
- publishedAt: number;
4328
- };
4329
- account: {
4330
- member: string;
4331
- earned: number;
4332
- accounted: number;
4333
- paid: number;
4334
- excluded: number;
4335
- pending: number;
4336
- counters: Partial<Record<"likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks", number>>;
4337
- baseline: Partial<Record<"likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks", number>>;
4338
- observation: string | null;
4339
- nextSettlementAt: number | null;
4340
- reason: string | null;
4341
- } | null;
4342
- items: {
4343
- id: string;
4344
- day: string;
4345
- observation: string;
4346
- qualification: string;
4347
- earned: number;
4348
- growth: number;
4349
- paid: number;
4350
- excluded: number;
4351
- entry: string | null;
4352
- createdAt: number;
4353
- }[];
4354
- next: number | null;
2538
+ nextCursor: string | null;
4355
2539
  }>;
4356
2540
  };
4357
2541
  content: {
4358
- performance: (input: zod.infer<typeof contentPerformanceQuerySchema>) => Promise<{
2542
+ performance: (query: zod.input<typeof contentPerformanceQuerySchema>, requestOptions?: RelayRequestOptions) => Promise<{
4359
2543
  current: {
4360
- state: "needs-review" | "pending" | "failed" | "superseded" | "qualified" | "unqualified" | "content-pending" | "content-unqualified" | "waiting";
2544
+ state: "pending" | "superseded" | "qualified" | "unqualified" | "needs-review" | "failed" | "content-pending" | "content-unqualified" | "waiting";
4361
2545
  reason: string | null;
4362
2546
  contentAttempt: string;
4363
2547
  attempt: string | null;
4364
2548
  reward: {
4365
2549
  attempt: string | null;
4366
2550
  completion: string | null;
4367
- state: "awarded" | "excluded" | "unresolved";
2551
+ state: "excluded" | "unresolved" | "awarded";
4368
2552
  };
4369
2553
  };
4370
2554
  items: {
@@ -4373,12 +2557,12 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
4373
2557
  observation: string;
4374
2558
  observedAt: number;
4375
2559
  metrics: Partial<Record<"likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks", number>>;
4376
- state: "needs-review" | "pending" | "failed" | "superseded" | "qualified" | "unqualified";
2560
+ state: "pending" | "superseded" | "qualified" | "unqualified" | "needs-review" | "failed";
4377
2561
  reason: string | null;
4378
2562
  }[];
4379
- next: number | null;
2563
+ nextCursor: string | null;
4380
2564
  }>;
4381
- qualifications: (input: zod.infer<typeof contentQualificationQuerySchema>) => Promise<{
2565
+ qualifications: (query: zod.input<typeof contentQualificationQuerySchema>, requestOptions?: RelayRequestOptions) => Promise<{
4382
2566
  items: {
4383
2567
  quest: string;
4384
2568
  content: string;
@@ -4388,208 +2572,41 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
4388
2572
  revision: string;
4389
2573
  observation: string;
4390
2574
  current: boolean;
4391
- state: "needs-review" | "pending" | "failed" | "superseded" | "qualified" | "unqualified" | "stale" | "blocked" | "unavailable";
2575
+ state: "pending" | "superseded" | "qualified" | "unqualified" | "needs-review" | "failed" | "stale" | "blocked" | "unavailable";
4392
2576
  reason: string | null;
4393
2577
  reward: {
4394
2578
  attempt: string | null;
4395
2579
  completion: string | null;
4396
- state: "awarded" | "excluded" | "unresolved";
2580
+ state: "excluded" | "unresolved" | "awarded";
4397
2581
  };
4398
2582
  }[];
4399
- next: number | null;
2583
+ nextCursor: string | null;
4400
2584
  }>;
4401
- admissions: (input: zod.input<typeof contentAdmissionQuerySchema>) => Promise<{
2585
+ admissions: (query: zod.input<typeof contentAdmissionQuerySchema>, requestOptions?: RelayRequestOptions) => Promise<{
4402
2586
  items: {
4403
2587
  quest: string;
4404
2588
  content: string;
4405
2589
  release: string;
4406
- state: "pending" | "admitted" | "excluded";
2590
+ state: "pending" | "excluded" | "admitted";
4407
2591
  reason: string | null;
4408
2592
  attempt: string | null;
4409
2593
  }[];
4410
- next: string | null;
2594
+ nextCursor: string | null;
4411
2595
  }>;
4412
- enroll: (input: zod.input<typeof contentEnrollmentInputSchema>) => Promise<{
2596
+ enroll: (value: zod.input<typeof contentEnrollmentInputSchema>, requestOptions?: RelayRequestOptions) => Promise<{
4413
2597
  quest: string;
4414
2598
  member: string;
4415
2599
  enrolledAt: number;
4416
2600
  }>;
4417
- claim: (input: zod.input<typeof contentReleaseInputSchema>) => Promise<{
2601
+ claim: (value: zod.input<typeof contentReleaseInputSchema>, requestOptions?: RelayRequestOptions) => Promise<{
4418
2602
  quest: string;
4419
2603
  content: string;
4420
2604
  release: string;
4421
- state: "pending" | "admitted" | "excluded";
2605
+ state: "pending" | "excluded" | "admitted";
4422
2606
  reason: string | null;
4423
2607
  attempt: string | null;
4424
2608
  }>;
4425
2609
  };
4426
- submit: (input: SubmitInput) => Promise<{
4427
- id: string;
4428
- release: string;
4429
- quest: string;
4430
- member: string;
4431
- evidence: string | null;
4432
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
4433
- reason: string | null;
4434
- retries: number;
4435
- generation: number;
4436
- completion: string | null;
4437
- reviewRewards: ({
4438
- kind: "tier";
4439
- reward: {
4440
- id: string;
4441
- title: string;
4442
- tiers: {
4443
- id: string;
4444
- title: string;
4445
- }[];
4446
- inventory: {
4447
- kind: "untracked";
4448
- };
4449
- fulfillment: {
4450
- kind: "staff-handover";
4451
- };
4452
- };
4453
- tier: string;
4454
- } | {
4455
- kind: "points";
4456
- balance: string;
4457
- amount: number;
4458
- } | {
4459
- kind: "integration";
4460
- provider: "discord";
4461
- action: "grant-role";
4462
- roleId: string;
4463
- })[] | null;
4464
- requestedReview: boolean;
4465
- createdAt: number;
4466
- input?: {
4467
- kind: "quiz";
4468
- answers: {
4469
- [k: string]: string;
4470
- };
4471
- release?: string | undefined;
4472
- } | {
4473
- kind: "text";
4474
- value: string;
4475
- } | {
4476
- kind: "url";
4477
- value: string;
4478
- } | undefined;
4479
- }>;
4480
- retry: (id: string) => Promise<{
4481
- id: string;
4482
- release: string;
4483
- quest: string;
4484
- member: string;
4485
- evidence: string | null;
4486
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
4487
- reason: string | null;
4488
- retries: number;
4489
- generation: number;
4490
- completion: string | null;
4491
- reviewRewards: ({
4492
- kind: "tier";
4493
- reward: {
4494
- id: string;
4495
- title: string;
4496
- tiers: {
4497
- id: string;
4498
- title: string;
4499
- }[];
4500
- inventory: {
4501
- kind: "untracked";
4502
- };
4503
- fulfillment: {
4504
- kind: "staff-handover";
4505
- };
4506
- };
4507
- tier: string;
4508
- } | {
4509
- kind: "points";
4510
- balance: string;
4511
- amount: number;
4512
- } | {
4513
- kind: "integration";
4514
- provider: "discord";
4515
- action: "grant-role";
4516
- roleId: string;
4517
- })[] | null;
4518
- requestedReview: boolean;
4519
- createdAt: number;
4520
- input?: {
4521
- kind: "quiz";
4522
- answers: {
4523
- [k: string]: string;
4524
- };
4525
- release?: string | undefined;
4526
- } | {
4527
- kind: "text";
4528
- value: string;
4529
- } | {
4530
- kind: "url";
4531
- value: string;
4532
- } | undefined;
4533
- }>;
4534
- decide: (id: string, input: {
4535
- actionId: string;
4536
- generation: number;
4537
- decision: "accept" | "reject";
4538
- reason: string;
4539
- }) => Promise<{
4540
- id: string;
4541
- release: string;
4542
- quest: string;
4543
- member: string;
4544
- evidence: string | null;
4545
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
4546
- reason: string | null;
4547
- retries: number;
4548
- generation: number;
4549
- completion: string | null;
4550
- reviewRewards: ({
4551
- kind: "tier";
4552
- reward: {
4553
- id: string;
4554
- title: string;
4555
- tiers: {
4556
- id: string;
4557
- title: string;
4558
- }[];
4559
- inventory: {
4560
- kind: "untracked";
4561
- };
4562
- fulfillment: {
4563
- kind: "staff-handover";
4564
- };
4565
- };
4566
- tier: string;
4567
- } | {
4568
- kind: "points";
4569
- balance: string;
4570
- amount: number;
4571
- } | {
4572
- kind: "integration";
4573
- provider: "discord";
4574
- action: "grant-role";
4575
- roleId: string;
4576
- })[] | null;
4577
- requestedReview: boolean;
4578
- createdAt: number;
4579
- input?: {
4580
- kind: "quiz";
4581
- answers: {
4582
- [k: string]: string;
4583
- };
4584
- release?: string | undefined;
4585
- } | {
4586
- kind: "text";
4587
- value: string;
4588
- } | {
4589
- kind: "url";
4590
- value: string;
4591
- } | undefined;
4592
- }>;
4593
2610
  };
4594
2611
  declare function browserSubmissionStore(): SubmissionStore;
4595
2612