@domino-sdk/relay 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import { errorSchema, QuizEvidence, Attempt, SubmitInput, MemberProgress, questDescriptionSchema, PublishedRelease, ReviewListOptions, MemberListOptions, ReleaseInput, beginHandoverSchema } from './schema.js';
3
- export { Decision, Entitlement, MemberPage, PhotoResult, PickupAvailability, QuestAvailability, QuestDescription, QuestPresentation, QuestSettingsInput, ReviewPage, Reward, Snapshot, TieredRewardDefinition, artifactSchema, attemptSchema, batchReleaseSchema, completionRecordSchema, configurePickupSchema, confirmHandoverSchema, decisionSchema, entitlementSchema, eventSchema, evidenceSchema, identifier, mediaUrlSchema, memberListSchema, memberPageSchema, memberProgressSchema, photoResultSchema, pickupAllocationSchema, pickupAvailabilitySchema, pickupCatalogSchema, pickupPolicySchema, pickupSelectionSchema, pointsRewardSchema, prerequisiteSchema, publishedReleaseSchema, questAvailabilitySchema, questPresentationSchema, questSettingsInputSchema, quizAnswersSchema, quizEvidenceSchema, releaseSchema, reservationSchema, reviewItemSchema, reviewListSchema, reviewModeSchema, reviewPageSchema, rewardBundleSchema, rewardKey, rewardSchema, snapshotSchema, staffDecisionSchema, stockSchema, submitSchema, templateSchema, tierRewardSchema, tieredRewardDefinitionSchema, triggerSchema } from './schema.js';
4
- import { r as referralAcceptSchema, L as LeaderboardQuery, w as walletChallengeInputSchema, b as walletProofSchema, A as AuthProvider } from './settings-B7vsT8nd.js';
5
- export { c as AccountConnection, D as DiscordMember, I as IntegrationProvider, e as LeaderboardDefinition, f as LeaderboardPage, P as ProjectIntegration, Q as QuizContent, R as ReferralDefinition, g as SettingField, h as SettingsValues, S as SolanaBalance, W as WalletConnection, i as accountConnectionSchema, j as authProviderSchema, d as defineLeaderboard, a as defineReferral, k as discordMemberInputSchema, l as discordMemberSchema, m as discordServerSchema, n as integrationProviderSchema, o as leaderboardArtifactSchema, p as leaderboardDefinitionSchema, q as leaderboardExclusionSchema, t as leaderboardGroupSchema, u as leaderboardPageSchema, v as leaderboardPreviewSchema, x as leaderboardQuerySchema, y as leaderboardRowSchema, z as leaderboardWindowSchema, B as parseSettings, C as pointsAccountSchema, E as pointsEntrySchema, F as pointsMutationSchema, G as pointsResultSchema, H as projectIntegrationSchema, J as publishedLeaderboardSchema, K as publishedReferralSchema, M as quizChoiceSchema, N as quizContentSchema, O as quizQuestionSchema, T as quizQuestionsSchema, U as referralAccountSchema, V as referralArtifactSchema, X as referralControlSchema, Y as referralDefinitionSchema, Z as referralHistorySchema, _ as referralManagementSchema, $ as referralRelationshipSchema, a0 as referralSummarySchema, a1 as settingFieldSchema, s as settings, a2 as settingsFieldsSchema, a3 as settingsValuesSchema, a4 as solanaAddressSchema, a5 as solanaBalanceSchema, a6 as walletChallengeSchema, a7 as walletConnectionSchema } from './settings-B7vsT8nd.js';
3
+ export { Decision, Entitlement, MemberPage, PhotoResult, PickupAvailability, QuestAvailability, QuestDescription, QuestPresentation, QuestSettingsInput, ReviewPage, Reward, Snapshot, TieredRewardDefinition, artifactSchema, attemptSchema, batchReleaseSchema, completionRecordSchema, configurePickupSchema, confirmHandoverSchema, decisionSchema, entitlementSchema, eventSchema, evidenceSchema, identifier, integrationRewardSchema, mediaUrlSchema, memberListSchema, memberPageSchema, memberProgressSchema, photoResultSchema, pickupAllocationSchema, pickupAvailabilitySchema, pickupCatalogSchema, pickupPolicySchema, pickupSelectionSchema, pointsRewardSchema, prerequisiteSchema, publishedReleaseSchema, questAvailabilitySchema, questPresentationSchema, questSettingsInputSchema, quizAnswersSchema, quizEvidenceSchema, releaseSchema, reservationSchema, reviewItemSchema, reviewListSchema, reviewModeSchema, reviewPageSchema, rewardBundleSchema, rewardKey, rewardSchema, snapshotSchema, staffDecisionSchema, stockSchema, submitSchema, templateSchema, tierRewardSchema, tieredRewardDefinitionSchema, triggerSchema } from './schema.js';
4
+ import { r as referralAcceptSchema, L as LeaderboardQuery, w as walletChallengeInputSchema, e as walletProofSchema, A as AuthProvider } from './settings-BrC6C9yl.js';
5
+ export { f as AccountConnection, B as Budget, D as DiscordMember, a as DiscordMessage, I as IntegrationProvider, g as LeaderboardDefinition, h as LeaderboardPage, O as Observation, P as ProjectIntegration, Q as QuizContent, R as ReferralDefinition, i as ResourceOption, j as ResourceSource, k as SettingField, l as SettingsValues, S as SolanaBalance, W as WalletConnection, m as accountConnectionSchema, n as authProviderSchema, p as budgetSchema, q as compatibleSettingKinds, t as completionKeySchema, u as completionPolicySchema, d as defineLeaderboard, b as defineReferral, c as discord, v as discordMemberInputSchema, x as discordMemberSchema, y as discordMessageInputSchema, z as discordMessageSchema, C as discordReactionSchema, E as discordServerSchema, F as integrationProviderSchema, G as leaderboardArtifactSchema, H as leaderboardDefinitionSchema, J as leaderboardExclusionSchema, K as leaderboardGroupSchema, M as leaderboardPageSchema, N as leaderboardPreviewSchema, T as leaderboardQuerySchema, U as leaderboardRowSchema, V as leaderboardWindowSchema, X as missingResourceSettings, Y as observationInputSchema, Z as observationReceiptSchema, _ as observationSchema, o as observationTriggerSchema, $ as parseSettings, a0 as pointsAccountSchema, a1 as pointsEntrySchema, a2 as pointsMutationSchema, a3 as pointsResultSchema, a4 as projectIntegrationSchema, a5 as publishedLeaderboardSchema, a6 as publishedReferralSchema, a7 as quizChoiceSchema, a8 as quizContentSchema, a9 as quizQuestionSchema, aa as quizQuestionsSchema, ab as referralAccountSchema, ac as referralArtifactSchema, ad as referralControlSchema, ae as referralDefinitionSchema, af as referralHistorySchema, ag as referralManagementSchema, ah as referralRelationshipSchema, ai as referralSummarySchema, aj as resourceOptionsSchema, ak as resourceRequestSchema, al as resourceSourceSchema, am as settingFieldSchema, s as settings, an as settingsFieldsSchema, ao as settingsValuesSchema, ap as solanaAddressSchema, aq as solanaBalanceSchema, ar as walletChallengeSchema, as as walletConnectionSchema } from './settings-BrC6C9yl.js';
6
6
 
7
7
  declare class RelayError extends Error {
8
8
  readonly status: number;
@@ -145,16 +145,19 @@ declare function submissions(transport: Transport, configuredStore: SubmissionSt
145
145
  input: "photo";
146
146
  release?: string;
147
147
  recoverPrevious?: boolean;
148
+ repeatable?: boolean;
148
149
  }): Promise<PhotoSubmission>;
149
150
  (quest: string, options: {
150
151
  input: "quiz";
151
152
  release?: string;
152
153
  recoverPrevious?: boolean;
154
+ repeatable?: boolean;
153
155
  }): Promise<QuizSubmission>;
154
156
  (quest: string, options: {
155
157
  input: "none";
156
158
  release?: string;
157
159
  recoverPrevious?: boolean;
160
+ repeatable?: boolean;
158
161
  }): Promise<ClaimSubmission>;
159
162
  };
160
163
  type SubmissionDraft = {
@@ -227,6 +230,28 @@ declare const questTypeVersionSchema: z.ZodObject<{
227
230
  discord: "discord";
228
231
  }>>>;
229
232
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
233
+ kind: z.ZodLiteral<"datetime">;
234
+ default: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
235
+ label: z.ZodString;
236
+ description: z.ZodOptional<z.ZodString>;
237
+ }, z.core.$strict>, z.ZodObject<{
238
+ kind: z.ZodLiteral<"resource">;
239
+ default: z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>;
240
+ source: z.ZodUnion<readonly [z.ZodObject<{
241
+ provider: z.ZodLiteral<"discord">;
242
+ resource: z.ZodLiteral<"channel">;
243
+ types: z.ZodArray<z.ZodEnum<{
244
+ text: "text";
245
+ announcement: "announcement";
246
+ }>>;
247
+ }, z.core.$strict>, z.ZodObject<{
248
+ provider: z.ZodLiteral<"discord">;
249
+ resource: z.ZodLiteral<"role">;
250
+ assignable: z.ZodDefault<z.ZodBoolean>;
251
+ }, z.core.$strict>]>;
252
+ label: z.ZodString;
253
+ description: z.ZodOptional<z.ZodString>;
254
+ }, z.core.$strict>, z.ZodObject<{
230
255
  kind: z.ZodLiteral<"quiz">;
231
256
  default: z.ZodArray<z.ZodObject<{
232
257
  id: z.ZodString;
@@ -296,6 +321,11 @@ declare const questTypeVersionSchema: z.ZodObject<{
296
321
  }, z.core.$strict>;
297
322
  }, z.core.$strict>;
298
323
  tier: z.ZodString;
324
+ }, z.core.$strict>, z.ZodObject<{
325
+ kind: z.ZodLiteral<"integration">;
326
+ provider: z.ZodLiteral<"discord">;
327
+ action: z.ZodLiteral<"grant-role">;
328
+ roleId: z.ZodString;
299
329
  }, z.core.$strict>]>>;
300
330
  humanReview: z.ZodBoolean;
301
331
  trigger: z.ZodUnion<readonly [z.ZodObject<{
@@ -311,14 +341,39 @@ declare const questTypeVersionSchema: z.ZodObject<{
311
341
  }>>;
312
342
  }, z.core.$strict>, z.ZodObject<{
313
343
  kind: z.ZodLiteral<"automatic">;
344
+ observation: z.ZodOptional<z.ZodObject<{
345
+ source: z.ZodString;
346
+ type: z.ZodString;
347
+ }, z.core.$strict>>;
314
348
  }, z.core.$strict>]>;
315
349
  requires: z.ZodDefault<z.ZodArray<z.ZodObject<{
316
350
  quest: z.ZodString;
317
351
  scope: z.ZodLiteral<"ever">;
318
352
  }, z.core.$strict>>>;
319
- completion: z.ZodObject<{
353
+ completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
320
354
  kind: z.ZodLiteral<"once">;
321
- }, z.core.$strict>;
355
+ }, z.core.$strict>, z.ZodObject<{
356
+ kind: z.ZodLiteral<"keyed">;
357
+ }, z.core.$strict>], "kind">;
358
+ visibility: z.ZodDefault<z.ZodEnum<{
359
+ visible: "visible";
360
+ hidden: "hidden";
361
+ }>>;
362
+ budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
363
+ id: z.ZodString;
364
+ scope: z.ZodEnum<{
365
+ member: "member";
366
+ project: "project";
367
+ }>;
368
+ period: z.ZodEnum<{
369
+ lifetime: "lifetime";
370
+ day: "day";
371
+ }>;
372
+ limit: z.ZodNumber;
373
+ cost: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
374
+ balance: z.ZodString;
375
+ }, z.core.$strict>]>;
376
+ }, z.core.$strict>>>;
322
377
  }, z.core.$strict>;
323
378
  provider: z.ZodEnum<{
324
379
  "fixture-pass": "fixture-pass";
@@ -488,6 +543,28 @@ declare const questCatalogSchema: z.ZodObject<{
488
543
  discord: "discord";
489
544
  }>>>;
490
545
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
546
+ kind: z.ZodLiteral<"datetime">;
547
+ default: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
548
+ label: z.ZodString;
549
+ description: z.ZodOptional<z.ZodString>;
550
+ }, z.core.$strict>, z.ZodObject<{
551
+ kind: z.ZodLiteral<"resource">;
552
+ default: z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>;
553
+ source: z.ZodUnion<readonly [z.ZodObject<{
554
+ provider: z.ZodLiteral<"discord">;
555
+ resource: z.ZodLiteral<"channel">;
556
+ types: z.ZodArray<z.ZodEnum<{
557
+ text: "text";
558
+ announcement: "announcement";
559
+ }>>;
560
+ }, z.core.$strict>, z.ZodObject<{
561
+ provider: z.ZodLiteral<"discord">;
562
+ resource: z.ZodLiteral<"role">;
563
+ assignable: z.ZodDefault<z.ZodBoolean>;
564
+ }, z.core.$strict>]>;
565
+ label: z.ZodString;
566
+ description: z.ZodOptional<z.ZodString>;
567
+ }, z.core.$strict>, z.ZodObject<{
491
568
  kind: z.ZodLiteral<"quiz">;
492
569
  default: z.ZodArray<z.ZodObject<{
493
570
  id: z.ZodString;
@@ -557,6 +634,11 @@ declare const questCatalogSchema: z.ZodObject<{
557
634
  }, z.core.$strict>;
558
635
  }, z.core.$strict>;
559
636
  tier: z.ZodString;
637
+ }, z.core.$strict>, z.ZodObject<{
638
+ kind: z.ZodLiteral<"integration">;
639
+ provider: z.ZodLiteral<"discord">;
640
+ action: z.ZodLiteral<"grant-role">;
641
+ roleId: z.ZodString;
560
642
  }, z.core.$strict>]>>;
561
643
  humanReview: z.ZodBoolean;
562
644
  trigger: z.ZodUnion<readonly [z.ZodObject<{
@@ -572,14 +654,39 @@ declare const questCatalogSchema: z.ZodObject<{
572
654
  }>>;
573
655
  }, z.core.$strict>, z.ZodObject<{
574
656
  kind: z.ZodLiteral<"automatic">;
657
+ observation: z.ZodOptional<z.ZodObject<{
658
+ source: z.ZodString;
659
+ type: z.ZodString;
660
+ }, z.core.$strict>>;
575
661
  }, z.core.$strict>]>;
576
662
  requires: z.ZodDefault<z.ZodArray<z.ZodObject<{
577
663
  quest: z.ZodString;
578
664
  scope: z.ZodLiteral<"ever">;
579
665
  }, z.core.$strict>>>;
580
- completion: z.ZodObject<{
666
+ completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
581
667
  kind: z.ZodLiteral<"once">;
582
- }, z.core.$strict>;
668
+ }, z.core.$strict>, z.ZodObject<{
669
+ kind: z.ZodLiteral<"keyed">;
670
+ }, z.core.$strict>], "kind">;
671
+ visibility: z.ZodDefault<z.ZodEnum<{
672
+ visible: "visible";
673
+ hidden: "hidden";
674
+ }>>;
675
+ budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
676
+ id: z.ZodString;
677
+ scope: z.ZodEnum<{
678
+ member: "member";
679
+ project: "project";
680
+ }>;
681
+ period: z.ZodEnum<{
682
+ lifetime: "lifetime";
683
+ day: "day";
684
+ }>;
685
+ limit: z.ZodNumber;
686
+ cost: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
687
+ balance: z.ZodString;
688
+ }, z.core.$strict>]>;
689
+ }, z.core.$strict>>>;
583
690
  }, z.core.$strict>;
584
691
  provider: z.ZodEnum<{
585
692
  "fixture-pass": "fixture-pass";
@@ -711,6 +818,28 @@ declare const questCatalogSchema: z.ZodObject<{
711
818
  discord: "discord";
712
819
  }>>>;
713
820
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
821
+ kind: z.ZodLiteral<"datetime">;
822
+ default: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
823
+ label: z.ZodString;
824
+ description: z.ZodOptional<z.ZodString>;
825
+ }, z.core.$strict>, z.ZodObject<{
826
+ kind: z.ZodLiteral<"resource">;
827
+ default: z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>;
828
+ source: z.ZodUnion<readonly [z.ZodObject<{
829
+ provider: z.ZodLiteral<"discord">;
830
+ resource: z.ZodLiteral<"channel">;
831
+ types: z.ZodArray<z.ZodEnum<{
832
+ text: "text";
833
+ announcement: "announcement";
834
+ }>>;
835
+ }, z.core.$strict>, z.ZodObject<{
836
+ provider: z.ZodLiteral<"discord">;
837
+ resource: z.ZodLiteral<"role">;
838
+ assignable: z.ZodDefault<z.ZodBoolean>;
839
+ }, z.core.$strict>]>;
840
+ label: z.ZodString;
841
+ description: z.ZodOptional<z.ZodString>;
842
+ }, z.core.$strict>, z.ZodObject<{
714
843
  kind: z.ZodLiteral<"quiz">;
715
844
  default: z.ZodArray<z.ZodObject<{
716
845
  id: z.ZodString;
@@ -780,6 +909,11 @@ declare const questCatalogSchema: z.ZodObject<{
780
909
  }, z.core.$strict>;
781
910
  }, z.core.$strict>;
782
911
  tier: z.ZodString;
912
+ }, z.core.$strict>, z.ZodObject<{
913
+ kind: z.ZodLiteral<"integration">;
914
+ provider: z.ZodLiteral<"discord">;
915
+ action: z.ZodLiteral<"grant-role">;
916
+ roleId: z.ZodString;
783
917
  }, z.core.$strict>]>>;
784
918
  humanReview: z.ZodBoolean;
785
919
  trigger: z.ZodUnion<readonly [z.ZodObject<{
@@ -795,14 +929,39 @@ declare const questCatalogSchema: z.ZodObject<{
795
929
  }>>;
796
930
  }, z.core.$strict>, z.ZodObject<{
797
931
  kind: z.ZodLiteral<"automatic">;
932
+ observation: z.ZodOptional<z.ZodObject<{
933
+ source: z.ZodString;
934
+ type: z.ZodString;
935
+ }, z.core.$strict>>;
798
936
  }, z.core.$strict>]>;
799
937
  requires: z.ZodDefault<z.ZodArray<z.ZodObject<{
800
938
  quest: z.ZodString;
801
939
  scope: z.ZodLiteral<"ever">;
802
940
  }, z.core.$strict>>>;
803
- completion: z.ZodObject<{
941
+ completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
804
942
  kind: z.ZodLiteral<"once">;
805
- }, z.core.$strict>;
943
+ }, z.core.$strict>, z.ZodObject<{
944
+ kind: z.ZodLiteral<"keyed">;
945
+ }, z.core.$strict>], "kind">;
946
+ visibility: z.ZodDefault<z.ZodEnum<{
947
+ visible: "visible";
948
+ hidden: "hidden";
949
+ }>>;
950
+ budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
951
+ id: z.ZodString;
952
+ scope: z.ZodEnum<{
953
+ member: "member";
954
+ project: "project";
955
+ }>;
956
+ period: z.ZodEnum<{
957
+ lifetime: "lifetime";
958
+ day: "day";
959
+ }>;
960
+ limit: z.ZodNumber;
961
+ cost: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
962
+ balance: z.ZodString;
963
+ }, z.core.$strict>]>;
964
+ }, z.core.$strict>>>;
806
965
  code: z.ZodString;
807
966
  provider: z.ZodEnum<{
808
967
  "fixture-pass": "fixture-pass";
@@ -869,6 +1028,11 @@ declare const questCatalogSchema: z.ZodObject<{
869
1028
  }, z.core.$strict>;
870
1029
  }, z.core.$strict>;
871
1030
  tier: z.ZodString;
1031
+ }, z.core.$strict>, z.ZodObject<{
1032
+ kind: z.ZodLiteral<"integration">;
1033
+ provider: z.ZodLiteral<"discord">;
1034
+ action: z.ZodLiteral<"grant-role">;
1035
+ roleId: z.ZodString;
872
1036
  }, z.core.$strict>]>>;
873
1037
  code: z.ZodString;
874
1038
  provider: z.ZodEnum<{
@@ -906,6 +1070,25 @@ declare const questCatalogSchema: z.ZodObject<{
906
1070
  };
907
1071
  integrations: "discord"[];
908
1072
  fields: Record<string, {
1073
+ kind: "datetime";
1074
+ default: string;
1075
+ label: string;
1076
+ description?: string | undefined;
1077
+ } | {
1078
+ kind: "resource";
1079
+ default: string;
1080
+ source: {
1081
+ provider: "discord";
1082
+ resource: "channel";
1083
+ types: ("text" | "announcement")[];
1084
+ } | {
1085
+ provider: "discord";
1086
+ resource: "role";
1087
+ assignable: boolean;
1088
+ };
1089
+ label: string;
1090
+ description?: string | undefined;
1091
+ } | {
909
1092
  kind: "quiz";
910
1093
  default: {
911
1094
  id: string;
@@ -975,6 +1158,11 @@ declare const questCatalogSchema: z.ZodObject<{
975
1158
  kind: "points";
976
1159
  balance: string;
977
1160
  amount: number;
1161
+ } | {
1162
+ kind: "integration";
1163
+ provider: "discord";
1164
+ action: "grant-role";
1165
+ roleId: string;
978
1166
  })[];
979
1167
  humanReview: boolean;
980
1168
  trigger: {
@@ -983,6 +1171,10 @@ declare const questCatalogSchema: z.ZodObject<{
983
1171
  actor?: "member" | "staff" | undefined;
984
1172
  } | {
985
1173
  kind: "automatic";
1174
+ observation?: {
1175
+ source: string;
1176
+ type: string;
1177
+ } | undefined;
986
1178
  };
987
1179
  requires: {
988
1180
  quest: string;
@@ -990,7 +1182,19 @@ declare const questCatalogSchema: z.ZodObject<{
990
1182
  }[];
991
1183
  completion: {
992
1184
  kind: "once";
1185
+ } | {
1186
+ kind: "keyed";
993
1187
  };
1188
+ visibility: "visible" | "hidden";
1189
+ budgets: {
1190
+ id: string;
1191
+ scope: "member" | "project";
1192
+ period: "lifetime" | "day";
1193
+ limit: number;
1194
+ cost: number | {
1195
+ balance: string;
1196
+ };
1197
+ }[];
994
1198
  code: string;
995
1199
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
996
1200
  id: string;
@@ -1047,6 +1251,11 @@ declare const questCatalogSchema: z.ZodObject<{
1047
1251
  kind: "points";
1048
1252
  balance: string;
1049
1253
  amount: number;
1254
+ } | {
1255
+ kind: "integration";
1256
+ provider: "discord";
1257
+ action: "grant-role";
1258
+ roleId: string;
1050
1259
  })[];
1051
1260
  code: string;
1052
1261
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
@@ -1119,6 +1328,28 @@ declare const catalogDeploymentPreviewSchema: z.ZodObject<{
1119
1328
  discord: "discord";
1120
1329
  }>>>;
1121
1330
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
1331
+ kind: z.ZodLiteral<"datetime">;
1332
+ default: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
1333
+ label: z.ZodString;
1334
+ description: z.ZodOptional<z.ZodString>;
1335
+ }, z.core.$strict>, z.ZodObject<{
1336
+ kind: z.ZodLiteral<"resource">;
1337
+ default: z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>;
1338
+ source: z.ZodUnion<readonly [z.ZodObject<{
1339
+ provider: z.ZodLiteral<"discord">;
1340
+ resource: z.ZodLiteral<"channel">;
1341
+ types: z.ZodArray<z.ZodEnum<{
1342
+ text: "text";
1343
+ announcement: "announcement";
1344
+ }>>;
1345
+ }, z.core.$strict>, z.ZodObject<{
1346
+ provider: z.ZodLiteral<"discord">;
1347
+ resource: z.ZodLiteral<"role">;
1348
+ assignable: z.ZodDefault<z.ZodBoolean>;
1349
+ }, z.core.$strict>]>;
1350
+ label: z.ZodString;
1351
+ description: z.ZodOptional<z.ZodString>;
1352
+ }, z.core.$strict>, z.ZodObject<{
1122
1353
  kind: z.ZodLiteral<"quiz">;
1123
1354
  default: z.ZodArray<z.ZodObject<{
1124
1355
  id: z.ZodString;
@@ -1188,6 +1419,11 @@ declare const catalogDeploymentPreviewSchema: z.ZodObject<{
1188
1419
  }, z.core.$strict>;
1189
1420
  }, z.core.$strict>;
1190
1421
  tier: z.ZodString;
1422
+ }, z.core.$strict>, z.ZodObject<{
1423
+ kind: z.ZodLiteral<"integration">;
1424
+ provider: z.ZodLiteral<"discord">;
1425
+ action: z.ZodLiteral<"grant-role">;
1426
+ roleId: z.ZodString;
1191
1427
  }, z.core.$strict>]>>;
1192
1428
  humanReview: z.ZodBoolean;
1193
1429
  trigger: z.ZodUnion<readonly [z.ZodObject<{
@@ -1203,14 +1439,39 @@ declare const catalogDeploymentPreviewSchema: z.ZodObject<{
1203
1439
  }>>;
1204
1440
  }, z.core.$strict>, z.ZodObject<{
1205
1441
  kind: z.ZodLiteral<"automatic">;
1442
+ observation: z.ZodOptional<z.ZodObject<{
1443
+ source: z.ZodString;
1444
+ type: z.ZodString;
1445
+ }, z.core.$strict>>;
1206
1446
  }, z.core.$strict>]>;
1207
1447
  requires: z.ZodDefault<z.ZodArray<z.ZodObject<{
1208
1448
  quest: z.ZodString;
1209
1449
  scope: z.ZodLiteral<"ever">;
1210
1450
  }, z.core.$strict>>>;
1211
- completion: z.ZodObject<{
1451
+ completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
1212
1452
  kind: z.ZodLiteral<"once">;
1213
- }, z.core.$strict>;
1453
+ }, z.core.$strict>, z.ZodObject<{
1454
+ kind: z.ZodLiteral<"keyed">;
1455
+ }, z.core.$strict>], "kind">;
1456
+ visibility: z.ZodDefault<z.ZodEnum<{
1457
+ visible: "visible";
1458
+ hidden: "hidden";
1459
+ }>>;
1460
+ budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
1461
+ id: z.ZodString;
1462
+ scope: z.ZodEnum<{
1463
+ member: "member";
1464
+ project: "project";
1465
+ }>;
1466
+ period: z.ZodEnum<{
1467
+ lifetime: "lifetime";
1468
+ day: "day";
1469
+ }>;
1470
+ limit: z.ZodNumber;
1471
+ cost: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
1472
+ balance: z.ZodString;
1473
+ }, z.core.$strict>]>;
1474
+ }, z.core.$strict>>>;
1214
1475
  }, z.core.$strict>;
1215
1476
  provider: z.ZodEnum<{
1216
1477
  "fixture-pass": "fixture-pass";
@@ -1312,6 +1573,10 @@ declare const questViewSchema: z.ZodObject<{
1312
1573
  }>>;
1313
1574
  }, z.core.$strict>, z.ZodObject<{
1314
1575
  kind: z.ZodLiteral<"automatic">;
1576
+ observation: z.ZodOptional<z.ZodObject<{
1577
+ source: z.ZodString;
1578
+ type: z.ZodString;
1579
+ }, z.core.$strict>>;
1315
1580
  }, z.core.$strict>]>;
1316
1581
  availability: z.ZodDiscriminatedUnion<[z.ZodObject<{
1317
1582
  kind: z.ZodLiteral<"available">;
@@ -1332,6 +1597,10 @@ declare const questViewSchema: z.ZodObject<{
1332
1597
  kind: z.ZodLiteral<"staff-required">;
1333
1598
  }, z.core.$strict>, z.ZodObject<{
1334
1599
  kind: z.ZodLiteral<"automatic">;
1600
+ observation: z.ZodOptional<z.ZodObject<{
1601
+ source: z.ZodString;
1602
+ type: z.ZodString;
1603
+ }, z.core.$strict>>;
1335
1604
  }, z.core.$strict>, z.ZodObject<{
1336
1605
  kind: z.ZodLiteral<"checking">;
1337
1606
  attempt: z.ZodString;
@@ -1343,6 +1612,16 @@ declare const questViewSchema: z.ZodObject<{
1343
1612
  attempt: z.ZodString;
1344
1613
  }, z.core.$strict>], "kind">;
1345
1614
  completed: z.ZodBoolean;
1615
+ completion: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1616
+ kind: z.ZodLiteral<"once">;
1617
+ }, z.core.$strict>, z.ZodObject<{
1618
+ kind: z.ZodLiteral<"keyed">;
1619
+ }, z.core.$strict>], "kind">>;
1620
+ completionCount: z.ZodDefault<z.ZodNumber>;
1621
+ visibility: z.ZodDefault<z.ZodEnum<{
1622
+ visible: "visible";
1623
+ hidden: "hidden";
1624
+ }>>;
1346
1625
  missing: z.ZodArray<z.ZodObject<{
1347
1626
  quest: z.ZodString;
1348
1627
  title: z.ZodString;
@@ -1393,6 +1672,11 @@ declare const questViewSchema: z.ZodObject<{
1393
1672
  }, z.core.$strict>;
1394
1673
  }, z.core.$strict>;
1395
1674
  tier: z.ZodString;
1675
+ }, z.core.$strict>, z.ZodObject<{
1676
+ kind: z.ZodLiteral<"integration">;
1677
+ provider: z.ZodLiteral<"discord">;
1678
+ action: z.ZodLiteral<"grant-role">;
1679
+ roleId: z.ZodString;
1396
1680
  }, z.core.$strict>]>>>>;
1397
1681
  createdAt: z.ZodNumber;
1398
1682
  }, z.core.$strip>>;
@@ -1458,6 +1742,10 @@ declare const collectionViewSchema: z.ZodObject<{
1458
1742
  }>>;
1459
1743
  }, z.core.$strict>, z.ZodObject<{
1460
1744
  kind: z.ZodLiteral<"automatic">;
1745
+ observation: z.ZodOptional<z.ZodObject<{
1746
+ source: z.ZodString;
1747
+ type: z.ZodString;
1748
+ }, z.core.$strict>>;
1461
1749
  }, z.core.$strict>]>;
1462
1750
  availability: z.ZodDiscriminatedUnion<[z.ZodObject<{
1463
1751
  kind: z.ZodLiteral<"available">;
@@ -1478,6 +1766,10 @@ declare const collectionViewSchema: z.ZodObject<{
1478
1766
  kind: z.ZodLiteral<"staff-required">;
1479
1767
  }, z.core.$strict>, z.ZodObject<{
1480
1768
  kind: z.ZodLiteral<"automatic">;
1769
+ observation: z.ZodOptional<z.ZodObject<{
1770
+ source: z.ZodString;
1771
+ type: z.ZodString;
1772
+ }, z.core.$strict>>;
1481
1773
  }, z.core.$strict>, z.ZodObject<{
1482
1774
  kind: z.ZodLiteral<"checking">;
1483
1775
  attempt: z.ZodString;
@@ -1489,6 +1781,16 @@ declare const collectionViewSchema: z.ZodObject<{
1489
1781
  attempt: z.ZodString;
1490
1782
  }, z.core.$strict>], "kind">;
1491
1783
  completed: z.ZodBoolean;
1784
+ completion: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1785
+ kind: z.ZodLiteral<"once">;
1786
+ }, z.core.$strict>, z.ZodObject<{
1787
+ kind: z.ZodLiteral<"keyed">;
1788
+ }, z.core.$strict>], "kind">>;
1789
+ completionCount: z.ZodDefault<z.ZodNumber>;
1790
+ visibility: z.ZodDefault<z.ZodEnum<{
1791
+ visible: "visible";
1792
+ hidden: "hidden";
1793
+ }>>;
1492
1794
  missing: z.ZodArray<z.ZodObject<{
1493
1795
  quest: z.ZodString;
1494
1796
  title: z.ZodString;
@@ -1539,6 +1841,11 @@ declare const collectionViewSchema: z.ZodObject<{
1539
1841
  }, z.core.$strict>;
1540
1842
  }, z.core.$strict>;
1541
1843
  tier: z.ZodString;
1844
+ }, z.core.$strict>, z.ZodObject<{
1845
+ kind: z.ZodLiteral<"integration">;
1846
+ provider: z.ZodLiteral<"discord">;
1847
+ action: z.ZodLiteral<"grant-role">;
1848
+ roleId: z.ZodString;
1542
1849
  }, z.core.$strict>]>>>>;
1543
1850
  createdAt: z.ZodNumber;
1544
1851
  }, z.core.$strip>>;
@@ -1604,6 +1911,10 @@ declare const questExperienceSchema: z.ZodObject<{
1604
1911
  }>>;
1605
1912
  }, z.core.$strict>, z.ZodObject<{
1606
1913
  kind: z.ZodLiteral<"automatic">;
1914
+ observation: z.ZodOptional<z.ZodObject<{
1915
+ source: z.ZodString;
1916
+ type: z.ZodString;
1917
+ }, z.core.$strict>>;
1607
1918
  }, z.core.$strict>]>;
1608
1919
  availability: z.ZodDiscriminatedUnion<[z.ZodObject<{
1609
1920
  kind: z.ZodLiteral<"available">;
@@ -1624,6 +1935,10 @@ declare const questExperienceSchema: z.ZodObject<{
1624
1935
  kind: z.ZodLiteral<"staff-required">;
1625
1936
  }, z.core.$strict>, z.ZodObject<{
1626
1937
  kind: z.ZodLiteral<"automatic">;
1938
+ observation: z.ZodOptional<z.ZodObject<{
1939
+ source: z.ZodString;
1940
+ type: z.ZodString;
1941
+ }, z.core.$strict>>;
1627
1942
  }, z.core.$strict>, z.ZodObject<{
1628
1943
  kind: z.ZodLiteral<"checking">;
1629
1944
  attempt: z.ZodString;
@@ -1635,6 +1950,16 @@ declare const questExperienceSchema: z.ZodObject<{
1635
1950
  attempt: z.ZodString;
1636
1951
  }, z.core.$strict>], "kind">;
1637
1952
  completed: z.ZodBoolean;
1953
+ completion: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
1954
+ kind: z.ZodLiteral<"once">;
1955
+ }, z.core.$strict>, z.ZodObject<{
1956
+ kind: z.ZodLiteral<"keyed">;
1957
+ }, z.core.$strict>], "kind">>;
1958
+ completionCount: z.ZodDefault<z.ZodNumber>;
1959
+ visibility: z.ZodDefault<z.ZodEnum<{
1960
+ visible: "visible";
1961
+ hidden: "hidden";
1962
+ }>>;
1638
1963
  missing: z.ZodArray<z.ZodObject<{
1639
1964
  quest: z.ZodString;
1640
1965
  title: z.ZodString;
@@ -1685,6 +2010,11 @@ declare const questExperienceSchema: z.ZodObject<{
1685
2010
  }, z.core.$strict>;
1686
2011
  }, z.core.$strict>;
1687
2012
  tier: z.ZodString;
2013
+ }, z.core.$strict>, z.ZodObject<{
2014
+ kind: z.ZodLiteral<"integration">;
2015
+ provider: z.ZodLiteral<"discord">;
2016
+ action: z.ZodLiteral<"grant-role">;
2017
+ roleId: z.ZodString;
1688
2018
  }, z.core.$strict>]>>>>;
1689
2019
  createdAt: z.ZodNumber;
1690
2020
  }, z.core.$strip>>;
@@ -1750,6 +2080,10 @@ declare const questExperienceSchema: z.ZodObject<{
1750
2080
  }>>;
1751
2081
  }, z.core.$strict>, z.ZodObject<{
1752
2082
  kind: z.ZodLiteral<"automatic">;
2083
+ observation: z.ZodOptional<z.ZodObject<{
2084
+ source: z.ZodString;
2085
+ type: z.ZodString;
2086
+ }, z.core.$strict>>;
1753
2087
  }, z.core.$strict>]>;
1754
2088
  availability: z.ZodDiscriminatedUnion<[z.ZodObject<{
1755
2089
  kind: z.ZodLiteral<"available">;
@@ -1770,6 +2104,10 @@ declare const questExperienceSchema: z.ZodObject<{
1770
2104
  kind: z.ZodLiteral<"staff-required">;
1771
2105
  }, z.core.$strict>, z.ZodObject<{
1772
2106
  kind: z.ZodLiteral<"automatic">;
2107
+ observation: z.ZodOptional<z.ZodObject<{
2108
+ source: z.ZodString;
2109
+ type: z.ZodString;
2110
+ }, z.core.$strict>>;
1773
2111
  }, z.core.$strict>, z.ZodObject<{
1774
2112
  kind: z.ZodLiteral<"checking">;
1775
2113
  attempt: z.ZodString;
@@ -1781,6 +2119,16 @@ declare const questExperienceSchema: z.ZodObject<{
1781
2119
  attempt: z.ZodString;
1782
2120
  }, z.core.$strict>], "kind">;
1783
2121
  completed: z.ZodBoolean;
2122
+ completion: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
2123
+ kind: z.ZodLiteral<"once">;
2124
+ }, z.core.$strict>, z.ZodObject<{
2125
+ kind: z.ZodLiteral<"keyed">;
2126
+ }, z.core.$strict>], "kind">>;
2127
+ completionCount: z.ZodDefault<z.ZodNumber>;
2128
+ visibility: z.ZodDefault<z.ZodEnum<{
2129
+ visible: "visible";
2130
+ hidden: "hidden";
2131
+ }>>;
1784
2132
  missing: z.ZodArray<z.ZodObject<{
1785
2133
  quest: z.ZodString;
1786
2134
  title: z.ZodString;
@@ -1831,6 +2179,11 @@ declare const questExperienceSchema: z.ZodObject<{
1831
2179
  }, z.core.$strict>;
1832
2180
  }, z.core.$strict>;
1833
2181
  tier: z.ZodString;
2182
+ }, z.core.$strict>, z.ZodObject<{
2183
+ kind: z.ZodLiteral<"integration">;
2184
+ provider: z.ZodLiteral<"discord">;
2185
+ action: z.ZodLiteral<"grant-role">;
2186
+ roleId: z.ZodString;
1834
2187
  }, z.core.$strict>]>>>>;
1835
2188
  createdAt: z.ZodNumber;
1836
2189
  }, z.core.$strip>>;
@@ -1954,6 +2307,28 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
1954
2307
  discord: "discord";
1955
2308
  }>>>;
1956
2309
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
2310
+ kind: z.ZodLiteral<"datetime">;
2311
+ default: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
2312
+ label: z.ZodString;
2313
+ description: z.ZodOptional<z.ZodString>;
2314
+ }, z.core.$strict>, z.ZodObject<{
2315
+ kind: z.ZodLiteral<"resource">;
2316
+ default: z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>;
2317
+ source: z.ZodUnion<readonly [z.ZodObject<{
2318
+ provider: z.ZodLiteral<"discord">;
2319
+ resource: z.ZodLiteral<"channel">;
2320
+ types: z.ZodArray<z.ZodEnum<{
2321
+ text: "text";
2322
+ announcement: "announcement";
2323
+ }>>;
2324
+ }, z.core.$strict>, z.ZodObject<{
2325
+ provider: z.ZodLiteral<"discord">;
2326
+ resource: z.ZodLiteral<"role">;
2327
+ assignable: z.ZodDefault<z.ZodBoolean>;
2328
+ }, z.core.$strict>]>;
2329
+ label: z.ZodString;
2330
+ description: z.ZodOptional<z.ZodString>;
2331
+ }, z.core.$strict>, z.ZodObject<{
1957
2332
  kind: z.ZodLiteral<"quiz">;
1958
2333
  default: z.ZodArray<z.ZodObject<{
1959
2334
  id: z.ZodString;
@@ -2023,6 +2398,11 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
2023
2398
  }, z.core.$strict>;
2024
2399
  }, z.core.$strict>;
2025
2400
  tier: z.ZodString;
2401
+ }, z.core.$strict>, z.ZodObject<{
2402
+ kind: z.ZodLiteral<"integration">;
2403
+ provider: z.ZodLiteral<"discord">;
2404
+ action: z.ZodLiteral<"grant-role">;
2405
+ roleId: z.ZodString;
2026
2406
  }, z.core.$strict>]>>;
2027
2407
  humanReview: z.ZodBoolean;
2028
2408
  trigger: z.ZodUnion<readonly [z.ZodObject<{
@@ -2038,14 +2418,39 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
2038
2418
  }>>;
2039
2419
  }, z.core.$strict>, z.ZodObject<{
2040
2420
  kind: z.ZodLiteral<"automatic">;
2421
+ observation: z.ZodOptional<z.ZodObject<{
2422
+ source: z.ZodString;
2423
+ type: z.ZodString;
2424
+ }, z.core.$strict>>;
2041
2425
  }, z.core.$strict>]>;
2042
2426
  requires: z.ZodDefault<z.ZodArray<z.ZodObject<{
2043
2427
  quest: z.ZodString;
2044
2428
  scope: z.ZodLiteral<"ever">;
2045
2429
  }, z.core.$strict>>>;
2046
- completion: z.ZodObject<{
2430
+ completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
2047
2431
  kind: z.ZodLiteral<"once">;
2048
- }, z.core.$strict>;
2432
+ }, z.core.$strict>, z.ZodObject<{
2433
+ kind: z.ZodLiteral<"keyed">;
2434
+ }, z.core.$strict>], "kind">;
2435
+ visibility: z.ZodDefault<z.ZodEnum<{
2436
+ visible: "visible";
2437
+ hidden: "hidden";
2438
+ }>>;
2439
+ budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
2440
+ id: z.ZodString;
2441
+ scope: z.ZodEnum<{
2442
+ member: "member";
2443
+ project: "project";
2444
+ }>;
2445
+ period: z.ZodEnum<{
2446
+ lifetime: "lifetime";
2447
+ day: "day";
2448
+ }>;
2449
+ limit: z.ZodNumber;
2450
+ cost: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
2451
+ balance: z.ZodString;
2452
+ }, z.core.$strict>]>;
2453
+ }, z.core.$strict>>>;
2049
2454
  code: z.ZodString;
2050
2455
  provider: z.ZodEnum<{
2051
2456
  "fixture-pass": "fixture-pass";
@@ -2112,6 +2517,11 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
2112
2517
  }, z.core.$strict>;
2113
2518
  }, z.core.$strict>;
2114
2519
  tier: z.ZodString;
2520
+ }, z.core.$strict>, z.ZodObject<{
2521
+ kind: z.ZodLiteral<"integration">;
2522
+ provider: z.ZodLiteral<"discord">;
2523
+ action: z.ZodLiteral<"grant-role">;
2524
+ roleId: z.ZodString;
2115
2525
  }, z.core.$strict>]>>;
2116
2526
  code: z.ZodString;
2117
2527
  provider: z.ZodEnum<{
@@ -2149,6 +2559,25 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
2149
2559
  };
2150
2560
  integrations: "discord"[];
2151
2561
  fields: Record<string, {
2562
+ kind: "datetime";
2563
+ default: string;
2564
+ label: string;
2565
+ description?: string | undefined;
2566
+ } | {
2567
+ kind: "resource";
2568
+ default: string;
2569
+ source: {
2570
+ provider: "discord";
2571
+ resource: "channel";
2572
+ types: ("text" | "announcement")[];
2573
+ } | {
2574
+ provider: "discord";
2575
+ resource: "role";
2576
+ assignable: boolean;
2577
+ };
2578
+ label: string;
2579
+ description?: string | undefined;
2580
+ } | {
2152
2581
  kind: "quiz";
2153
2582
  default: {
2154
2583
  id: string;
@@ -2218,6 +2647,11 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
2218
2647
  kind: "points";
2219
2648
  balance: string;
2220
2649
  amount: number;
2650
+ } | {
2651
+ kind: "integration";
2652
+ provider: "discord";
2653
+ action: "grant-role";
2654
+ roleId: string;
2221
2655
  })[];
2222
2656
  humanReview: boolean;
2223
2657
  trigger: {
@@ -2226,6 +2660,10 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
2226
2660
  actor?: "member" | "staff" | undefined;
2227
2661
  } | {
2228
2662
  kind: "automatic";
2663
+ observation?: {
2664
+ source: string;
2665
+ type: string;
2666
+ } | undefined;
2229
2667
  };
2230
2668
  requires: {
2231
2669
  quest: string;
@@ -2233,7 +2671,19 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
2233
2671
  }[];
2234
2672
  completion: {
2235
2673
  kind: "once";
2674
+ } | {
2675
+ kind: "keyed";
2236
2676
  };
2677
+ visibility: "visible" | "hidden";
2678
+ budgets: {
2679
+ id: string;
2680
+ scope: "member" | "project";
2681
+ period: "lifetime" | "day";
2682
+ limit: number;
2683
+ cost: number | {
2684
+ balance: string;
2685
+ };
2686
+ }[];
2237
2687
  code: string;
2238
2688
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
2239
2689
  id: string;
@@ -2290,6 +2740,11 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
2290
2740
  kind: "points";
2291
2741
  balance: string;
2292
2742
  amount: number;
2743
+ } | {
2744
+ kind: "integration";
2745
+ provider: "discord";
2746
+ action: "grant-role";
2747
+ roleId: string;
2293
2748
  })[];
2294
2749
  code: string;
2295
2750
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
@@ -2334,6 +2789,45 @@ type QuestController = (ActiveController & {
2334
2789
  submit(): Promise<QuestActionResult>;
2335
2790
  });
2336
2791
 
2792
+ declare const rewardDeliverySchema: z.ZodObject<{
2793
+ id: z.ZodString;
2794
+ quest: z.ZodString;
2795
+ completion: z.ZodString;
2796
+ member: z.ZodString;
2797
+ provider: z.ZodLiteral<"discord">;
2798
+ action: z.ZodLiteral<"grant-role">;
2799
+ roleId: z.ZodString;
2800
+ status: z.ZodEnum<{
2801
+ pending: "pending";
2802
+ delivered: "delivered";
2803
+ }>;
2804
+ attempts: z.ZodNumber;
2805
+ nextAt: z.ZodNumber;
2806
+ lastError: z.ZodNullable<z.ZodString>;
2807
+ createdAt: z.ZodNumber;
2808
+ deliveredAt: z.ZodNullable<z.ZodNumber>;
2809
+ }, z.core.$strip>;
2810
+ declare const rewardDeliveriesSchema: z.ZodObject<{
2811
+ deliveries: z.ZodArray<z.ZodObject<{
2812
+ id: z.ZodString;
2813
+ quest: z.ZodString;
2814
+ completion: z.ZodString;
2815
+ member: z.ZodString;
2816
+ provider: z.ZodLiteral<"discord">;
2817
+ action: z.ZodLiteral<"grant-role">;
2818
+ roleId: z.ZodString;
2819
+ status: z.ZodEnum<{
2820
+ pending: "pending";
2821
+ delivered: "delivered";
2822
+ }>;
2823
+ attempts: z.ZodNumber;
2824
+ nextAt: z.ZodNumber;
2825
+ lastError: z.ZodNullable<z.ZodString>;
2826
+ createdAt: z.ZodNumber;
2827
+ deliveredAt: z.ZodNullable<z.ZodNumber>;
2828
+ }, z.core.$strip>>;
2829
+ }, z.core.$strip>;
2830
+
2337
2831
  /** An opaque prefixed resource ID with 131 bits of cryptographic randomness. */
2338
2832
  declare function resourceId(prefix: string): string;
2339
2833
 
@@ -2877,6 +3371,28 @@ declare const deploymentPreviewSchema: z.ZodObject<{
2877
3371
  discord: "discord";
2878
3372
  }>>>;
2879
3373
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
3374
+ kind: z.ZodLiteral<"datetime">;
3375
+ default: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
3376
+ label: z.ZodString;
3377
+ description: z.ZodOptional<z.ZodString>;
3378
+ }, z.core.$strict>, z.ZodObject<{
3379
+ kind: z.ZodLiteral<"resource">;
3380
+ default: z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>;
3381
+ source: z.ZodUnion<readonly [z.ZodObject<{
3382
+ provider: z.ZodLiteral<"discord">;
3383
+ resource: z.ZodLiteral<"channel">;
3384
+ types: z.ZodArray<z.ZodEnum<{
3385
+ text: "text";
3386
+ announcement: "announcement";
3387
+ }>>;
3388
+ }, z.core.$strict>, z.ZodObject<{
3389
+ provider: z.ZodLiteral<"discord">;
3390
+ resource: z.ZodLiteral<"role">;
3391
+ assignable: z.ZodDefault<z.ZodBoolean>;
3392
+ }, z.core.$strict>]>;
3393
+ label: z.ZodString;
3394
+ description: z.ZodOptional<z.ZodString>;
3395
+ }, z.core.$strict>, z.ZodObject<{
2880
3396
  kind: z.ZodLiteral<"quiz">;
2881
3397
  default: z.ZodArray<z.ZodObject<{
2882
3398
  id: z.ZodString;
@@ -2946,6 +3462,11 @@ declare const deploymentPreviewSchema: z.ZodObject<{
2946
3462
  }, z.core.$strict>;
2947
3463
  }, z.core.$strict>;
2948
3464
  tier: z.ZodString;
3465
+ }, z.core.$strict>, z.ZodObject<{
3466
+ kind: z.ZodLiteral<"integration">;
3467
+ provider: z.ZodLiteral<"discord">;
3468
+ action: z.ZodLiteral<"grant-role">;
3469
+ roleId: z.ZodString;
2949
3470
  }, z.core.$strict>]>>;
2950
3471
  humanReview: z.ZodBoolean;
2951
3472
  trigger: z.ZodUnion<readonly [z.ZodObject<{
@@ -2961,14 +3482,39 @@ declare const deploymentPreviewSchema: z.ZodObject<{
2961
3482
  }>>;
2962
3483
  }, z.core.$strict>, z.ZodObject<{
2963
3484
  kind: z.ZodLiteral<"automatic">;
3485
+ observation: z.ZodOptional<z.ZodObject<{
3486
+ source: z.ZodString;
3487
+ type: z.ZodString;
3488
+ }, z.core.$strict>>;
2964
3489
  }, z.core.$strict>]>;
2965
3490
  requires: z.ZodDefault<z.ZodArray<z.ZodObject<{
2966
3491
  quest: z.ZodString;
2967
3492
  scope: z.ZodLiteral<"ever">;
2968
3493
  }, z.core.$strict>>>;
2969
- completion: z.ZodObject<{
3494
+ completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
2970
3495
  kind: z.ZodLiteral<"once">;
2971
- }, z.core.$strict>;
3496
+ }, z.core.$strict>, z.ZodObject<{
3497
+ kind: z.ZodLiteral<"keyed">;
3498
+ }, z.core.$strict>], "kind">;
3499
+ visibility: z.ZodDefault<z.ZodEnum<{
3500
+ visible: "visible";
3501
+ hidden: "hidden";
3502
+ }>>;
3503
+ budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
3504
+ id: z.ZodString;
3505
+ scope: z.ZodEnum<{
3506
+ member: "member";
3507
+ project: "project";
3508
+ }>;
3509
+ period: z.ZodEnum<{
3510
+ lifetime: "lifetime";
3511
+ day: "day";
3512
+ }>;
3513
+ limit: z.ZodNumber;
3514
+ cost: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
3515
+ balance: z.ZodString;
3516
+ }, z.core.$strict>]>;
3517
+ }, z.core.$strict>>>;
2972
3518
  code: z.ZodString;
2973
3519
  provider: z.ZodEnum<{
2974
3520
  "fixture-pass": "fixture-pass";
@@ -3035,6 +3581,11 @@ declare const deploymentPreviewSchema: z.ZodObject<{
3035
3581
  }, z.core.$strict>;
3036
3582
  }, z.core.$strict>;
3037
3583
  tier: z.ZodString;
3584
+ }, z.core.$strict>, z.ZodObject<{
3585
+ kind: z.ZodLiteral<"integration">;
3586
+ provider: z.ZodLiteral<"discord">;
3587
+ action: z.ZodLiteral<"grant-role">;
3588
+ roleId: z.ZodString;
3038
3589
  }, z.core.$strict>]>>;
3039
3590
  code: z.ZodString;
3040
3591
  provider: z.ZodEnum<{
@@ -3072,6 +3623,25 @@ declare const deploymentPreviewSchema: z.ZodObject<{
3072
3623
  };
3073
3624
  integrations: "discord"[];
3074
3625
  fields: Record<string, {
3626
+ kind: "datetime";
3627
+ default: string;
3628
+ label: string;
3629
+ description?: string | undefined;
3630
+ } | {
3631
+ kind: "resource";
3632
+ default: string;
3633
+ source: {
3634
+ provider: "discord";
3635
+ resource: "channel";
3636
+ types: ("text" | "announcement")[];
3637
+ } | {
3638
+ provider: "discord";
3639
+ resource: "role";
3640
+ assignable: boolean;
3641
+ };
3642
+ label: string;
3643
+ description?: string | undefined;
3644
+ } | {
3075
3645
  kind: "quiz";
3076
3646
  default: {
3077
3647
  id: string;
@@ -3141,6 +3711,11 @@ declare const deploymentPreviewSchema: z.ZodObject<{
3141
3711
  kind: "points";
3142
3712
  balance: string;
3143
3713
  amount: number;
3714
+ } | {
3715
+ kind: "integration";
3716
+ provider: "discord";
3717
+ action: "grant-role";
3718
+ roleId: string;
3144
3719
  })[];
3145
3720
  humanReview: boolean;
3146
3721
  trigger: {
@@ -3149,6 +3724,10 @@ declare const deploymentPreviewSchema: z.ZodObject<{
3149
3724
  actor?: "member" | "staff" | undefined;
3150
3725
  } | {
3151
3726
  kind: "automatic";
3727
+ observation?: {
3728
+ source: string;
3729
+ type: string;
3730
+ } | undefined;
3152
3731
  };
3153
3732
  requires: {
3154
3733
  quest: string;
@@ -3156,7 +3735,19 @@ declare const deploymentPreviewSchema: z.ZodObject<{
3156
3735
  }[];
3157
3736
  completion: {
3158
3737
  kind: "once";
3738
+ } | {
3739
+ kind: "keyed";
3159
3740
  };
3741
+ visibility: "visible" | "hidden";
3742
+ budgets: {
3743
+ id: string;
3744
+ scope: "member" | "project";
3745
+ period: "lifetime" | "day";
3746
+ limit: number;
3747
+ cost: number | {
3748
+ balance: string;
3749
+ };
3750
+ }[];
3160
3751
  code: string;
3161
3752
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
3162
3753
  id: string;
@@ -3213,6 +3804,11 @@ declare const deploymentPreviewSchema: z.ZodObject<{
3213
3804
  kind: "points";
3214
3805
  balance: string;
3215
3806
  amount: number;
3807
+ } | {
3808
+ kind: "integration";
3809
+ provider: "discord";
3810
+ action: "grant-role";
3811
+ roleId: string;
3216
3812
  })[];
3217
3813
  code: string;
3218
3814
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
@@ -3251,6 +3847,28 @@ declare const deploymentPreviewSchema: z.ZodObject<{
3251
3847
  discord: "discord";
3252
3848
  }>>>;
3253
3849
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
3850
+ kind: z.ZodLiteral<"datetime">;
3851
+ default: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
3852
+ label: z.ZodString;
3853
+ description: z.ZodOptional<z.ZodString>;
3854
+ }, z.core.$strict>, z.ZodObject<{
3855
+ kind: z.ZodLiteral<"resource">;
3856
+ default: z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>;
3857
+ source: z.ZodUnion<readonly [z.ZodObject<{
3858
+ provider: z.ZodLiteral<"discord">;
3859
+ resource: z.ZodLiteral<"channel">;
3860
+ types: z.ZodArray<z.ZodEnum<{
3861
+ text: "text";
3862
+ announcement: "announcement";
3863
+ }>>;
3864
+ }, z.core.$strict>, z.ZodObject<{
3865
+ provider: z.ZodLiteral<"discord">;
3866
+ resource: z.ZodLiteral<"role">;
3867
+ assignable: z.ZodDefault<z.ZodBoolean>;
3868
+ }, z.core.$strict>]>;
3869
+ label: z.ZodString;
3870
+ description: z.ZodOptional<z.ZodString>;
3871
+ }, z.core.$strict>, z.ZodObject<{
3254
3872
  kind: z.ZodLiteral<"quiz">;
3255
3873
  default: z.ZodArray<z.ZodObject<{
3256
3874
  id: z.ZodString;
@@ -3320,6 +3938,11 @@ declare const deploymentPreviewSchema: z.ZodObject<{
3320
3938
  }, z.core.$strict>;
3321
3939
  }, z.core.$strict>;
3322
3940
  tier: z.ZodString;
3941
+ }, z.core.$strict>, z.ZodObject<{
3942
+ kind: z.ZodLiteral<"integration">;
3943
+ provider: z.ZodLiteral<"discord">;
3944
+ action: z.ZodLiteral<"grant-role">;
3945
+ roleId: z.ZodString;
3323
3946
  }, z.core.$strict>]>>;
3324
3947
  humanReview: z.ZodBoolean;
3325
3948
  trigger: z.ZodUnion<readonly [z.ZodObject<{
@@ -3335,14 +3958,39 @@ declare const deploymentPreviewSchema: z.ZodObject<{
3335
3958
  }>>;
3336
3959
  }, z.core.$strict>, z.ZodObject<{
3337
3960
  kind: z.ZodLiteral<"automatic">;
3961
+ observation: z.ZodOptional<z.ZodObject<{
3962
+ source: z.ZodString;
3963
+ type: z.ZodString;
3964
+ }, z.core.$strict>>;
3338
3965
  }, z.core.$strict>]>;
3339
3966
  requires: z.ZodDefault<z.ZodArray<z.ZodObject<{
3340
3967
  quest: z.ZodString;
3341
3968
  scope: z.ZodLiteral<"ever">;
3342
3969
  }, z.core.$strict>>>;
3343
- completion: z.ZodObject<{
3970
+ completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
3344
3971
  kind: z.ZodLiteral<"once">;
3345
- }, z.core.$strict>;
3972
+ }, z.core.$strict>, z.ZodObject<{
3973
+ kind: z.ZodLiteral<"keyed">;
3974
+ }, z.core.$strict>], "kind">;
3975
+ visibility: z.ZodDefault<z.ZodEnum<{
3976
+ visible: "visible";
3977
+ hidden: "hidden";
3978
+ }>>;
3979
+ budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
3980
+ id: z.ZodString;
3981
+ scope: z.ZodEnum<{
3982
+ member: "member";
3983
+ project: "project";
3984
+ }>;
3985
+ period: z.ZodEnum<{
3986
+ lifetime: "lifetime";
3987
+ day: "day";
3988
+ }>;
3989
+ limit: z.ZodNumber;
3990
+ cost: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
3991
+ balance: z.ZodString;
3992
+ }, z.core.$strict>]>;
3993
+ }, z.core.$strict>>>;
3346
3994
  }, z.core.$strict>;
3347
3995
  provider: z.ZodEnum<{
3348
3996
  "fixture-pass": "fixture-pass";
@@ -3639,6 +4287,28 @@ declare const deploymentResultSchema: z.ZodObject<{
3639
4287
  discord: "discord";
3640
4288
  }>>>;
3641
4289
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
4290
+ kind: z.ZodLiteral<"datetime">;
4291
+ default: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
4292
+ label: z.ZodString;
4293
+ description: z.ZodOptional<z.ZodString>;
4294
+ }, z.core.$strict>, z.ZodObject<{
4295
+ kind: z.ZodLiteral<"resource">;
4296
+ default: z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>;
4297
+ source: z.ZodUnion<readonly [z.ZodObject<{
4298
+ provider: z.ZodLiteral<"discord">;
4299
+ resource: z.ZodLiteral<"channel">;
4300
+ types: z.ZodArray<z.ZodEnum<{
4301
+ text: "text";
4302
+ announcement: "announcement";
4303
+ }>>;
4304
+ }, z.core.$strict>, z.ZodObject<{
4305
+ provider: z.ZodLiteral<"discord">;
4306
+ resource: z.ZodLiteral<"role">;
4307
+ assignable: z.ZodDefault<z.ZodBoolean>;
4308
+ }, z.core.$strict>]>;
4309
+ label: z.ZodString;
4310
+ description: z.ZodOptional<z.ZodString>;
4311
+ }, z.core.$strict>, z.ZodObject<{
3642
4312
  kind: z.ZodLiteral<"quiz">;
3643
4313
  default: z.ZodArray<z.ZodObject<{
3644
4314
  id: z.ZodString;
@@ -3708,6 +4378,11 @@ declare const deploymentResultSchema: z.ZodObject<{
3708
4378
  }, z.core.$strict>;
3709
4379
  }, z.core.$strict>;
3710
4380
  tier: z.ZodString;
4381
+ }, z.core.$strict>, z.ZodObject<{
4382
+ kind: z.ZodLiteral<"integration">;
4383
+ provider: z.ZodLiteral<"discord">;
4384
+ action: z.ZodLiteral<"grant-role">;
4385
+ roleId: z.ZodString;
3711
4386
  }, z.core.$strict>]>>;
3712
4387
  humanReview: z.ZodBoolean;
3713
4388
  trigger: z.ZodUnion<readonly [z.ZodObject<{
@@ -3723,14 +4398,39 @@ declare const deploymentResultSchema: z.ZodObject<{
3723
4398
  }>>;
3724
4399
  }, z.core.$strict>, z.ZodObject<{
3725
4400
  kind: z.ZodLiteral<"automatic">;
4401
+ observation: z.ZodOptional<z.ZodObject<{
4402
+ source: z.ZodString;
4403
+ type: z.ZodString;
4404
+ }, z.core.$strict>>;
3726
4405
  }, z.core.$strict>]>;
3727
4406
  requires: z.ZodDefault<z.ZodArray<z.ZodObject<{
3728
4407
  quest: z.ZodString;
3729
4408
  scope: z.ZodLiteral<"ever">;
3730
4409
  }, z.core.$strict>>>;
3731
- completion: z.ZodObject<{
4410
+ completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
3732
4411
  kind: z.ZodLiteral<"once">;
3733
- }, z.core.$strict>;
4412
+ }, z.core.$strict>, z.ZodObject<{
4413
+ kind: z.ZodLiteral<"keyed">;
4414
+ }, z.core.$strict>], "kind">;
4415
+ visibility: z.ZodDefault<z.ZodEnum<{
4416
+ visible: "visible";
4417
+ hidden: "hidden";
4418
+ }>>;
4419
+ budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
4420
+ id: z.ZodString;
4421
+ scope: z.ZodEnum<{
4422
+ member: "member";
4423
+ project: "project";
4424
+ }>;
4425
+ period: z.ZodEnum<{
4426
+ lifetime: "lifetime";
4427
+ day: "day";
4428
+ }>;
4429
+ limit: z.ZodNumber;
4430
+ cost: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
4431
+ balance: z.ZodString;
4432
+ }, z.core.$strict>]>;
4433
+ }, z.core.$strict>>>;
3734
4434
  code: z.ZodString;
3735
4435
  provider: z.ZodEnum<{
3736
4436
  "fixture-pass": "fixture-pass";
@@ -3797,6 +4497,11 @@ declare const deploymentResultSchema: z.ZodObject<{
3797
4497
  }, z.core.$strict>;
3798
4498
  }, z.core.$strict>;
3799
4499
  tier: z.ZodString;
4500
+ }, z.core.$strict>, z.ZodObject<{
4501
+ kind: z.ZodLiteral<"integration">;
4502
+ provider: z.ZodLiteral<"discord">;
4503
+ action: z.ZodLiteral<"grant-role">;
4504
+ roleId: z.ZodString;
3800
4505
  }, z.core.$strict>]>>;
3801
4506
  code: z.ZodString;
3802
4507
  provider: z.ZodEnum<{
@@ -3834,6 +4539,25 @@ declare const deploymentResultSchema: z.ZodObject<{
3834
4539
  };
3835
4540
  integrations: "discord"[];
3836
4541
  fields: Record<string, {
4542
+ kind: "datetime";
4543
+ default: string;
4544
+ label: string;
4545
+ description?: string | undefined;
4546
+ } | {
4547
+ kind: "resource";
4548
+ default: string;
4549
+ source: {
4550
+ provider: "discord";
4551
+ resource: "channel";
4552
+ types: ("text" | "announcement")[];
4553
+ } | {
4554
+ provider: "discord";
4555
+ resource: "role";
4556
+ assignable: boolean;
4557
+ };
4558
+ label: string;
4559
+ description?: string | undefined;
4560
+ } | {
3837
4561
  kind: "quiz";
3838
4562
  default: {
3839
4563
  id: string;
@@ -3903,6 +4627,11 @@ declare const deploymentResultSchema: z.ZodObject<{
3903
4627
  kind: "points";
3904
4628
  balance: string;
3905
4629
  amount: number;
4630
+ } | {
4631
+ kind: "integration";
4632
+ provider: "discord";
4633
+ action: "grant-role";
4634
+ roleId: string;
3906
4635
  })[];
3907
4636
  humanReview: boolean;
3908
4637
  trigger: {
@@ -3911,6 +4640,10 @@ declare const deploymentResultSchema: z.ZodObject<{
3911
4640
  actor?: "member" | "staff" | undefined;
3912
4641
  } | {
3913
4642
  kind: "automatic";
4643
+ observation?: {
4644
+ source: string;
4645
+ type: string;
4646
+ } | undefined;
3914
4647
  };
3915
4648
  requires: {
3916
4649
  quest: string;
@@ -3918,7 +4651,19 @@ declare const deploymentResultSchema: z.ZodObject<{
3918
4651
  }[];
3919
4652
  completion: {
3920
4653
  kind: "once";
4654
+ } | {
4655
+ kind: "keyed";
3921
4656
  };
4657
+ visibility: "visible" | "hidden";
4658
+ budgets: {
4659
+ id: string;
4660
+ scope: "member" | "project";
4661
+ period: "lifetime" | "day";
4662
+ limit: number;
4663
+ cost: number | {
4664
+ balance: string;
4665
+ };
4666
+ }[];
3922
4667
  code: string;
3923
4668
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
3924
4669
  id: string;
@@ -3975,6 +4720,11 @@ declare const deploymentResultSchema: z.ZodObject<{
3975
4720
  kind: "points";
3976
4721
  balance: string;
3977
4722
  amount: number;
4723
+ } | {
4724
+ kind: "integration";
4725
+ provider: "discord";
4726
+ action: "grant-role";
4727
+ roleId: string;
3978
4728
  })[];
3979
4729
  code: string;
3980
4730
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
@@ -4013,6 +4763,28 @@ declare const deploymentResultSchema: z.ZodObject<{
4013
4763
  discord: "discord";
4014
4764
  }>>>;
4015
4765
  fields: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
4766
+ kind: z.ZodLiteral<"datetime">;
4767
+ default: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
4768
+ label: z.ZodString;
4769
+ description: z.ZodOptional<z.ZodString>;
4770
+ }, z.core.$strict>, z.ZodObject<{
4771
+ kind: z.ZodLiteral<"resource">;
4772
+ default: z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>;
4773
+ source: z.ZodUnion<readonly [z.ZodObject<{
4774
+ provider: z.ZodLiteral<"discord">;
4775
+ resource: z.ZodLiteral<"channel">;
4776
+ types: z.ZodArray<z.ZodEnum<{
4777
+ text: "text";
4778
+ announcement: "announcement";
4779
+ }>>;
4780
+ }, z.core.$strict>, z.ZodObject<{
4781
+ provider: z.ZodLiteral<"discord">;
4782
+ resource: z.ZodLiteral<"role">;
4783
+ assignable: z.ZodDefault<z.ZodBoolean>;
4784
+ }, z.core.$strict>]>;
4785
+ label: z.ZodString;
4786
+ description: z.ZodOptional<z.ZodString>;
4787
+ }, z.core.$strict>, z.ZodObject<{
4016
4788
  kind: z.ZodLiteral<"quiz">;
4017
4789
  default: z.ZodArray<z.ZodObject<{
4018
4790
  id: z.ZodString;
@@ -4082,6 +4854,11 @@ declare const deploymentResultSchema: z.ZodObject<{
4082
4854
  }, z.core.$strict>;
4083
4855
  }, z.core.$strict>;
4084
4856
  tier: z.ZodString;
4857
+ }, z.core.$strict>, z.ZodObject<{
4858
+ kind: z.ZodLiteral<"integration">;
4859
+ provider: z.ZodLiteral<"discord">;
4860
+ action: z.ZodLiteral<"grant-role">;
4861
+ roleId: z.ZodString;
4085
4862
  }, z.core.$strict>]>>;
4086
4863
  humanReview: z.ZodBoolean;
4087
4864
  trigger: z.ZodUnion<readonly [z.ZodObject<{
@@ -4097,14 +4874,39 @@ declare const deploymentResultSchema: z.ZodObject<{
4097
4874
  }>>;
4098
4875
  }, z.core.$strict>, z.ZodObject<{
4099
4876
  kind: z.ZodLiteral<"automatic">;
4877
+ observation: z.ZodOptional<z.ZodObject<{
4878
+ source: z.ZodString;
4879
+ type: z.ZodString;
4880
+ }, z.core.$strict>>;
4100
4881
  }, z.core.$strict>]>;
4101
4882
  requires: z.ZodDefault<z.ZodArray<z.ZodObject<{
4102
4883
  quest: z.ZodString;
4103
4884
  scope: z.ZodLiteral<"ever">;
4104
4885
  }, z.core.$strict>>>;
4105
- completion: z.ZodObject<{
4886
+ completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
4106
4887
  kind: z.ZodLiteral<"once">;
4107
- }, z.core.$strict>;
4888
+ }, z.core.$strict>, z.ZodObject<{
4889
+ kind: z.ZodLiteral<"keyed">;
4890
+ }, z.core.$strict>], "kind">;
4891
+ visibility: z.ZodDefault<z.ZodEnum<{
4892
+ visible: "visible";
4893
+ hidden: "hidden";
4894
+ }>>;
4895
+ budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
4896
+ id: z.ZodString;
4897
+ scope: z.ZodEnum<{
4898
+ member: "member";
4899
+ project: "project";
4900
+ }>;
4901
+ period: z.ZodEnum<{
4902
+ lifetime: "lifetime";
4903
+ day: "day";
4904
+ }>;
4905
+ limit: z.ZodNumber;
4906
+ cost: z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
4907
+ balance: z.ZodString;
4908
+ }, z.core.$strict>]>;
4909
+ }, z.core.$strict>>>;
4108
4910
  }, z.core.$strict>;
4109
4911
  provider: z.ZodEnum<{
4110
4912
  "fixture-pass": "fixture-pass";
@@ -4750,6 +5552,10 @@ declare function createRelayClient(options: {
4750
5552
  actor?: "member" | "staff" | undefined;
4751
5553
  } | {
4752
5554
  kind: "automatic";
5555
+ observation?: {
5556
+ source: string;
5557
+ type: string;
5558
+ } | undefined;
4753
5559
  };
4754
5560
  availability: {
4755
5561
  kind: "available";
@@ -4766,6 +5572,10 @@ declare function createRelayClient(options: {
4766
5572
  kind: "staff-required";
4767
5573
  } | {
4768
5574
  kind: "automatic";
5575
+ observation?: {
5576
+ source: string;
5577
+ type: string;
5578
+ } | undefined;
4769
5579
  } | {
4770
5580
  kind: "checking";
4771
5581
  attempt: string;
@@ -4777,6 +5587,13 @@ declare function createRelayClient(options: {
4777
5587
  attempt: string;
4778
5588
  };
4779
5589
  completed: boolean;
5590
+ completion: {
5591
+ kind: "once";
5592
+ } | {
5593
+ kind: "keyed";
5594
+ };
5595
+ completionCount: number;
5596
+ visibility: "visible" | "hidden";
4780
5597
  missing: {
4781
5598
  quest: string;
4782
5599
  title: string;
@@ -4813,6 +5630,11 @@ declare function createRelayClient(options: {
4813
5630
  kind: "points";
4814
5631
  balance: string;
4815
5632
  amount: number;
5633
+ } | {
5634
+ kind: "integration";
5635
+ provider: "discord";
5636
+ action: "grant-role";
5637
+ roleId: string;
4816
5638
  })[] | null;
4817
5639
  createdAt: number;
4818
5640
  input?: {
@@ -4862,6 +5684,11 @@ declare function createRelayClient(options: {
4862
5684
  kind: "points";
4863
5685
  balance: string;
4864
5686
  amount: number;
5687
+ } | {
5688
+ kind: "integration";
5689
+ provider: "discord";
5690
+ action: "grant-role";
5691
+ roleId: string;
4865
5692
  })[] | null;
4866
5693
  createdAt: number;
4867
5694
  input?: {
@@ -4904,6 +5731,10 @@ declare function createRelayClient(options: {
4904
5731
  actor?: "member" | "staff" | undefined;
4905
5732
  } | {
4906
5733
  kind: "automatic";
5734
+ observation?: {
5735
+ source: string;
5736
+ type: string;
5737
+ } | undefined;
4907
5738
  };
4908
5739
  availability: {
4909
5740
  kind: "available";
@@ -4920,6 +5751,10 @@ declare function createRelayClient(options: {
4920
5751
  kind: "staff-required";
4921
5752
  } | {
4922
5753
  kind: "automatic";
5754
+ observation?: {
5755
+ source: string;
5756
+ type: string;
5757
+ } | undefined;
4923
5758
  } | {
4924
5759
  kind: "checking";
4925
5760
  attempt: string;
@@ -4931,6 +5766,13 @@ declare function createRelayClient(options: {
4931
5766
  attempt: string;
4932
5767
  };
4933
5768
  completed: boolean;
5769
+ completion: {
5770
+ kind: "once";
5771
+ } | {
5772
+ kind: "keyed";
5773
+ };
5774
+ completionCount: number;
5775
+ visibility: "visible" | "hidden";
4934
5776
  missing: {
4935
5777
  quest: string;
4936
5778
  title: string;
@@ -4967,6 +5809,11 @@ declare function createRelayClient(options: {
4967
5809
  kind: "points";
4968
5810
  balance: string;
4969
5811
  amount: number;
5812
+ } | {
5813
+ kind: "integration";
5814
+ provider: "discord";
5815
+ action: "grant-role";
5816
+ roleId: string;
4970
5817
  })[] | null;
4971
5818
  createdAt: number;
4972
5819
  input?: {
@@ -5017,6 +5864,10 @@ declare function createRelayClient(options: {
5017
5864
  actor?: "member" | "staff" | undefined;
5018
5865
  } | {
5019
5866
  kind: "automatic";
5867
+ observation?: {
5868
+ source: string;
5869
+ type: string;
5870
+ } | undefined;
5020
5871
  };
5021
5872
  availability: {
5022
5873
  kind: "available";
@@ -5033,6 +5884,10 @@ declare function createRelayClient(options: {
5033
5884
  kind: "staff-required";
5034
5885
  } | {
5035
5886
  kind: "automatic";
5887
+ observation?: {
5888
+ source: string;
5889
+ type: string;
5890
+ } | undefined;
5036
5891
  } | {
5037
5892
  kind: "checking";
5038
5893
  attempt: string;
@@ -5044,6 +5899,13 @@ declare function createRelayClient(options: {
5044
5899
  attempt: string;
5045
5900
  };
5046
5901
  completed: boolean;
5902
+ completion: {
5903
+ kind: "once";
5904
+ } | {
5905
+ kind: "keyed";
5906
+ };
5907
+ completionCount: number;
5908
+ visibility: "visible" | "hidden";
5047
5909
  missing: {
5048
5910
  quest: string;
5049
5911
  title: string;
@@ -5080,6 +5942,11 @@ declare function createRelayClient(options: {
5080
5942
  kind: "points";
5081
5943
  balance: string;
5082
5944
  amount: number;
5945
+ } | {
5946
+ kind: "integration";
5947
+ provider: "discord";
5948
+ action: "grant-role";
5949
+ roleId: string;
5083
5950
  })[] | null;
5084
5951
  createdAt: number;
5085
5952
  input?: {
@@ -5132,6 +5999,10 @@ declare function createRelayClient(options: {
5132
5999
  actor?: "member" | "staff" | undefined;
5133
6000
  } | {
5134
6001
  kind: "automatic";
6002
+ observation?: {
6003
+ source: string;
6004
+ type: string;
6005
+ } | undefined;
5135
6006
  };
5136
6007
  availability: {
5137
6008
  kind: "available";
@@ -5148,6 +6019,10 @@ declare function createRelayClient(options: {
5148
6019
  kind: "staff-required";
5149
6020
  } | {
5150
6021
  kind: "automatic";
6022
+ observation?: {
6023
+ source: string;
6024
+ type: string;
6025
+ } | undefined;
5151
6026
  } | {
5152
6027
  kind: "checking";
5153
6028
  attempt: string;
@@ -5159,6 +6034,13 @@ declare function createRelayClient(options: {
5159
6034
  attempt: string;
5160
6035
  };
5161
6036
  completed: boolean;
6037
+ completion: {
6038
+ kind: "once";
6039
+ } | {
6040
+ kind: "keyed";
6041
+ };
6042
+ completionCount: number;
6043
+ visibility: "visible" | "hidden";
5162
6044
  missing: {
5163
6045
  quest: string;
5164
6046
  title: string;
@@ -5195,6 +6077,11 @@ declare function createRelayClient(options: {
5195
6077
  kind: "points";
5196
6078
  balance: string;
5197
6079
  amount: number;
6080
+ } | {
6081
+ kind: "integration";
6082
+ provider: "discord";
6083
+ action: "grant-role";
6084
+ roleId: string;
5198
6085
  })[] | null;
5199
6086
  createdAt: number;
5200
6087
  input?: {
@@ -5339,16 +6226,19 @@ declare function createRelayClient(options: {
5339
6226
  input: "photo";
5340
6227
  release?: string;
5341
6228
  recoverPrevious?: boolean;
6229
+ repeatable?: boolean;
5342
6230
  }): Promise<PhotoSubmission>;
5343
6231
  (quest: string, options: {
5344
6232
  input: "quiz";
5345
6233
  release?: string;
5346
6234
  recoverPrevious?: boolean;
6235
+ repeatable?: boolean;
5347
6236
  }): Promise<QuizSubmission>;
5348
6237
  (quest: string, options: {
5349
6238
  input: "none";
5350
6239
  release?: string;
5351
6240
  recoverPrevious?: boolean;
6241
+ repeatable?: boolean;
5352
6242
  }): Promise<ClaimSubmission>;
5353
6243
  };
5354
6244
  collectionPass: (entitlement: string, session: string) => Promise<{
@@ -5388,6 +6278,11 @@ declare function createRelayClient(options: {
5388
6278
  kind: "points";
5389
6279
  balance: string;
5390
6280
  amount: number;
6281
+ } | {
6282
+ kind: "integration";
6283
+ provider: "discord";
6284
+ action: "grant-role";
6285
+ roleId: string;
5391
6286
  })[] | null;
5392
6287
  createdAt: number;
5393
6288
  input?: {
@@ -5430,6 +6325,10 @@ declare function createRelayClient(options: {
5430
6325
  actor?: "member" | "staff" | undefined;
5431
6326
  } | {
5432
6327
  kind: "automatic";
6328
+ observation?: {
6329
+ source: string;
6330
+ type: string;
6331
+ } | undefined;
5433
6332
  };
5434
6333
  availability: {
5435
6334
  kind: "available";
@@ -5446,6 +6345,10 @@ declare function createRelayClient(options: {
5446
6345
  kind: "staff-required";
5447
6346
  } | {
5448
6347
  kind: "automatic";
6348
+ observation?: {
6349
+ source: string;
6350
+ type: string;
6351
+ } | undefined;
5449
6352
  } | {
5450
6353
  kind: "checking";
5451
6354
  attempt: string;
@@ -5457,6 +6360,13 @@ declare function createRelayClient(options: {
5457
6360
  attempt: string;
5458
6361
  };
5459
6362
  completed: boolean;
6363
+ completion: {
6364
+ kind: "once";
6365
+ } | {
6366
+ kind: "keyed";
6367
+ };
6368
+ completionCount: number;
6369
+ visibility: "visible" | "hidden";
5460
6370
  missing: {
5461
6371
  quest: string;
5462
6372
  title: string;
@@ -5493,6 +6403,11 @@ declare function createRelayClient(options: {
5493
6403
  kind: "points";
5494
6404
  balance: string;
5495
6405
  amount: number;
6406
+ } | {
6407
+ kind: "integration";
6408
+ provider: "discord";
6409
+ action: "grant-role";
6410
+ roleId: string;
5496
6411
  })[] | null;
5497
6412
  createdAt: number;
5498
6413
  input?: {
@@ -5583,6 +6498,23 @@ declare function createRelayClient(options: {
5583
6498
  } | undefined;
5584
6499
  })[];
5585
6500
  }>;
6501
+ rewardDeliveries: () => Promise<{
6502
+ deliveries: {
6503
+ id: string;
6504
+ quest: string;
6505
+ completion: string;
6506
+ member: string;
6507
+ provider: "discord";
6508
+ action: "grant-role";
6509
+ roleId: string;
6510
+ status: "pending" | "delivered";
6511
+ attempts: number;
6512
+ nextAt: number;
6513
+ lastError: string | null;
6514
+ createdAt: number;
6515
+ deliveredAt: number | null;
6516
+ }[];
6517
+ }>;
5586
6518
  claim: (input: Omit<SubmitInput, "member">, options?: {
5587
6519
  session: string;
5588
6520
  }) => Promise<{
@@ -5617,6 +6549,11 @@ declare function createRelayClient(options: {
5617
6549
  kind: "points";
5618
6550
  balance: string;
5619
6551
  amount: number;
6552
+ } | {
6553
+ kind: "integration";
6554
+ provider: "discord";
6555
+ action: "grant-role";
6556
+ roleId: string;
5620
6557
  })[] | null;
5621
6558
  createdAt: number;
5622
6559
  input?: {
@@ -5671,6 +6608,11 @@ declare function createRelayClient(options: {
5671
6608
  kind: "points";
5672
6609
  balance: string;
5673
6610
  amount: number;
6611
+ } | {
6612
+ kind: "integration";
6613
+ provider: "discord";
6614
+ action: "grant-role";
6615
+ roleId: string;
5674
6616
  })[] | null;
5675
6617
  createdAt: number;
5676
6618
  input?: {
@@ -5739,6 +6681,25 @@ declare function createRelayClient(options: {
5739
6681
  };
5740
6682
  integrations: "discord"[];
5741
6683
  fields: Record<string, {
6684
+ kind: "datetime";
6685
+ default: string;
6686
+ label: string;
6687
+ description?: string | undefined;
6688
+ } | {
6689
+ kind: "resource";
6690
+ default: string;
6691
+ source: {
6692
+ provider: "discord";
6693
+ resource: "channel";
6694
+ types: ("text" | "announcement")[];
6695
+ } | {
6696
+ provider: "discord";
6697
+ resource: "role";
6698
+ assignable: boolean;
6699
+ };
6700
+ label: string;
6701
+ description?: string | undefined;
6702
+ } | {
5742
6703
  kind: "quiz";
5743
6704
  default: {
5744
6705
  id: string;
@@ -5808,6 +6769,11 @@ declare function createRelayClient(options: {
5808
6769
  kind: "points";
5809
6770
  balance: string;
5810
6771
  amount: number;
6772
+ } | {
6773
+ kind: "integration";
6774
+ provider: "discord";
6775
+ action: "grant-role";
6776
+ roleId: string;
5811
6777
  })[];
5812
6778
  humanReview: boolean;
5813
6779
  trigger: {
@@ -5816,6 +6782,10 @@ declare function createRelayClient(options: {
5816
6782
  actor?: "member" | "staff" | undefined;
5817
6783
  } | {
5818
6784
  kind: "automatic";
6785
+ observation?: {
6786
+ source: string;
6787
+ type: string;
6788
+ } | undefined;
5819
6789
  };
5820
6790
  requires: {
5821
6791
  quest: string;
@@ -5823,7 +6793,19 @@ declare function createRelayClient(options: {
5823
6793
  }[];
5824
6794
  completion: {
5825
6795
  kind: "once";
6796
+ } | {
6797
+ kind: "keyed";
5826
6798
  };
6799
+ visibility: "visible" | "hidden";
6800
+ budgets: {
6801
+ id: string;
6802
+ scope: "member" | "project";
6803
+ period: "lifetime" | "day";
6804
+ limit: number;
6805
+ cost: number | {
6806
+ balance: string;
6807
+ };
6808
+ }[];
5827
6809
  };
5828
6810
  }[]>;
5829
6811
  template: () => Promise<{
@@ -5854,6 +6836,25 @@ declare function createRelayClient(options: {
5854
6836
  };
5855
6837
  integrations: "discord"[];
5856
6838
  fields: Record<string, {
6839
+ kind: "datetime";
6840
+ default: string;
6841
+ label: string;
6842
+ description?: string | undefined;
6843
+ } | {
6844
+ kind: "resource";
6845
+ default: string;
6846
+ source: {
6847
+ provider: "discord";
6848
+ resource: "channel";
6849
+ types: ("text" | "announcement")[];
6850
+ } | {
6851
+ provider: "discord";
6852
+ resource: "role";
6853
+ assignable: boolean;
6854
+ };
6855
+ label: string;
6856
+ description?: string | undefined;
6857
+ } | {
5857
6858
  kind: "quiz";
5858
6859
  default: {
5859
6860
  id: string;
@@ -5923,6 +6924,11 @@ declare function createRelayClient(options: {
5923
6924
  kind: "points";
5924
6925
  balance: string;
5925
6926
  amount: number;
6927
+ } | {
6928
+ kind: "integration";
6929
+ provider: "discord";
6930
+ action: "grant-role";
6931
+ roleId: string;
5926
6932
  })[];
5927
6933
  humanReview: boolean;
5928
6934
  trigger: {
@@ -5931,6 +6937,10 @@ declare function createRelayClient(options: {
5931
6937
  actor?: "member" | "staff" | undefined;
5932
6938
  } | {
5933
6939
  kind: "automatic";
6940
+ observation?: {
6941
+ source: string;
6942
+ type: string;
6943
+ } | undefined;
5934
6944
  };
5935
6945
  requires: {
5936
6946
  quest: string;
@@ -5938,7 +6948,19 @@ declare function createRelayClient(options: {
5938
6948
  }[];
5939
6949
  completion: {
5940
6950
  kind: "once";
6951
+ } | {
6952
+ kind: "keyed";
5941
6953
  };
6954
+ visibility: "visible" | "hidden";
6955
+ budgets: {
6956
+ id: string;
6957
+ scope: "member" | "project";
6958
+ period: "lifetime" | "day";
6959
+ limit: number;
6960
+ cost: number | {
6961
+ balance: string;
6962
+ };
6963
+ }[];
5942
6964
  };
5943
6965
  }>;
5944
6966
  snapshot: () => Promise<{
@@ -5968,6 +6990,25 @@ declare function createRelayClient(options: {
5968
6990
  };
5969
6991
  integrations: "discord"[];
5970
6992
  fields: Record<string, {
6993
+ kind: "datetime";
6994
+ default: string;
6995
+ label: string;
6996
+ description?: string | undefined;
6997
+ } | {
6998
+ kind: "resource";
6999
+ default: string;
7000
+ source: {
7001
+ provider: "discord";
7002
+ resource: "channel";
7003
+ types: ("text" | "announcement")[];
7004
+ } | {
7005
+ provider: "discord";
7006
+ resource: "role";
7007
+ assignable: boolean;
7008
+ };
7009
+ label: string;
7010
+ description?: string | undefined;
7011
+ } | {
5971
7012
  kind: "quiz";
5972
7013
  default: {
5973
7014
  id: string;
@@ -6037,6 +7078,11 @@ declare function createRelayClient(options: {
6037
7078
  kind: "points";
6038
7079
  balance: string;
6039
7080
  amount: number;
7081
+ } | {
7082
+ kind: "integration";
7083
+ provider: "discord";
7084
+ action: "grant-role";
7085
+ roleId: string;
6040
7086
  })[];
6041
7087
  humanReview: boolean;
6042
7088
  trigger: {
@@ -6045,6 +7091,10 @@ declare function createRelayClient(options: {
6045
7091
  actor?: "member" | "staff" | undefined;
6046
7092
  } | {
6047
7093
  kind: "automatic";
7094
+ observation?: {
7095
+ source: string;
7096
+ type: string;
7097
+ } | undefined;
6048
7098
  };
6049
7099
  requires: {
6050
7100
  quest: string;
@@ -6052,7 +7102,19 @@ declare function createRelayClient(options: {
6052
7102
  }[];
6053
7103
  completion: {
6054
7104
  kind: "once";
7105
+ } | {
7106
+ kind: "keyed";
6055
7107
  };
7108
+ visibility: "visible" | "hidden";
7109
+ budgets: {
7110
+ id: string;
7111
+ scope: "member" | "project";
7112
+ period: "lifetime" | "day";
7113
+ limit: number;
7114
+ cost: number | {
7115
+ balance: string;
7116
+ };
7117
+ }[];
6056
7118
  code: string;
6057
7119
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
6058
7120
  id: string;
@@ -6085,6 +7147,7 @@ declare function createRelayClient(options: {
6085
7147
  } | undefined;
6086
7148
  }[];
6087
7149
  completions: {
7150
+ key: string;
6088
7151
  id: string;
6089
7152
  quest: string;
6090
7153
  member: string;
@@ -6198,6 +7261,11 @@ declare function createRelayClient(options: {
6198
7261
  kind: "points";
6199
7262
  balance: string;
6200
7263
  amount: number;
7264
+ } | {
7265
+ kind: "integration";
7266
+ provider: "discord";
7267
+ action: "grant-role";
7268
+ roleId: string;
6201
7269
  })[] | null;
6202
7270
  createdAt: number;
6203
7271
  input?: {
@@ -6250,6 +7318,25 @@ declare function createRelayClient(options: {
6250
7318
  };
6251
7319
  integrations: "discord"[];
6252
7320
  fields: Record<string, {
7321
+ kind: "datetime";
7322
+ default: string;
7323
+ label: string;
7324
+ description?: string | undefined;
7325
+ } | {
7326
+ kind: "resource";
7327
+ default: string;
7328
+ source: {
7329
+ provider: "discord";
7330
+ resource: "channel";
7331
+ types: ("text" | "announcement")[];
7332
+ } | {
7333
+ provider: "discord";
7334
+ resource: "role";
7335
+ assignable: boolean;
7336
+ };
7337
+ label: string;
7338
+ description?: string | undefined;
7339
+ } | {
6253
7340
  kind: "quiz";
6254
7341
  default: {
6255
7342
  id: string;
@@ -6319,6 +7406,11 @@ declare function createRelayClient(options: {
6319
7406
  kind: "points";
6320
7407
  balance: string;
6321
7408
  amount: number;
7409
+ } | {
7410
+ kind: "integration";
7411
+ provider: "discord";
7412
+ action: "grant-role";
7413
+ roleId: string;
6322
7414
  })[];
6323
7415
  humanReview: boolean;
6324
7416
  trigger: {
@@ -6327,6 +7419,10 @@ declare function createRelayClient(options: {
6327
7419
  actor?: "member" | "staff" | undefined;
6328
7420
  } | {
6329
7421
  kind: "automatic";
7422
+ observation?: {
7423
+ source: string;
7424
+ type: string;
7425
+ } | undefined;
6330
7426
  };
6331
7427
  requires: {
6332
7428
  quest: string;
@@ -6334,7 +7430,19 @@ declare function createRelayClient(options: {
6334
7430
  }[];
6335
7431
  completion: {
6336
7432
  kind: "once";
7433
+ } | {
7434
+ kind: "keyed";
6337
7435
  };
7436
+ visibility: "visible" | "hidden";
7437
+ budgets: {
7438
+ id: string;
7439
+ scope: "member" | "project";
7440
+ period: "lifetime" | "day";
7441
+ limit: number;
7442
+ cost: number | {
7443
+ balance: string;
7444
+ };
7445
+ }[];
6338
7446
  code: string;
6339
7447
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
6340
7448
  id: string;
@@ -6392,6 +7500,25 @@ declare function createRelayClient(options: {
6392
7500
  };
6393
7501
  integrations: "discord"[];
6394
7502
  fields: Record<string, {
7503
+ kind: "datetime";
7504
+ default: string;
7505
+ label: string;
7506
+ description?: string | undefined;
7507
+ } | {
7508
+ kind: "resource";
7509
+ default: string;
7510
+ source: {
7511
+ provider: "discord";
7512
+ resource: "channel";
7513
+ types: ("text" | "announcement")[];
7514
+ } | {
7515
+ provider: "discord";
7516
+ resource: "role";
7517
+ assignable: boolean;
7518
+ };
7519
+ label: string;
7520
+ description?: string | undefined;
7521
+ } | {
6395
7522
  kind: "quiz";
6396
7523
  default: {
6397
7524
  id: string;
@@ -6461,6 +7588,11 @@ declare function createRelayClient(options: {
6461
7588
  kind: "points";
6462
7589
  balance: string;
6463
7590
  amount: number;
7591
+ } | {
7592
+ kind: "integration";
7593
+ provider: "discord";
7594
+ action: "grant-role";
7595
+ roleId: string;
6464
7596
  })[];
6465
7597
  humanReview: boolean;
6466
7598
  trigger: {
@@ -6469,6 +7601,10 @@ declare function createRelayClient(options: {
6469
7601
  actor?: "member" | "staff" | undefined;
6470
7602
  } | {
6471
7603
  kind: "automatic";
7604
+ observation?: {
7605
+ source: string;
7606
+ type: string;
7607
+ } | undefined;
6472
7608
  };
6473
7609
  requires: {
6474
7610
  quest: string;
@@ -6476,7 +7612,19 @@ declare function createRelayClient(options: {
6476
7612
  }[];
6477
7613
  completion: {
6478
7614
  kind: "once";
7615
+ } | {
7616
+ kind: "keyed";
6479
7617
  };
7618
+ visibility: "visible" | "hidden";
7619
+ budgets: {
7620
+ id: string;
7621
+ scope: "member" | "project";
7622
+ period: "lifetime" | "day";
7623
+ limit: number;
7624
+ cost: number | {
7625
+ balance: string;
7626
+ };
7627
+ }[];
6480
7628
  code: string;
6481
7629
  provider: "fixture-pass" | "fixture-fail" | "fixture-unclear" | "fixture-error" | "workers-ai";
6482
7630
  id: string;
@@ -6540,6 +7688,10 @@ declare function createRelayClient(options: {
6540
7688
  actor?: "member" | "staff" | undefined;
6541
7689
  } | {
6542
7690
  kind: "automatic";
7691
+ observation?: {
7692
+ source: string;
7693
+ type: string;
7694
+ } | undefined;
6543
7695
  };
6544
7696
  availability: {
6545
7697
  kind: "available";
@@ -6556,6 +7708,10 @@ declare function createRelayClient(options: {
6556
7708
  kind: "staff-required";
6557
7709
  } | {
6558
7710
  kind: "automatic";
7711
+ observation?: {
7712
+ source: string;
7713
+ type: string;
7714
+ } | undefined;
6559
7715
  } | {
6560
7716
  kind: "checking";
6561
7717
  attempt: string;
@@ -6567,6 +7723,13 @@ declare function createRelayClient(options: {
6567
7723
  attempt: string;
6568
7724
  };
6569
7725
  completed: boolean;
7726
+ completion: {
7727
+ kind: "once";
7728
+ } | {
7729
+ kind: "keyed";
7730
+ };
7731
+ completionCount: number;
7732
+ visibility: "visible" | "hidden";
6570
7733
  missing: {
6571
7734
  quest: string;
6572
7735
  title: string;
@@ -6603,6 +7766,11 @@ declare function createRelayClient(options: {
6603
7766
  kind: "points";
6604
7767
  balance: string;
6605
7768
  amount: number;
7769
+ } | {
7770
+ kind: "integration";
7771
+ provider: "discord";
7772
+ action: "grant-role";
7773
+ roleId: string;
6606
7774
  })[] | null;
6607
7775
  createdAt: number;
6608
7776
  input?: {
@@ -6888,6 +8056,11 @@ declare function createRelayClient(options: {
6888
8056
  kind: "points";
6889
8057
  balance: string;
6890
8058
  amount: number;
8059
+ } | {
8060
+ kind: "integration";
8061
+ provider: "discord";
8062
+ action: "grant-role";
8063
+ roleId: string;
6891
8064
  })[] | null;
6892
8065
  createdAt: number;
6893
8066
  input?: {
@@ -6930,6 +8103,11 @@ declare function createRelayClient(options: {
6930
8103
  kind: "points";
6931
8104
  balance: string;
6932
8105
  amount: number;
8106
+ } | {
8107
+ kind: "integration";
8108
+ provider: "discord";
8109
+ action: "grant-role";
8110
+ roleId: string;
6933
8111
  })[] | null;
6934
8112
  createdAt: number;
6935
8113
  input?: {
@@ -6977,6 +8155,11 @@ declare function createRelayClient(options: {
6977
8155
  kind: "points";
6978
8156
  balance: string;
6979
8157
  amount: number;
8158
+ } | {
8159
+ kind: "integration";
8160
+ provider: "discord";
8161
+ action: "grant-role";
8162
+ roleId: string;
6980
8163
  })[] | null;
6981
8164
  createdAt: number;
6982
8165
  input?: {
@@ -6989,4 +8172,4 @@ declare function createRelayClient(options: {
6989
8172
  }>;
6990
8173
  };
6991
8174
 
6992
- export { Attempt, AuthProvider, type ClaimSubmission, type CollectionPass, type DeploymentPreview, type ExchangeInput, LeaderboardQuery, MemberListOptions, MemberProgress, type PhotoSubmission, type ProgressObservation, type ProgressObserver, PublishedRelease, type QuestActionResult, type QuestCatalog, type QuestController, type QuestDraft, type QuestInstance, type QuestInteraction, QuestUpdatedError, type QuestView, QuizEvidence, type QuizSubmission, RelayError, ReleaseInput, ReviewListOptions, type Session, type SubmissionDraft, type SubmissionStatus, type SubmissionStore, SubmitInput, authScopeSchema, beginHandoverSchema, catalogDeploymentPreviewSchema, catalogDeploymentSchema, collectionBeginSchema, collectionCodeSchema, collectionPassSchema, collectionPreviewSchema, collectionResolveSchema, collectionSlotSchema, collectionViewSchema, createRelayClient, deploymentPreviewSchema, deploymentResultSchema, errorSchema, exchangeResultSchema, exchangeSchema, identityIntegrationInputSchema, identityIntegrationSchema, identityIntegrationSecretSchema, interactionSchema, participantExchangeSchema, principalSchema, projectCatalogArtifactSchema, projectDeploymentSchema, publishDeploymentSchema, publishQuestDraftSchema, questActions, questCatalogSchema, questCollectionSchema, questConfiguration, questDescriptionSchema, questDraftChangesSchema, questDraftSchema, questExperienceSchema, questInstanceSchema, questInteraction, questPublicationPreviewSchema, questTypeVersionSchema, questViewSchema, reconcileQuestDraft, referralAcceptSchema, resourceId, saveQuestDraftSchema, sessionSchema, walletChallengeInputSchema, walletProofSchema };
8175
+ export { Attempt, AuthProvider, type ClaimSubmission, type CollectionPass, type DeploymentPreview, type ExchangeInput, LeaderboardQuery, MemberListOptions, MemberProgress, type PhotoSubmission, type ProgressObservation, type ProgressObserver, PublishedRelease, type QuestActionResult, type QuestCatalog, type QuestController, type QuestDraft, type QuestInstance, type QuestInteraction, QuestUpdatedError, type QuestView, QuizEvidence, type QuizSubmission, RelayError, ReleaseInput, ReviewListOptions, type Session, type SubmissionDraft, type SubmissionStatus, type SubmissionStore, SubmitInput, authScopeSchema, beginHandoverSchema, catalogDeploymentPreviewSchema, catalogDeploymentSchema, collectionBeginSchema, collectionCodeSchema, collectionPassSchema, collectionPreviewSchema, collectionResolveSchema, collectionSlotSchema, collectionViewSchema, createRelayClient, deploymentPreviewSchema, deploymentResultSchema, errorSchema, exchangeResultSchema, exchangeSchema, identityIntegrationInputSchema, identityIntegrationSchema, identityIntegrationSecretSchema, interactionSchema, participantExchangeSchema, principalSchema, projectCatalogArtifactSchema, projectDeploymentSchema, publishDeploymentSchema, publishQuestDraftSchema, questActions, questCatalogSchema, questCollectionSchema, questConfiguration, questDescriptionSchema, questDraftChangesSchema, questDraftSchema, questExperienceSchema, questInstanceSchema, questInteraction, questPublicationPreviewSchema, questTypeVersionSchema, questViewSchema, reconcileQuestDraft, referralAcceptSchema, resourceId, rewardDeliveriesSchema, rewardDeliverySchema, saveQuestDraftSchema, sessionSchema, walletChallengeInputSchema, walletProofSchema };