@domino-sdk/relay 0.24.0 → 0.25.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,5 +1,5 @@
1
- import { V as ValueEvidence, t as referralAcceptSchema, L as LeaderboardQuery, w as walletChallengeInputSchema, u as walletProofSchema, v as AuthProvider, y as engagementPageQuerySchema, z as contentQualificationQuerySchema, E as contentAdmissionQuerySchema, F as contentEnrollmentInputSchema, G as contentReleaseInputSchema } from './submission-input-CK4Dy19H.js';
2
- export { H as AccountConnection, A as AdmittedContent, B as Budget, C as ContentMetric, M as ContentPerformancePolicy, N as ContentPolicy, D as DiscordMember, a as DiscordMessage, P as EngagementDefinition, Q as ImageAssetArtifact, R as ImageComparison, Y as ImageExtraction, Z as ImageFields, _ as ImageInspection, I as ImageReader, $ as ImageReference, a0 as ImageRequest, a1 as ImageSightings, c as IntegrationProvider, a2 as LeaderboardDefinition, K as LeaderboardPage, O as Observation, a3 as ProjectIntegration, a4 as PublishedImage, a5 as QuizContent, a6 as ReferralDefinition, a7 as ResourceOption, a8 as ResourceSource, a9 as SettingField, aa as SettingsValues, S as SolanaBalance, d as StreakPolicy, ab as StreakProgress, e as TextEvidence, f as TextOptions, ac as TrackerContent, ad as TrackerContentQuery, ae as TrackerDefinition, af as TrackerPreview, ag as TrackerPreviewInput, ah as TrackerQuery, T as TrackerReader, ai as TrackerRecord, aj as TrackerStatus, U as UrlEvidence, g as UrlOptions, W as WalletConnection, ak as XConnection, al as XPost, am as XProfile, X as XReader, an as XTweet, ao as accountConnectionSchema, ap as admittedContentSchema, aq as authProviderSchema, ar as budgetSchema, as as communityTimeZoneSchema, at as compatibleSettingKinds, au as completionKeySchema, av as completionPolicySchema, h as content, aw as contentAdmissionPageSchema, ax as contentAdmissionSchema, ay as contentEnrollmentSchema, az as contentMetricSchema, aA as contentMetricsSchema, aB as contentPerformancePolicySchema, aC as contentPolicySchema, aD as contentQualificationDecisionSchema, aE as contentQualificationPageSchema, aF as contentQualificationSchema, i as customSource, j as defineEngagementReward, k as defineLeaderboard, l as defineReferral, m as defineTracker, n as discord, aG as discordMemberInputSchema, aH as discordMemberSchema, aI as discordMessageInputSchema, aJ as discordMessageSchema, aK as discordReactionSchema, aL as discordServerSchema, aM as engagementArtifactSchema, aN as engagementBoundaryPageSchema, aO as engagementChangePreviewInputSchema, aP as engagementChangePreviewSchema, aQ as engagementChangeSchema, aR as engagementDefinitionSchema, aS as engagementDeploymentEntrySchema, aT as engagementPageSchema, aU as engagementPublishSchema, aV as engagementRuleSchema, aW as engagementScoreInputSchema, aX as engagementScoreSchema, aY as engagementSettlementSchema, aZ as engagementVersionPageSchema, a_ as engagementVersionQuerySchema, a$ as imageAssetArtifactSchema, b0 as imageComparisonSchema, b1 as imageExtractionSchema, b2 as imageFieldSchema, b3 as imageFieldsSchema, b4 as imageInspectionSchema, b5 as imageReferenceSchema, b6 as imageRequestSchema, b7 as imageSightingsSchema, b8 as imageUploadRequestSchema, b9 as imageUploadsSchema, ba as integrationProviderSchema, bb as isContentParticipantRoute, bc as leaderboardArtifactSchema, bd as leaderboardAuthoringSchema, be as leaderboardDefinitionSchema, bf as leaderboardExclusionSchema, bg as leaderboardGroupSchema, bh as leaderboardPageSchema, bi as leaderboardPreviewSchema, bj as leaderboardQuerySchema, bk as leaderboardRowSchema, bl as leaderboardWindowSchema, bm as missingResourceSettings, bn as observationInputSchema, bo as observationReceiptSchema, bp as observationSchema, o as observationTriggerSchema, bq as parseImageExtraction, br as parseImageResult, bs as parseSettings, p as perContent, q as pointLedgers, bt as pointsAccountSchema, bu as pointsEntrySchema, bv as pointsMutationSchema, bw as pointsResultSchema, bx as projectIntegrationSchema, by as publishedImageSchema, bz as publishedLeaderboardSchema, bA as publishedReferralSchema, bB as publishedTrackerSchema, bC as quizChoiceSchema, bD as quizContentSchema, bE as quizQuestionSchema, bF as quizQuestionsSchema, bG as referralAccountSchema, bH as referralArtifactSchema, bI as referralAuthoringSchema, bJ as referralControlSchema, bK as referralDefinitionSchema, bL as referralHistorySchema, bM as referralManagementSchema, bN as referralRelationshipSchema, J as referralSummarySchema, bO as resourceOptionsSchema, bP as resourceRequestSchema, bQ as resourceSourceSchema, bR as settingFieldSchema, s as settings, bS as settingsFieldsSchema, bT as settingsValuesSchema, bU as solanaAddressSchema, bV as solanaBalanceSchema, r as streak, bW as streakPolicySchema, bX as streakProgressSchema, bY as textEvidenceSchema, bZ as textOptionsSchema, b_ as trackerArtifactSchema, b$ as trackerContentQuerySchema, c0 as trackerContentReadSchema, c1 as trackerContentSchema, c2 as trackerControlSchema, c3 as trackerDefinitionSchema, c4 as trackerIngestResultSchema, c5 as trackerIngestSchema, c6 as trackerPageSchema, c7 as trackerPreviewInputSchema, c8 as trackerPreviewLimits, c9 as trackerPreviewSchema, ca as trackerQuerySchema, cb as trackerRecordInputSchema, cc as trackerRecordSchema, cd as trackerSourceSchema, ce as trackerStatusSchema, cf as trackerSummarySchema, cg as urlEvidenceSchema, ch as urlOptionsSchema, ci as validateSubmissionValue, cj as valueEvidenceSchema, ck as walletChallengeSchema, cl as walletConnectionSchema, x, cm as xConnectionSchema, cn as xContentBodySchema, co as xIdSchema, cp as xPostId, cq as xPostSchema, cr as xProfileSchema, cs as xRequestSchema, ct as xTweetSchema } from './submission-input-CK4Dy19H.js';
1
+ import { a6 as ValueEvidence, L as LinkedWallet, H as referralAcceptSchema, J as LeaderboardQuery, K as WalletAddressInput, M as walletSignatureSchema, N as WalletSigner, P as walletChallengeInputSchema, Q as walletProofSchema, R as AuthProvider, V as WalletSignature, Y as engagementPageQuerySchema, Z as contentQualificationQuerySchema, _ as contentAdmissionQuerySchema, $ as contentEnrollmentInputSchema, a0 as contentReleaseInputSchema } from './submission-input-Ckpb4sBv.js';
2
+ export { a2 as AccountConnection, A as AdmittedContent, B as Budget, C as ContentMetric, a7 as ContentPerformancePolicy, a8 as ContentPolicy, a3 as CosmosNetwork, D as DiscordMember, b as DiscordMessage, a9 as EngagementDefinition, aa as EvmChain, ab as EvmChainInfo, ac as ImageAssetArtifact, ad as ImageComparison, ae as ImageExtraction, af as ImageFields, ag as ImageInspection, I as ImageReader, ah as ImageReference, ai as ImageRequest, aj as ImageSightings, i as IntegrationProvider, ak as LeaderboardDefinition, a5 as LeaderboardPage, O as Observation, al as ProjectIntegration, am as PublishedImage, an as QuizContent, ao as ReferralDefinition, ap as ResourceOption, aq as ResourceSource, ar as SettingField, as as SettingsValues, S as SolanaBalance, j as StreakPolicy, at as StreakProgress, k as TextEvidence, l as TextOptions, au as TrackerAttribution, f as TrackerBeneficiary, av as TrackerContent, aw as TrackerContentQuery, e as TrackerDefinition, ax as TrackerOutcome, ay as TrackerOutcomeQuery, az as TrackerPreview, aA as TrackerPreviewInput, aB as TrackerQuery, a as TrackerReader, aC as TrackerRecord, aD as TrackerStatus, T as TrackerTriggerContext, g as TrackerTriggerPolicy, U as UrlEvidence, m as UrlOptions, aE as WALLETS_PER_CHAIN, d as WalletBalance, c as WalletBalanceQuery, aF as WalletChain, W as WalletConnection, aG as WalletMessageChallenge, a1 as WalletSignInNetwork, aH as WalletUnlinkInput, aI as XConnection, aJ as XPost, aK as XProfile, X as XReader, aL as XTweet, aM as accountConnectionSchema, aN as admittedContentSchema, aO as authProviderSchema, aP as budgetSchema, aQ as caip10, aR as communityTimeZoneSchema, aS as compatibleSettingKinds, aT as completionKeySchema, aU as completionPolicySchema, n as content, aV as contentAdmissionPageSchema, aW as contentAdmissionSchema, aX as contentEnrollmentSchema, aY as contentMetricSchema, aZ as contentMetricsSchema, a_ as contentPerformancePolicySchema, a$ as contentPolicySchema, b0 as contentQualificationDecisionSchema, b1 as contentQualificationPageSchema, b2 as contentQualificationSchema, b3 as cosmosAddressSchema, b4 as cosmosNetworkSchema, b5 as cosmosNetworks, p as customSource, q as defineEngagementReward, r as defineLeaderboard, s as defineReferral, t as defineTracker, u as discord, b6 as discordMemberInputSchema, b7 as discordMemberSchema, b8 as discordMessageInputSchema, b9 as discordMessageSchema, ba as discordReactionSchema, bb as discordServerSchema, bc as engagementArtifactSchema, bd as engagementBoundaryPageSchema, be as engagementChangePreviewInputSchema, bf as engagementChangePreviewSchema, bg as engagementChangeSchema, bh as engagementDefinitionSchema, bi as engagementDeploymentEntrySchema, bj as engagementPageSchema, bk as engagementPublishSchema, bl as engagementRuleSchema, bm as engagementScoreInputSchema, bn as engagementScoreSchema, bo as engagementSettlementSchema, bp as engagementVersionPageSchema, bq as engagementVersionQuerySchema, br as evmAddressSchema, bs as evmChainSchema, bt as evmChains, v as formatUnits, bu as imageAssetArtifactSchema, bv as imageComparisonSchema, bw as imageExtractionSchema, bx as imageFieldSchema, by as imageFieldsSchema, bz as imageInspectionSchema, bA as imageReferenceSchema, bB as imageRequestSchema, bC as imageSightingsSchema, bD as imageUploadRequestSchema, bE as imageUploadsSchema, bF as integrationProviderSchema, bG as isContentParticipantRoute, bH as isWalletParticipantRoute, bI as isWalletSignInRoute, bJ as leaderboardArtifactSchema, bK as leaderboardAuthoringSchema, bL as leaderboardDefinitionSchema, bM as leaderboardExclusionSchema, bN as leaderboardGroupSchema, bO as leaderboardPageSchema, bP as leaderboardPreviewSchema, bQ as leaderboardQuerySchema, bR as leaderboardRowSchema, bS as leaderboardWindowSchema, bT as linkedWalletSchema, bU as missingResourceSettings, bV as observationInputSchema, bW as observationReceiptSchema, bX as observationSchema, o as observationTriggerSchema, bY as parseImageExtraction, bZ as parseImageResult, b_ as parseSettings, w as parseUnits, x as perContent, y as pointLedgers, b$ as pointsAccountSchema, c0 as pointsEntrySchema, c1 as pointsMutationSchema, c2 as pointsResultSchema, c3 as projectIntegrationSchema, c4 as publishedImageSchema, c5 as publishedLeaderboardSchema, c6 as publishedReferralSchema, c7 as publishedTrackerSchema, c8 as quizChoiceSchema, c9 as quizContentSchema, ca as quizQuestionSchema, cb as quizQuestionsSchema, cc as referralAccountSchema, cd as referralArtifactSchema, ce as referralAuthoringSchema, cf as referralControlSchema, cg as referralDefinitionSchema, ch as referralHistorySchema, ci as referralManagementSchema, cj as referralRelationshipSchema, a4 as referralSummarySchema, ck as resourceOptionsSchema, cl as resourceRequestSchema, cm as resourceSourceSchema, cn as settingFieldSchema, z as settings, co as settingsFieldsSchema, cp as settingsValuesSchema, cq as solanaAddressSchema, cr as solanaBalanceSchema, cs as solanaMainnet, E as streak, ct as streakPolicySchema, cu as streakProgressSchema, cv as textEvidenceSchema, cw as textOptionsSchema, cx as trackerArtifactSchema, cy as trackerAttributionSchema, cz as trackerBeneficiarySchema, cA as trackerContentQuerySchema, cB as trackerContentReadSchema, cC as trackerContentSchema, cD as trackerControlSchema, cE as trackerDefinitionSchema, cF as trackerEvidenceSchema, cG as trackerIngestResultSchema, cH as trackerIngestSchema, cI as trackerOutcomePageSchema, cJ as trackerOutcomeQuerySchema, cK as trackerOutcomeRetrySchema, cL as trackerOutcomeSchema, cM as trackerPageSchema, cN as trackerPreviewInputSchema, cO as trackerPreviewLimits, cP as trackerPreviewSchema, cQ as trackerQuerySchema, cR as trackerRecordInputSchema, cS as trackerRecordSchema, cT as trackerSourceSchema, cU as trackerStatusSchema, cV as trackerSummarySchema, F as trackerTriggerContextSchema, cW as trackerTriggerPolicySchema, cX as trackerTriggerRecordSchema, cY as urlEvidenceSchema, cZ as urlOptionsSchema, c_ as validateSubmissionValue, c$ as valueEvidenceSchema, d0 as walletAddressInput, d1 as walletAddressInputSchema, d2 as walletBalanceSchema, d3 as walletChainSchema, d4 as walletChallengeSchema, d5 as walletConnectionSchema, d6 as walletMessageChallengeSchema, d7 as walletSignInNetwork, d8 as walletSignInNetworkSchema, d9 as walletUnlinkInputSchema, G as x, da as xConnectionSchema, db as xContentBodySchema, dc as xIdSchema, dd as xPostId, de as xPostSchema, df as xProfileSchema, dg as xRequestSchema, dh as xTweetSchema } from './submission-input-Ckpb4sBv.js';
3
3
  import { z } from 'zod';
4
4
  import { errorSchema, QuizEvidence, Attempt, SubmitInput, MemberProgress, questDescriptionSchema, PublishedRelease, ReleaseInput, beginHandoverSchema, contentPerformanceQuerySchema } from './schema.js';
5
5
  export { ContentPerformanceSnapshot, Decision, Entitlement, MemberPage, PhotoResult, PickupAvailability, QuestAvailability, QuestDescription, QuestPresentation, QuestSettingsInput, ReviewPage, Reward, Snapshot, SubmissionEvidence, TextResult, TextReviewInput, TieredRewardDefinition, TieredRewardReference, artifactSchema, attemptSchema, batchReleaseSchema, completionRecordSchema, configurePickupSchema, confirmHandoverSchema, contentPerformancePageSchema, contentPerformanceSnapshotSchema, createStockItemSchema, 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, stockItemSchema, stockSchema, storedReviewModeSchema, submissionEvidenceSchema, submitSchema, templateSchema, textResultSchema, textReviewInputSchema, tierRewardSchema, tieredRewardDefinitionSchema, tieredRewardReferenceSchema, triggerSchema } from './schema.js';
@@ -56,6 +56,16 @@ declare const sessionSchema: z.ZodObject<{
56
56
  expiresAt: z.ZodNumber;
57
57
  }, z.core.$strict>;
58
58
  type Session = z.infer<typeof sessionSchema>;
59
+ /**
60
+ * The signed-in member (`GET /v1/me`). `avatarSeed` seeds the member's generated avatar
61
+ * (`defaultAvatar`): the project derives it from the member's first wallet, or from the member ID
62
+ * without one, so it is stable and reveals neither. Not strict: newer servers may add fields.
63
+ */
64
+ declare const memberSummarySchema: z.ZodObject<{
65
+ member: z.ZodString;
66
+ avatarSeed: z.ZodString;
67
+ }, z.core.$strip>;
68
+ type MemberSummary = z.infer<typeof memberSummarySchema>;
59
69
  declare const exchangeSchema: z.ZodObject<{
60
70
  organization: z.ZodString;
61
71
  project: z.ZodString;
@@ -199,10 +209,10 @@ type ProgressObserver = {
199
209
  };
200
210
 
201
211
  declare const interactionSchema: z.ZodEnum<{
212
+ staff: "staff";
202
213
  quiz: "quiz";
203
- url: "url";
204
214
  text: "text";
205
- staff: "staff";
215
+ url: "url";
206
216
  photo: "photo";
207
217
  automatic: "automatic";
208
218
  claim: "claim";
@@ -408,6 +418,17 @@ declare const questTypeVersionSchema: z.ZodObject<{
408
418
  claim: "claim";
409
419
  }>>;
410
420
  }, z.core.$strict>>;
421
+ tracker: z.ZodOptional<z.ZodObject<{
422
+ tracker: z.ZodString;
423
+ source: z.ZodEnum<{
424
+ custom: "custom";
425
+ "x-search": "x-search";
426
+ }>;
427
+ beneficiary: z.ZodEnum<{
428
+ author: "author";
429
+ "replied-to": "replied-to";
430
+ }>;
431
+ }, z.core.$strict>>;
411
432
  }, z.core.$strict>]>;
412
433
  performance: z.ZodOptional<z.ZodObject<{
413
434
  metrics: z.ZodArray<z.ZodEnum<{
@@ -440,11 +461,12 @@ declare const questTypeVersionSchema: z.ZodObject<{
440
461
  budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
441
462
  id: z.ZodString;
442
463
  scope: z.ZodEnum<{
443
- member: "member";
444
464
  project: "project";
465
+ member: "member";
445
466
  }>;
446
467
  period: z.ZodEnum<{
447
468
  day: "day";
469
+ week: "week";
448
470
  lifetime: "lifetime";
449
471
  }>;
450
472
  limit: z.ZodNumber;
@@ -808,6 +830,17 @@ declare const questCatalogSchema: z.ZodObject<{
808
830
  claim: "claim";
809
831
  }>>;
810
832
  }, z.core.$strict>>;
833
+ tracker: z.ZodOptional<z.ZodObject<{
834
+ tracker: z.ZodString;
835
+ source: z.ZodEnum<{
836
+ custom: "custom";
837
+ "x-search": "x-search";
838
+ }>;
839
+ beneficiary: z.ZodEnum<{
840
+ author: "author";
841
+ "replied-to": "replied-to";
842
+ }>;
843
+ }, z.core.$strict>>;
811
844
  }, z.core.$strict>]>;
812
845
  performance: z.ZodOptional<z.ZodObject<{
813
846
  metrics: z.ZodArray<z.ZodEnum<{
@@ -840,11 +873,12 @@ declare const questCatalogSchema: z.ZodObject<{
840
873
  budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
841
874
  id: z.ZodString;
842
875
  scope: z.ZodEnum<{
843
- member: "member";
844
876
  project: "project";
877
+ member: "member";
845
878
  }>;
846
879
  period: z.ZodEnum<{
847
880
  day: "day";
881
+ week: "week";
848
882
  lifetime: "lifetime";
849
883
  }>;
850
884
  limit: z.ZodNumber;
@@ -1152,6 +1186,17 @@ declare const questCatalogSchema: z.ZodObject<{
1152
1186
  claim: "claim";
1153
1187
  }>>;
1154
1188
  }, z.core.$strict>>;
1189
+ tracker: z.ZodOptional<z.ZodObject<{
1190
+ tracker: z.ZodString;
1191
+ source: z.ZodEnum<{
1192
+ custom: "custom";
1193
+ "x-search": "x-search";
1194
+ }>;
1195
+ beneficiary: z.ZodEnum<{
1196
+ author: "author";
1197
+ "replied-to": "replied-to";
1198
+ }>;
1199
+ }, z.core.$strict>>;
1155
1200
  }, z.core.$strict>]>;
1156
1201
  performance: z.ZodOptional<z.ZodObject<{
1157
1202
  metrics: z.ZodArray<z.ZodEnum<{
@@ -1184,11 +1229,12 @@ declare const questCatalogSchema: z.ZodObject<{
1184
1229
  budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
1185
1230
  id: z.ZodString;
1186
1231
  scope: z.ZodEnum<{
1187
- member: "member";
1188
1232
  project: "project";
1233
+ member: "member";
1189
1234
  }>;
1190
1235
  period: z.ZodEnum<{
1191
1236
  day: "day";
1237
+ week: "week";
1192
1238
  lifetime: "lifetime";
1193
1239
  }>;
1194
1240
  limit: z.ZodNumber;
@@ -1281,7 +1327,7 @@ declare const questCatalogSchema: z.ZodObject<{
1281
1327
  createdAt: z.ZodNumber;
1282
1328
  }, z.core.$strip>, z.ZodTransform<{
1283
1329
  quest: string;
1284
- runtimeVersion: 1 | 2;
1330
+ runtimeVersion: 2 | 1;
1285
1331
  title: string;
1286
1332
  presentation: {
1287
1333
  quiz?: {
@@ -1318,12 +1364,12 @@ declare const questCatalogSchema: z.ZodObject<{
1318
1364
  kind: "resource";
1319
1365
  default: string;
1320
1366
  source: {
1367
+ provider: "domino";
1368
+ resource: "point-ledger";
1369
+ } | {
1321
1370
  provider: "discord";
1322
1371
  resource: "channel";
1323
1372
  types: ("text" | "announcement")[];
1324
- } | {
1325
- provider: "domino";
1326
- resource: "point-ledger";
1327
1373
  } | {
1328
1374
  provider: "discord";
1329
1375
  resource: "role";
@@ -1424,6 +1470,11 @@ declare const questCatalogSchema: z.ZodObject<{
1424
1470
  posts: "after-enrollment" | "since-start";
1425
1471
  historical: "staff" | "automatic" | "claim";
1426
1472
  } | undefined;
1473
+ tracker?: {
1474
+ tracker: string;
1475
+ source: "custom" | "x-search";
1476
+ beneficiary: "author" | "replied-to";
1477
+ } | undefined;
1427
1478
  } | {
1428
1479
  kind: "manual";
1429
1480
  input: "text";
@@ -1462,8 +1513,8 @@ declare const questCatalogSchema: z.ZodObject<{
1462
1513
  visibility: "visible" | "hidden";
1463
1514
  budgets: {
1464
1515
  id: string;
1465
- scope: "member" | "project";
1466
- period: "day" | "lifetime";
1516
+ scope: "project" | "member";
1517
+ period: "day" | "week" | "lifetime";
1467
1518
  limit: number;
1468
1519
  cost: number | {
1469
1520
  balance: string;
@@ -1542,10 +1593,10 @@ declare const questCatalogSchema: z.ZodObject<{
1542
1593
  createdAt: number;
1543
1594
  }>>]>>>;
1544
1595
  supportedInteractions: z.ZodArray<z.ZodEnum<{
1596
+ staff: "staff";
1545
1597
  quiz: "quiz";
1546
- url: "url";
1547
1598
  text: "text";
1548
- staff: "staff";
1599
+ url: "url";
1549
1600
  photo: "photo";
1550
1601
  automatic: "automatic";
1551
1602
  claim: "claim";
@@ -1575,10 +1626,10 @@ declare const catalogDeploymentSchema: z.ZodObject<{
1575
1626
  id?: string | undefined;
1576
1627
  }>>>>;
1577
1628
  supportedInteractions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1629
+ staff: "staff";
1578
1630
  quiz: "quiz";
1579
- url: "url";
1580
1631
  text: "text";
1581
- staff: "staff";
1632
+ url: "url";
1582
1633
  photo: "photo";
1583
1634
  automatic: "automatic";
1584
1635
  claim: "claim";
@@ -1785,6 +1836,17 @@ declare const catalogDeploymentPreviewSchema: z.ZodObject<{
1785
1836
  claim: "claim";
1786
1837
  }>>;
1787
1838
  }, z.core.$strict>>;
1839
+ tracker: z.ZodOptional<z.ZodObject<{
1840
+ tracker: z.ZodString;
1841
+ source: z.ZodEnum<{
1842
+ custom: "custom";
1843
+ "x-search": "x-search";
1844
+ }>;
1845
+ beneficiary: z.ZodEnum<{
1846
+ author: "author";
1847
+ "replied-to": "replied-to";
1848
+ }>;
1849
+ }, z.core.$strict>>;
1788
1850
  }, z.core.$strict>]>;
1789
1851
  performance: z.ZodOptional<z.ZodObject<{
1790
1852
  metrics: z.ZodArray<z.ZodEnum<{
@@ -1817,11 +1879,12 @@ declare const catalogDeploymentPreviewSchema: z.ZodObject<{
1817
1879
  budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
1818
1880
  id: z.ZodString;
1819
1881
  scope: z.ZodEnum<{
1820
- member: "member";
1821
1882
  project: "project";
1883
+ member: "member";
1822
1884
  }>;
1823
1885
  period: z.ZodEnum<{
1824
1886
  day: "day";
1887
+ week: "week";
1825
1888
  lifetime: "lifetime";
1826
1889
  }>;
1827
1890
  limit: z.ZodNumber;
@@ -1845,10 +1908,10 @@ declare const catalogDeploymentPreviewSchema: z.ZodObject<{
1845
1908
  title: z.ZodString;
1846
1909
  }, z.core.$strict>>;
1847
1910
  supportedInteractions: z.ZodArray<z.ZodEnum<{
1911
+ staff: "staff";
1848
1912
  quiz: "quiz";
1849
- url: "url";
1850
1913
  text: "text";
1851
- staff: "staff";
1914
+ url: "url";
1852
1915
  photo: "photo";
1853
1916
  automatic: "automatic";
1854
1917
  claim: "claim";
@@ -1944,10 +2007,10 @@ declare const questViewSchema: z.ZodObject<{
1944
2007
  }, z.core.$strict>>;
1945
2008
  }, z.core.$strict>>;
1946
2009
  connections: z.ZodDefault<z.ZodArray<z.ZodEnum<{
2010
+ discord: "discord";
1947
2011
  google: "google";
1948
2012
  apple: "apple";
1949
2013
  x: "x";
1950
- discord: "discord";
1951
2014
  }>>>;
1952
2015
  trigger: z.ZodUnion<readonly [z.ZodObject<{
1953
2016
  kind: z.ZodLiteral<"manual">;
@@ -2009,13 +2072,24 @@ declare const questViewSchema: z.ZodObject<{
2009
2072
  claim: "claim";
2010
2073
  }>>;
2011
2074
  }, z.core.$strict>>;
2075
+ tracker: z.ZodOptional<z.ZodObject<{
2076
+ tracker: z.ZodString;
2077
+ source: z.ZodEnum<{
2078
+ custom: "custom";
2079
+ "x-search": "x-search";
2080
+ }>;
2081
+ beneficiary: z.ZodEnum<{
2082
+ author: "author";
2083
+ "replied-to": "replied-to";
2084
+ }>;
2085
+ }, z.core.$strict>>;
2012
2086
  }, z.core.$strict>]>;
2013
2087
  availability: z.ZodDiscriminatedUnion<[z.ZodObject<{
2014
2088
  kind: z.ZodLiteral<"available">;
2015
2089
  input: z.ZodEnum<{
2016
2090
  quiz: "quiz";
2017
- url: "url";
2018
2091
  text: "text";
2092
+ url: "url";
2019
2093
  photo: "photo";
2020
2094
  none: "none";
2021
2095
  }>;
@@ -2114,12 +2188,12 @@ declare const questViewSchema: z.ZodObject<{
2114
2188
  value: z.ZodString;
2115
2189
  }, z.core.$strict>]>>;
2116
2190
  status: z.ZodEnum<{
2117
- "needs-review": "needs-review";
2118
2191
  queued: "queued";
2119
2192
  evaluating: "evaluating";
2120
2193
  accepted: "accepted";
2121
2194
  progressed: "progressed";
2122
2195
  rejected: "rejected";
2196
+ "needs-review": "needs-review";
2123
2197
  failed: "failed";
2124
2198
  }>;
2125
2199
  reason: z.ZodNullable<z.ZodString>;
@@ -2157,10 +2231,10 @@ declare const questViewSchema: z.ZodObject<{
2157
2231
  }, z.core.$strip>>;
2158
2232
  release: z.ZodString;
2159
2233
  interaction: z.ZodEnum<{
2234
+ staff: "staff";
2160
2235
  quiz: "quiz";
2161
- url: "url";
2162
2236
  text: "text";
2163
- staff: "staff";
2237
+ url: "url";
2164
2238
  photo: "photo";
2165
2239
  automatic: "automatic";
2166
2240
  claim: "claim";
@@ -2222,10 +2296,10 @@ declare const collectionViewSchema: z.ZodObject<{
2222
2296
  }, z.core.$strict>>;
2223
2297
  }, z.core.$strict>>;
2224
2298
  connections: z.ZodDefault<z.ZodArray<z.ZodEnum<{
2299
+ discord: "discord";
2225
2300
  google: "google";
2226
2301
  apple: "apple";
2227
2302
  x: "x";
2228
- discord: "discord";
2229
2303
  }>>>;
2230
2304
  trigger: z.ZodUnion<readonly [z.ZodObject<{
2231
2305
  kind: z.ZodLiteral<"manual">;
@@ -2287,13 +2361,24 @@ declare const collectionViewSchema: z.ZodObject<{
2287
2361
  claim: "claim";
2288
2362
  }>>;
2289
2363
  }, z.core.$strict>>;
2364
+ tracker: z.ZodOptional<z.ZodObject<{
2365
+ tracker: z.ZodString;
2366
+ source: z.ZodEnum<{
2367
+ custom: "custom";
2368
+ "x-search": "x-search";
2369
+ }>;
2370
+ beneficiary: z.ZodEnum<{
2371
+ author: "author";
2372
+ "replied-to": "replied-to";
2373
+ }>;
2374
+ }, z.core.$strict>>;
2290
2375
  }, z.core.$strict>]>;
2291
2376
  availability: z.ZodDiscriminatedUnion<[z.ZodObject<{
2292
2377
  kind: z.ZodLiteral<"available">;
2293
2378
  input: z.ZodEnum<{
2294
2379
  quiz: "quiz";
2295
- url: "url";
2296
2380
  text: "text";
2381
+ url: "url";
2297
2382
  photo: "photo";
2298
2383
  none: "none";
2299
2384
  }>;
@@ -2392,12 +2477,12 @@ declare const collectionViewSchema: z.ZodObject<{
2392
2477
  value: z.ZodString;
2393
2478
  }, z.core.$strict>]>>;
2394
2479
  status: z.ZodEnum<{
2395
- "needs-review": "needs-review";
2396
2480
  queued: "queued";
2397
2481
  evaluating: "evaluating";
2398
2482
  accepted: "accepted";
2399
2483
  progressed: "progressed";
2400
2484
  rejected: "rejected";
2485
+ "needs-review": "needs-review";
2401
2486
  failed: "failed";
2402
2487
  }>;
2403
2488
  reason: z.ZodNullable<z.ZodString>;
@@ -2435,10 +2520,10 @@ declare const collectionViewSchema: z.ZodObject<{
2435
2520
  }, z.core.$strip>>;
2436
2521
  release: z.ZodString;
2437
2522
  interaction: z.ZodEnum<{
2523
+ staff: "staff";
2438
2524
  quiz: "quiz";
2439
- url: "url";
2440
2525
  text: "text";
2441
- staff: "staff";
2526
+ url: "url";
2442
2527
  photo: "photo";
2443
2528
  automatic: "automatic";
2444
2529
  claim: "claim";
@@ -2499,10 +2584,10 @@ declare const questExperienceSchema: z.ZodObject<{
2499
2584
  }, z.core.$strict>>;
2500
2585
  }, z.core.$strict>>;
2501
2586
  connections: z.ZodDefault<z.ZodArray<z.ZodEnum<{
2587
+ discord: "discord";
2502
2588
  google: "google";
2503
2589
  apple: "apple";
2504
2590
  x: "x";
2505
- discord: "discord";
2506
2591
  }>>>;
2507
2592
  trigger: z.ZodUnion<readonly [z.ZodObject<{
2508
2593
  kind: z.ZodLiteral<"manual">;
@@ -2564,13 +2649,24 @@ declare const questExperienceSchema: z.ZodObject<{
2564
2649
  claim: "claim";
2565
2650
  }>>;
2566
2651
  }, z.core.$strict>>;
2652
+ tracker: z.ZodOptional<z.ZodObject<{
2653
+ tracker: z.ZodString;
2654
+ source: z.ZodEnum<{
2655
+ custom: "custom";
2656
+ "x-search": "x-search";
2657
+ }>;
2658
+ beneficiary: z.ZodEnum<{
2659
+ author: "author";
2660
+ "replied-to": "replied-to";
2661
+ }>;
2662
+ }, z.core.$strict>>;
2567
2663
  }, z.core.$strict>]>;
2568
2664
  availability: z.ZodDiscriminatedUnion<[z.ZodObject<{
2569
2665
  kind: z.ZodLiteral<"available">;
2570
2666
  input: z.ZodEnum<{
2571
2667
  quiz: "quiz";
2572
- url: "url";
2573
2668
  text: "text";
2669
+ url: "url";
2574
2670
  photo: "photo";
2575
2671
  none: "none";
2576
2672
  }>;
@@ -2669,12 +2765,12 @@ declare const questExperienceSchema: z.ZodObject<{
2669
2765
  value: z.ZodString;
2670
2766
  }, z.core.$strict>]>>;
2671
2767
  status: z.ZodEnum<{
2672
- "needs-review": "needs-review";
2673
2768
  queued: "queued";
2674
2769
  evaluating: "evaluating";
2675
2770
  accepted: "accepted";
2676
2771
  progressed: "progressed";
2677
2772
  rejected: "rejected";
2773
+ "needs-review": "needs-review";
2678
2774
  failed: "failed";
2679
2775
  }>;
2680
2776
  reason: z.ZodNullable<z.ZodString>;
@@ -2712,10 +2808,10 @@ declare const questExperienceSchema: z.ZodObject<{
2712
2808
  }, z.core.$strip>>;
2713
2809
  release: z.ZodString;
2714
2810
  interaction: z.ZodEnum<{
2811
+ staff: "staff";
2715
2812
  quiz: "quiz";
2716
- url: "url";
2717
2813
  text: "text";
2718
- staff: "staff";
2814
+ url: "url";
2719
2815
  photo: "photo";
2720
2816
  automatic: "automatic";
2721
2817
  claim: "claim";
@@ -2777,10 +2873,10 @@ declare const questExperienceSchema: z.ZodObject<{
2777
2873
  }, z.core.$strict>>;
2778
2874
  }, z.core.$strict>>;
2779
2875
  connections: z.ZodDefault<z.ZodArray<z.ZodEnum<{
2876
+ discord: "discord";
2780
2877
  google: "google";
2781
2878
  apple: "apple";
2782
2879
  x: "x";
2783
- discord: "discord";
2784
2880
  }>>>;
2785
2881
  trigger: z.ZodUnion<readonly [z.ZodObject<{
2786
2882
  kind: z.ZodLiteral<"manual">;
@@ -2842,13 +2938,24 @@ declare const questExperienceSchema: z.ZodObject<{
2842
2938
  claim: "claim";
2843
2939
  }>>;
2844
2940
  }, z.core.$strict>>;
2941
+ tracker: z.ZodOptional<z.ZodObject<{
2942
+ tracker: z.ZodString;
2943
+ source: z.ZodEnum<{
2944
+ custom: "custom";
2945
+ "x-search": "x-search";
2946
+ }>;
2947
+ beneficiary: z.ZodEnum<{
2948
+ author: "author";
2949
+ "replied-to": "replied-to";
2950
+ }>;
2951
+ }, z.core.$strict>>;
2845
2952
  }, z.core.$strict>]>;
2846
2953
  availability: z.ZodDiscriminatedUnion<[z.ZodObject<{
2847
2954
  kind: z.ZodLiteral<"available">;
2848
2955
  input: z.ZodEnum<{
2849
2956
  quiz: "quiz";
2850
- url: "url";
2851
2957
  text: "text";
2958
+ url: "url";
2852
2959
  photo: "photo";
2853
2960
  none: "none";
2854
2961
  }>;
@@ -2947,12 +3054,12 @@ declare const questExperienceSchema: z.ZodObject<{
2947
3054
  value: z.ZodString;
2948
3055
  }, z.core.$strict>]>>;
2949
3056
  status: z.ZodEnum<{
2950
- "needs-review": "needs-review";
2951
3057
  queued: "queued";
2952
3058
  evaluating: "evaluating";
2953
3059
  accepted: "accepted";
2954
3060
  progressed: "progressed";
2955
3061
  rejected: "rejected";
3062
+ "needs-review": "needs-review";
2956
3063
  failed: "failed";
2957
3064
  }>;
2958
3065
  reason: z.ZodNullable<z.ZodString>;
@@ -2990,10 +3097,10 @@ declare const questExperienceSchema: z.ZodObject<{
2990
3097
  }, z.core.$strip>>;
2991
3098
  release: z.ZodString;
2992
3099
  interaction: z.ZodEnum<{
3100
+ staff: "staff";
2993
3101
  quiz: "quiz";
2994
- url: "url";
2995
3102
  text: "text";
2996
- staff: "staff";
3103
+ url: "url";
2997
3104
  photo: "photo";
2998
3105
  automatic: "automatic";
2999
3106
  claim: "claim";
@@ -3298,6 +3405,17 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
3298
3405
  claim: "claim";
3299
3406
  }>>;
3300
3407
  }, z.core.$strict>>;
3408
+ tracker: z.ZodOptional<z.ZodObject<{
3409
+ tracker: z.ZodString;
3410
+ source: z.ZodEnum<{
3411
+ custom: "custom";
3412
+ "x-search": "x-search";
3413
+ }>;
3414
+ beneficiary: z.ZodEnum<{
3415
+ author: "author";
3416
+ "replied-to": "replied-to";
3417
+ }>;
3418
+ }, z.core.$strict>>;
3301
3419
  }, z.core.$strict>]>;
3302
3420
  performance: z.ZodOptional<z.ZodObject<{
3303
3421
  metrics: z.ZodArray<z.ZodEnum<{
@@ -3330,11 +3448,12 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
3330
3448
  budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
3331
3449
  id: z.ZodString;
3332
3450
  scope: z.ZodEnum<{
3333
- member: "member";
3334
3451
  project: "project";
3452
+ member: "member";
3335
3453
  }>;
3336
3454
  period: z.ZodEnum<{
3337
3455
  day: "day";
3456
+ week: "week";
3338
3457
  lifetime: "lifetime";
3339
3458
  }>;
3340
3459
  limit: z.ZodNumber;
@@ -3427,7 +3546,7 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
3427
3546
  createdAt: z.ZodNumber;
3428
3547
  }, z.core.$strip>, z.ZodTransform<{
3429
3548
  quest: string;
3430
- runtimeVersion: 1 | 2;
3549
+ runtimeVersion: 2 | 1;
3431
3550
  title: string;
3432
3551
  presentation: {
3433
3552
  quiz?: {
@@ -3464,12 +3583,12 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
3464
3583
  kind: "resource";
3465
3584
  default: string;
3466
3585
  source: {
3586
+ provider: "domino";
3587
+ resource: "point-ledger";
3588
+ } | {
3467
3589
  provider: "discord";
3468
3590
  resource: "channel";
3469
3591
  types: ("text" | "announcement")[];
3470
- } | {
3471
- provider: "domino";
3472
- resource: "point-ledger";
3473
3592
  } | {
3474
3593
  provider: "discord";
3475
3594
  resource: "role";
@@ -3570,6 +3689,11 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
3570
3689
  posts: "after-enrollment" | "since-start";
3571
3690
  historical: "staff" | "automatic" | "claim";
3572
3691
  } | undefined;
3692
+ tracker?: {
3693
+ tracker: string;
3694
+ source: "custom" | "x-search";
3695
+ beneficiary: "author" | "replied-to";
3696
+ } | undefined;
3573
3697
  } | {
3574
3698
  kind: "manual";
3575
3699
  input: "text";
@@ -3608,8 +3732,8 @@ declare const questPublicationPreviewSchema: z.ZodObject<{
3608
3732
  visibility: "visible" | "hidden";
3609
3733
  budgets: {
3610
3734
  id: string;
3611
- scope: "member" | "project";
3612
- period: "day" | "lifetime";
3735
+ scope: "project" | "member";
3736
+ period: "day" | "week" | "lifetime";
3613
3737
  limit: number;
3614
3738
  cost: number | {
3615
3739
  balance: string;
@@ -3735,6 +3859,310 @@ type QuestController = (ActiveController & {
3735
3859
  submit(): Promise<QuestActionResult>;
3736
3860
  });
3737
3861
 
3862
+ /** Who sees profiles: nobody but the member (`private`), signed-in members, or anyone. */
3863
+ declare const profileVisibilitySchema: z.ZodEnum<{
3864
+ private: "private";
3865
+ participants: "participants";
3866
+ public: "public";
3867
+ }>;
3868
+ type ProfileVisibility = z.infer<typeof profileVisibilitySchema>;
3869
+ /** What a profile shows before the member chooses: generated values, or their X then Discord account. */
3870
+ declare const profileDefaultsSchema: z.ZodEnum<{
3871
+ accounts: "accounts";
3872
+ generated: "generated";
3873
+ }>;
3874
+ type ProfileDefaults = z.infer<typeof profileDefaultsSchema>;
3875
+ /** Connected accounts a member can take a picture from. Only X and Discord supply defaults. */
3876
+ declare const avatarProviderSchema: z.ZodEnum<{
3877
+ discord: "discord";
3878
+ x: "x";
3879
+ google: "google";
3880
+ }>;
3881
+ type AvatarProvider = z.infer<typeof avatarProviderSchema>;
3882
+ /**
3883
+ * The seed of a generated avatar (`defaultAvatar`), the same one `relay.me.get()` returns: derived
3884
+ * by the project from the member's first wallet, or from the member without one, and revealing
3885
+ * neither.
3886
+ */
3887
+ declare const avatarSeedSchema: z.ZodString;
3888
+ /**
3889
+ * A profile's avatar: an uploaded picture, an account's picture, or a generated one. Every kind
3890
+ * carries the generated avatar's `seed`, so a picture that fails to load falls back to the same
3891
+ * generated avatar everywhere.
3892
+ */
3893
+ declare const profileAvatarSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3894
+ source: z.ZodLiteral<"upload">;
3895
+ url: z.ZodString;
3896
+ seed: z.ZodString;
3897
+ }, z.core.$strip>, z.ZodObject<{
3898
+ source: z.ZodLiteral<"account">;
3899
+ provider: z.ZodEnum<{
3900
+ discord: "discord";
3901
+ x: "x";
3902
+ google: "google";
3903
+ }>;
3904
+ url: z.ZodString;
3905
+ seed: z.ZodString;
3906
+ }, z.core.$strip>, z.ZodObject<{
3907
+ source: z.ZodLiteral<"generated">;
3908
+ seed: z.ZodString;
3909
+ }, z.core.$strip>], "source">;
3910
+ type ProfileAvatar = z.infer<typeof profileAvatarSchema>;
3911
+ /** What other participants see: the profile's public ID, its name and its avatar. */
3912
+ declare const profileSummarySchema: z.ZodObject<{
3913
+ id: z.ZodString;
3914
+ name: z.ZodString;
3915
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
3916
+ source: z.ZodLiteral<"upload">;
3917
+ url: z.ZodString;
3918
+ seed: z.ZodString;
3919
+ }, z.core.$strip>, z.ZodObject<{
3920
+ source: z.ZodLiteral<"account">;
3921
+ provider: z.ZodEnum<{
3922
+ discord: "discord";
3923
+ x: "x";
3924
+ google: "google";
3925
+ }>;
3926
+ url: z.ZodString;
3927
+ seed: z.ZodString;
3928
+ }, z.core.$strip>, z.ZodObject<{
3929
+ source: z.ZodLiteral<"generated">;
3930
+ seed: z.ZodString;
3931
+ }, z.core.$strip>], "source">;
3932
+ }, z.core.$strip>;
3933
+ type ProfileSummary = z.infer<typeof profileSummarySchema>;
3934
+ /**
3935
+ * A display name: NFC-normalized, whitespace collapsed and trimmed, 1 to 40 characters, with no
3936
+ * control, zero-width or bidirectional formatting characters.
3937
+ */
3938
+ declare const displayNameSchema: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>;
3939
+ /**
3940
+ * A change to the member's own profile; omitted fields stay. `displayName: null` and
3941
+ * `avatar: null` return to the project's defaults (null also removes an uploaded picture).
3942
+ * Upload a picture with `relay.profiles.uploadAvatar`.
3943
+ */
3944
+ declare const profileUpdateSchema: z.ZodObject<{
3945
+ displayName: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>>;
3946
+ avatar: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
3947
+ source: z.ZodLiteral<"account">;
3948
+ provider: z.ZodEnum<{
3949
+ discord: "discord";
3950
+ x: "x";
3951
+ google: "google";
3952
+ }>;
3953
+ }, z.core.$strict>, z.ZodObject<{
3954
+ source: z.ZodLiteral<"generated">;
3955
+ }, z.core.$strict>], "source">>>;
3956
+ hidden: z.ZodOptional<z.ZodBoolean>;
3957
+ }, z.core.$strict>;
3958
+ type ProfileUpdate = z.input<typeof profileUpdateSchema>;
3959
+ /** The signed-in member's own profile, with what they chose and what they can choose from. */
3960
+ declare const ownProfileSchema: z.ZodObject<{
3961
+ id: z.ZodString;
3962
+ name: z.ZodString;
3963
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
3964
+ source: z.ZodLiteral<"upload">;
3965
+ url: z.ZodString;
3966
+ seed: z.ZodString;
3967
+ }, z.core.$strip>, z.ZodObject<{
3968
+ source: z.ZodLiteral<"account">;
3969
+ provider: z.ZodEnum<{
3970
+ discord: "discord";
3971
+ x: "x";
3972
+ google: "google";
3973
+ }>;
3974
+ url: z.ZodString;
3975
+ seed: z.ZodString;
3976
+ }, z.core.$strip>, z.ZodObject<{
3977
+ source: z.ZodLiteral<"generated">;
3978
+ seed: z.ZodString;
3979
+ }, z.core.$strip>], "source">;
3980
+ displayName: z.ZodNullable<z.ZodString>;
3981
+ avatarChoice: z.ZodEnum<{
3982
+ default: "default";
3983
+ account: "account";
3984
+ upload: "upload";
3985
+ generated: "generated";
3986
+ }>;
3987
+ avatarProvider: z.ZodNullable<z.ZodEnum<{
3988
+ discord: "discord";
3989
+ x: "x";
3990
+ google: "google";
3991
+ }>>;
3992
+ hidden: z.ZodBoolean;
3993
+ locked: z.ZodBoolean;
3994
+ visibility: z.ZodEnum<{
3995
+ private: "private";
3996
+ participants: "participants";
3997
+ public: "public";
3998
+ }>;
3999
+ options: z.ZodArray<z.ZodObject<{
4000
+ provider: z.ZodEnum<{
4001
+ discord: "discord";
4002
+ x: "x";
4003
+ google: "google";
4004
+ }>;
4005
+ name: z.ZodNullable<z.ZodString>;
4006
+ imageUrl: z.ZodNullable<z.ZodString>;
4007
+ }, z.core.$strip>>;
4008
+ }, z.core.$strip>;
4009
+ type OwnProfile = z.infer<typeof ownProfileSchema>;
4010
+ /** A profile page. A null section is one the project's settings do not show. */
4011
+ declare const publicProfileSchema: z.ZodObject<{
4012
+ id: z.ZodString;
4013
+ name: z.ZodString;
4014
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
4015
+ source: z.ZodLiteral<"upload">;
4016
+ url: z.ZodString;
4017
+ seed: z.ZodString;
4018
+ }, z.core.$strip>, z.ZodObject<{
4019
+ source: z.ZodLiteral<"account">;
4020
+ provider: z.ZodEnum<{
4021
+ discord: "discord";
4022
+ x: "x";
4023
+ google: "google";
4024
+ }>;
4025
+ url: z.ZodString;
4026
+ seed: z.ZodString;
4027
+ }, z.core.$strip>, z.ZodObject<{
4028
+ source: z.ZodLiteral<"generated">;
4029
+ seed: z.ZodString;
4030
+ }, z.core.$strip>], "source">;
4031
+ self: z.ZodBoolean;
4032
+ leaderboards: z.ZodNullable<z.ZodArray<z.ZodObject<{
4033
+ leaderboard: z.ZodString;
4034
+ key: z.ZodOptional<z.ZodString>;
4035
+ title: z.ZodString;
4036
+ rank: z.ZodNumber;
4037
+ score: z.ZodNumber;
4038
+ total: z.ZodNumber;
4039
+ }, z.core.$strip>>>;
4040
+ quests: z.ZodNullable<z.ZodArray<z.ZodObject<{
4041
+ quest: z.ZodString;
4042
+ key: z.ZodOptional<z.ZodString>;
4043
+ title: z.ZodString;
4044
+ completions: z.ZodNumber;
4045
+ lastCompletedAt: z.ZodNullable<z.ZodNumber>;
4046
+ }, z.core.$strip>>>;
4047
+ referrals: z.ZodNullable<z.ZodObject<{
4048
+ attributed: z.ZodNumber;
4049
+ programs: z.ZodArray<z.ZodObject<{
4050
+ program: z.ZodString;
4051
+ key: z.ZodOptional<z.ZodString>;
4052
+ title: z.ZodString;
4053
+ qualified: z.ZodNumber;
4054
+ milestones: z.ZodArray<z.ZodObject<{
4055
+ id: z.ZodString;
4056
+ count: z.ZodNumber;
4057
+ reached: z.ZodBoolean;
4058
+ }, z.core.$strip>>;
4059
+ }, z.core.$strip>>;
4060
+ }, z.core.$strip>>;
4061
+ }, z.core.$strip>;
4062
+ type PublicProfile = z.infer<typeof publicProfileSchema>;
4063
+ /** A project's profile settings in one environment. */
4064
+ declare const profileSettingsSchema: z.ZodObject<{
4065
+ visibility: z.ZodEnum<{
4066
+ private: "private";
4067
+ participants: "participants";
4068
+ public: "public";
4069
+ }>;
4070
+ defaults: z.ZodEnum<{
4071
+ accounts: "accounts";
4072
+ generated: "generated";
4073
+ }>;
4074
+ sections: z.ZodObject<{
4075
+ leaderboards: z.ZodBoolean;
4076
+ quests: z.ZodBoolean;
4077
+ referrals: z.ZodBoolean;
4078
+ }, z.core.$strip>;
4079
+ revision: z.ZodNumber;
4080
+ actor: z.ZodNullable<z.ZodString>;
4081
+ updatedAt: z.ZodNullable<z.ZodNumber>;
4082
+ }, z.core.$strip>;
4083
+ type ProfileSettings = z.infer<typeof profileSettingsSchema>;
4084
+ declare const profileSettingsInputSchema: z.ZodObject<{
4085
+ visibility: z.ZodEnum<{
4086
+ private: "private";
4087
+ participants: "participants";
4088
+ public: "public";
4089
+ }>;
4090
+ defaults: z.ZodEnum<{
4091
+ accounts: "accounts";
4092
+ generated: "generated";
4093
+ }>;
4094
+ sections: z.ZodObject<{
4095
+ leaderboards: z.ZodBoolean;
4096
+ quests: z.ZodBoolean;
4097
+ referrals: z.ZodBoolean;
4098
+ }, z.core.$strip>;
4099
+ actionId: z.ZodString;
4100
+ expectedRevision: z.ZodNumber;
4101
+ reason: z.ZodString;
4102
+ }, z.core.$strict>;
4103
+ type ProfileSettingsInput = z.input<typeof profileSettingsInputSchema>;
4104
+ /** An operator's change to a member's profile. Every action is audited with its reason. */
4105
+ declare const profileModerationSchema: z.ZodObject<{
4106
+ actionId: z.ZodString;
4107
+ resetName: z.ZodDefault<z.ZodBoolean>;
4108
+ removeAvatar: z.ZodDefault<z.ZodBoolean>;
4109
+ lock: z.ZodOptional<z.ZodBoolean>;
4110
+ reason: z.ZodString;
4111
+ }, z.core.$strict>;
4112
+ type ProfileModeration = z.input<typeof profileModerationSchema>;
4113
+ /** A member's profile as operators see it: always, whatever the settings. */
4114
+ declare const managedProfileSchema: z.ZodObject<{
4115
+ id: z.ZodString;
4116
+ displayName: z.ZodNullable<z.ZodString>;
4117
+ hidden: z.ZodBoolean;
4118
+ visibility: z.ZodEnum<{
4119
+ private: "private";
4120
+ participants: "participants";
4121
+ public: "public";
4122
+ }>;
4123
+ name: z.ZodString;
4124
+ locked: z.ZodBoolean;
4125
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
4126
+ source: z.ZodLiteral<"upload">;
4127
+ url: z.ZodString;
4128
+ seed: z.ZodString;
4129
+ }, z.core.$strip>, z.ZodObject<{
4130
+ source: z.ZodLiteral<"account">;
4131
+ provider: z.ZodEnum<{
4132
+ discord: "discord";
4133
+ x: "x";
4134
+ google: "google";
4135
+ }>;
4136
+ url: z.ZodString;
4137
+ seed: z.ZodString;
4138
+ }, z.core.$strip>, z.ZodObject<{
4139
+ source: z.ZodLiteral<"generated">;
4140
+ seed: z.ZodString;
4141
+ }, z.core.$strip>], "source">;
4142
+ avatarChoice: z.ZodEnum<{
4143
+ default: "default";
4144
+ account: "account";
4145
+ upload: "upload";
4146
+ generated: "generated";
4147
+ }>;
4148
+ avatarProvider: z.ZodNullable<z.ZodEnum<{
4149
+ discord: "discord";
4150
+ x: "x";
4151
+ google: "google";
4152
+ }>>;
4153
+ member: z.ZodString;
4154
+ lockedAt: z.ZodNullable<z.ZodNumber>;
4155
+ lockedBy: z.ZodNullable<z.ZodString>;
4156
+ lockedReason: z.ZodNullable<z.ZodString>;
4157
+ updatedAt: z.ZodNumber;
4158
+ }, z.core.$strip>;
4159
+ type ManagedProfile = z.infer<typeof managedProfileSchema>;
4160
+ /** The largest avatar upload, and the types an upload can have. */
4161
+ declare const AVATAR_UPLOAD_LIMIT: number;
4162
+ declare const avatarUploadTypes: string[];
4163
+ /** The profile routes hosted proxies and the API's scope selector admit, with their methods. */
4164
+ declare function isProfileParticipantRoute(path: string, method: string): boolean;
4165
+
3738
4166
  declare const pointLedgerPropertiesSchema: z.ZodObject<{
3739
4167
  name: z.ZodString;
3740
4168
  description: z.ZodDefault<z.ZodString>;
@@ -3778,8 +4206,8 @@ declare const rewardDeliverySchema: z.ZodObject<{
3778
4206
  action: z.ZodLiteral<"grant-role">;
3779
4207
  roleId: z.ZodString;
3780
4208
  status: z.ZodEnum<{
3781
- pending: "pending";
3782
4209
  failed: "failed";
4210
+ pending: "pending";
3783
4211
  delivered: "delivered";
3784
4212
  }>;
3785
4213
  attempts: z.ZodNumber;
@@ -3798,8 +4226,8 @@ declare const rewardDeliveriesSchema: z.ZodObject<{
3798
4226
  action: z.ZodLiteral<"grant-role">;
3799
4227
  roleId: z.ZodString;
3800
4228
  status: z.ZodEnum<{
3801
- pending: "pending";
3802
4229
  failed: "failed";
4230
+ pending: "pending";
3803
4231
  delivered: "delivered";
3804
4232
  }>;
3805
4233
  attempts: z.ZodNumber;
@@ -3810,6 +4238,30 @@ declare const rewardDeliveriesSchema: z.ZodObject<{
3810
4238
  }, z.core.$strip>>;
3811
4239
  }, z.core.$strip>;
3812
4240
 
4241
+ /**
4242
+ * The `<img src>` of a profile's avatar (`profile.avatar`). Pictures from accounts are hotlinked
4243
+ * and can disappear: on the image's error event, fall back to `defaultAvatar(avatar.seed)`.
4244
+ */
4245
+ declare function avatarSrc(avatar: ProfileAvatar): string;
4246
+ /**
4247
+ * A deterministic SVG avatar for `seed`, as a data URI for an `<img src>`. The same seed always
4248
+ * gives the same image.
4249
+ *
4250
+ * Seed avatars that other people see with a value that reveals nothing, such as the `avatarSeed`
4251
+ * Relay returns (`relay.me.get()`), never with a wallet address: anyone could compute the avatar
4252
+ * of every holder's address and match members to wallets. Use `walletAvatarSeed` only for a
4253
+ * member's own wallets, in their own UI.
4254
+ */
4255
+ declare function defaultAvatar(seed: string): string;
4256
+ /** `defaultAvatar` as raw SVG markup, for inlining during server rendering. */
4257
+ declare function defaultAvatarSvg(seed: string): string;
4258
+ /**
4259
+ * The seed for a wallet shown to its own member, such as in their list of linked wallets. EVM and
4260
+ * Cosmos addresses are case-folded, so a checksummed and a lowercase address give one image. Never
4261
+ * use it on surfaces other people see (see `defaultAvatar`).
4262
+ */
4263
+ declare function walletAvatarSeed(wallet: Pick<LinkedWallet, "chain" | "address">): string;
4264
+
3813
4265
  declare const collectionCodeSchema: z.ZodString;
3814
4266
  declare const collectionPassSchema: z.ZodObject<{
3815
4267
  code: z.ZodString;
@@ -3968,10 +4420,10 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
3968
4420
  }>;
3969
4421
  }, z.core.$strip>>>;
3970
4422
  supportedInteractions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
4423
+ staff: "staff";
3971
4424
  quiz: "quiz";
3972
- url: "url";
3973
4425
  text: "text";
3974
- staff: "staff";
4426
+ url: "url";
3975
4427
  photo: "photo";
3976
4428
  automatic: "automatic";
3977
4429
  claim: "claim";
@@ -3988,6 +4440,7 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
3988
4440
  }, z.core.$strict>, z.ZodObject<{
3989
4441
  kind: z.ZodLiteral<"custom">;
3990
4442
  namespace: z.ZodString;
4443
+ authors: z.ZodOptional<z.ZodLiteral<"wallet">>;
3991
4444
  }, z.core.$strict>], "kind">;
3992
4445
  window: z.ZodObject<{
3993
4446
  start: z.ZodNumber;
@@ -4051,6 +4504,7 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
4051
4504
  tier: z.ZodString;
4052
4505
  }, z.core.$strict>]>>>;
4053
4506
  }, z.core.$strict>>;
4507
+ enabled: z.ZodDefault<z.ZodBoolean>;
4054
4508
  qualification: z.ZodDiscriminatedUnion<[z.ZodObject<{
4055
4509
  kind: z.ZodLiteral<"signup">;
4056
4510
  }, z.core.$strict>, z.ZodObject<{
@@ -4059,7 +4513,6 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
4059
4513
  }, z.core.$strict>, z.ZodObject<{
4060
4514
  kind: z.ZodLiteral<"external">;
4061
4515
  }, z.core.$strict>], "kind">;
4062
- enabled: z.ZodDefault<z.ZodBoolean>;
4063
4516
  inviterGroup: z.ZodOptional<z.ZodString>;
4064
4517
  milestones: z.ZodDefault<z.ZodArray<z.ZodObject<{
4065
4518
  id: z.ZodString;
@@ -4146,6 +4599,7 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
4146
4599
  amount: number;
4147
4600
  })[];
4148
4601
  };
4602
+ enabled: boolean;
4149
4603
  qualification: {
4150
4604
  kind: "signup";
4151
4605
  } | {
@@ -4154,7 +4608,6 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
4154
4608
  } | {
4155
4609
  kind: "external";
4156
4610
  };
4157
- enabled: boolean;
4158
4611
  milestones: {
4159
4612
  id: string;
4160
4613
  count: number;
@@ -4243,6 +4696,7 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
4243
4696
  amount: number;
4244
4697
  })[];
4245
4698
  };
4699
+ enabled: boolean;
4246
4700
  qualification: {
4247
4701
  kind: "signup";
4248
4702
  } | {
@@ -4251,7 +4705,6 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
4251
4705
  } | {
4252
4706
  kind: "external";
4253
4707
  };
4254
- enabled: boolean;
4255
4708
  milestones: {
4256
4709
  id: string;
4257
4710
  count: number;
@@ -4296,7 +4749,6 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
4296
4749
  leaderboards: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
4297
4750
  title: z.ZodString;
4298
4751
  balance: z.ZodString;
4299
- group: z.ZodOptional<z.ZodString>;
4300
4752
  score: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
4301
4753
  kind: z.ZodLiteral<"balance">;
4302
4754
  }, z.core.$strict>, z.ZodObject<{
@@ -4345,6 +4797,7 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
4345
4797
  participants: "participants";
4346
4798
  public: "public";
4347
4799
  }>>;
4800
+ group: z.ZodOptional<z.ZodString>;
4348
4801
  key: z.ZodOptional<z.ZodString>;
4349
4802
  id: z.ZodOptional<z.ZodString>;
4350
4803
  }, z.core.$strict>, z.ZodTransform<Omit<{
@@ -4469,10 +4922,10 @@ declare const projectDeploymentSchema: z.ZodObject<{
4469
4922
  }>;
4470
4923
  }, z.core.$strip>>>;
4471
4924
  supportedInteractions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
4925
+ staff: "staff";
4472
4926
  quiz: "quiz";
4473
- url: "url";
4474
4927
  text: "text";
4475
- staff: "staff";
4928
+ url: "url";
4476
4929
  photo: "photo";
4477
4930
  automatic: "automatic";
4478
4931
  claim: "claim";
@@ -4489,6 +4942,7 @@ declare const projectDeploymentSchema: z.ZodObject<{
4489
4942
  }, z.core.$strict>, z.ZodObject<{
4490
4943
  kind: z.ZodLiteral<"custom">;
4491
4944
  namespace: z.ZodString;
4945
+ authors: z.ZodOptional<z.ZodLiteral<"wallet">>;
4492
4946
  }, z.core.$strict>], "kind">;
4493
4947
  window: z.ZodObject<{
4494
4948
  start: z.ZodNumber;
@@ -4552,6 +5006,7 @@ declare const projectDeploymentSchema: z.ZodObject<{
4552
5006
  tier: z.ZodString;
4553
5007
  }, z.core.$strict>]>>>;
4554
5008
  }, z.core.$strict>>;
5009
+ enabled: z.ZodDefault<z.ZodBoolean>;
4555
5010
  qualification: z.ZodDiscriminatedUnion<[z.ZodObject<{
4556
5011
  kind: z.ZodLiteral<"signup">;
4557
5012
  }, z.core.$strict>, z.ZodObject<{
@@ -4560,7 +5015,6 @@ declare const projectDeploymentSchema: z.ZodObject<{
4560
5015
  }, z.core.$strict>, z.ZodObject<{
4561
5016
  kind: z.ZodLiteral<"external">;
4562
5017
  }, z.core.$strict>], "kind">;
4563
- enabled: z.ZodDefault<z.ZodBoolean>;
4564
5018
  inviterGroup: z.ZodOptional<z.ZodString>;
4565
5019
  milestones: z.ZodDefault<z.ZodArray<z.ZodObject<{
4566
5020
  id: z.ZodString;
@@ -4647,6 +5101,7 @@ declare const projectDeploymentSchema: z.ZodObject<{
4647
5101
  amount: number;
4648
5102
  })[];
4649
5103
  };
5104
+ enabled: boolean;
4650
5105
  qualification: {
4651
5106
  kind: "signup";
4652
5107
  } | {
@@ -4655,7 +5110,6 @@ declare const projectDeploymentSchema: z.ZodObject<{
4655
5110
  } | {
4656
5111
  kind: "external";
4657
5112
  };
4658
- enabled: boolean;
4659
5113
  milestones: {
4660
5114
  id: string;
4661
5115
  count: number;
@@ -4744,6 +5198,7 @@ declare const projectDeploymentSchema: z.ZodObject<{
4744
5198
  amount: number;
4745
5199
  })[];
4746
5200
  };
5201
+ enabled: boolean;
4747
5202
  qualification: {
4748
5203
  kind: "signup";
4749
5204
  } | {
@@ -4752,7 +5207,6 @@ declare const projectDeploymentSchema: z.ZodObject<{
4752
5207
  } | {
4753
5208
  kind: "external";
4754
5209
  };
4755
- enabled: boolean;
4756
5210
  milestones: {
4757
5211
  id: string;
4758
5212
  count: number;
@@ -4797,7 +5251,6 @@ declare const projectDeploymentSchema: z.ZodObject<{
4797
5251
  leaderboards: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
4798
5252
  title: z.ZodString;
4799
5253
  balance: z.ZodString;
4800
- group: z.ZodOptional<z.ZodString>;
4801
5254
  score: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
4802
5255
  kind: z.ZodLiteral<"balance">;
4803
5256
  }, z.core.$strict>, z.ZodObject<{
@@ -4846,6 +5299,7 @@ declare const projectDeploymentSchema: z.ZodObject<{
4846
5299
  participants: "participants";
4847
5300
  public: "public";
4848
5301
  }>>;
5302
+ group: z.ZodOptional<z.ZodString>;
4849
5303
  key: z.ZodOptional<z.ZodString>;
4850
5304
  id: z.ZodOptional<z.ZodString>;
4851
5305
  }, z.core.$strict>, z.ZodTransform<Omit<{
@@ -5097,6 +5551,7 @@ declare const deploymentPreviewSchema: z.ZodObject<{
5097
5551
  }, z.core.$strict>, z.ZodObject<{
5098
5552
  kind: z.ZodLiteral<"custom">;
5099
5553
  namespace: z.ZodString;
5554
+ authors: z.ZodOptional<z.ZodLiteral<"wallet">>;
5100
5555
  }, z.core.$strict>], "kind">;
5101
5556
  window: z.ZodObject<{
5102
5557
  start: z.ZodNumber;
@@ -5308,6 +5763,17 @@ declare const deploymentPreviewSchema: z.ZodObject<{
5308
5763
  claim: "claim";
5309
5764
  }>>;
5310
5765
  }, z.core.$strict>>;
5766
+ tracker: z.ZodOptional<z.ZodObject<{
5767
+ tracker: z.ZodString;
5768
+ source: z.ZodEnum<{
5769
+ custom: "custom";
5770
+ "x-search": "x-search";
5771
+ }>;
5772
+ beneficiary: z.ZodEnum<{
5773
+ author: "author";
5774
+ "replied-to": "replied-to";
5775
+ }>;
5776
+ }, z.core.$strict>>;
5311
5777
  }, z.core.$strict>]>;
5312
5778
  performance: z.ZodOptional<z.ZodObject<{
5313
5779
  metrics: z.ZodArray<z.ZodEnum<{
@@ -5340,11 +5806,12 @@ declare const deploymentPreviewSchema: z.ZodObject<{
5340
5806
  budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
5341
5807
  id: z.ZodString;
5342
5808
  scope: z.ZodEnum<{
5343
- member: "member";
5344
5809
  project: "project";
5810
+ member: "member";
5345
5811
  }>;
5346
5812
  period: z.ZodEnum<{
5347
5813
  day: "day";
5814
+ week: "week";
5348
5815
  lifetime: "lifetime";
5349
5816
  }>;
5350
5817
  limit: z.ZodNumber;
@@ -5437,7 +5904,7 @@ declare const deploymentPreviewSchema: z.ZodObject<{
5437
5904
  createdAt: z.ZodNumber;
5438
5905
  }, z.core.$strip>, z.ZodTransform<{
5439
5906
  quest: string;
5440
- runtimeVersion: 1 | 2;
5907
+ runtimeVersion: 2 | 1;
5441
5908
  title: string;
5442
5909
  presentation: {
5443
5910
  quiz?: {
@@ -5474,12 +5941,12 @@ declare const deploymentPreviewSchema: z.ZodObject<{
5474
5941
  kind: "resource";
5475
5942
  default: string;
5476
5943
  source: {
5944
+ provider: "domino";
5945
+ resource: "point-ledger";
5946
+ } | {
5477
5947
  provider: "discord";
5478
5948
  resource: "channel";
5479
5949
  types: ("text" | "announcement")[];
5480
- } | {
5481
- provider: "domino";
5482
- resource: "point-ledger";
5483
5950
  } | {
5484
5951
  provider: "discord";
5485
5952
  resource: "role";
@@ -5580,6 +6047,11 @@ declare const deploymentPreviewSchema: z.ZodObject<{
5580
6047
  posts: "after-enrollment" | "since-start";
5581
6048
  historical: "staff" | "automatic" | "claim";
5582
6049
  } | undefined;
6050
+ tracker?: {
6051
+ tracker: string;
6052
+ source: "custom" | "x-search";
6053
+ beneficiary: "author" | "replied-to";
6054
+ } | undefined;
5583
6055
  } | {
5584
6056
  kind: "manual";
5585
6057
  input: "text";
@@ -5618,8 +6090,8 @@ declare const deploymentPreviewSchema: z.ZodObject<{
5618
6090
  visibility: "visible" | "hidden";
5619
6091
  budgets: {
5620
6092
  id: string;
5621
- scope: "member" | "project";
5622
- period: "day" | "lifetime";
6093
+ scope: "project" | "member";
6094
+ period: "day" | "week" | "lifetime";
5623
6095
  limit: number;
5624
6096
  cost: number | {
5625
6097
  balance: string;
@@ -5896,6 +6368,17 @@ declare const deploymentPreviewSchema: z.ZodObject<{
5896
6368
  claim: "claim";
5897
6369
  }>>;
5898
6370
  }, z.core.$strict>>;
6371
+ tracker: z.ZodOptional<z.ZodObject<{
6372
+ tracker: z.ZodString;
6373
+ source: z.ZodEnum<{
6374
+ custom: "custom";
6375
+ "x-search": "x-search";
6376
+ }>;
6377
+ beneficiary: z.ZodEnum<{
6378
+ author: "author";
6379
+ "replied-to": "replied-to";
6380
+ }>;
6381
+ }, z.core.$strict>>;
5899
6382
  }, z.core.$strict>]>;
5900
6383
  performance: z.ZodOptional<z.ZodObject<{
5901
6384
  metrics: z.ZodArray<z.ZodEnum<{
@@ -5928,11 +6411,12 @@ declare const deploymentPreviewSchema: z.ZodObject<{
5928
6411
  budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
5929
6412
  id: z.ZodString;
5930
6413
  scope: z.ZodEnum<{
5931
- member: "member";
5932
6414
  project: "project";
6415
+ member: "member";
5933
6416
  }>;
5934
6417
  period: z.ZodEnum<{
5935
6418
  day: "day";
6419
+ week: "week";
5936
6420
  lifetime: "lifetime";
5937
6421
  }>;
5938
6422
  limit: z.ZodNumber;
@@ -5957,10 +6441,10 @@ declare const deploymentPreviewSchema: z.ZodObject<{
5957
6441
  quests: z.ZodArray<z.ZodString>;
5958
6442
  }, z.core.$strict>>;
5959
6443
  supportedInteractions: z.ZodArray<z.ZodEnum<{
6444
+ staff: "staff";
5960
6445
  quiz: "quiz";
5961
- url: "url";
5962
6446
  text: "text";
5963
- staff: "staff";
6447
+ url: "url";
5964
6448
  photo: "photo";
5965
6449
  automatic: "automatic";
5966
6450
  claim: "claim";
@@ -6149,6 +6633,27 @@ declare const deploymentPreviewSchema: z.ZodObject<{
6149
6633
  name: z.ZodString;
6150
6634
  score: z.ZodNumber;
6151
6635
  rank: z.ZodNumber;
6636
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
6637
+ id: z.ZodString;
6638
+ name: z.ZodString;
6639
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
6640
+ source: z.ZodLiteral<"upload">;
6641
+ url: z.ZodString;
6642
+ seed: z.ZodString;
6643
+ }, z.core.$strip>, z.ZodObject<{
6644
+ source: z.ZodLiteral<"account">;
6645
+ provider: z.ZodEnum<{
6646
+ discord: "discord";
6647
+ google: "google";
6648
+ x: "x";
6649
+ }>;
6650
+ url: z.ZodString;
6651
+ seed: z.ZodString;
6652
+ }, z.core.$strip>, z.ZodObject<{
6653
+ source: z.ZodLiteral<"generated">;
6654
+ seed: z.ZodString;
6655
+ }, z.core.$strip>], "source">;
6656
+ }, z.core.$strip>>>;
6152
6657
  }, z.core.$strip>>;
6153
6658
  me: z.ZodNullable<z.ZodObject<{
6154
6659
  participant: z.ZodString;
@@ -6156,6 +6661,27 @@ declare const deploymentPreviewSchema: z.ZodObject<{
6156
6661
  name: z.ZodString;
6157
6662
  score: z.ZodNumber;
6158
6663
  rank: z.ZodNumber;
6664
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
6665
+ id: z.ZodString;
6666
+ name: z.ZodString;
6667
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
6668
+ source: z.ZodLiteral<"upload">;
6669
+ url: z.ZodString;
6670
+ seed: z.ZodString;
6671
+ }, z.core.$strip>, z.ZodObject<{
6672
+ source: z.ZodLiteral<"account">;
6673
+ provider: z.ZodEnum<{
6674
+ discord: "discord";
6675
+ google: "google";
6676
+ x: "x";
6677
+ }>;
6678
+ url: z.ZodString;
6679
+ seed: z.ZodString;
6680
+ }, z.core.$strip>, z.ZodObject<{
6681
+ source: z.ZodLiteral<"generated">;
6682
+ seed: z.ZodString;
6683
+ }, z.core.$strip>], "source">;
6684
+ }, z.core.$strip>>>;
6159
6685
  }, z.core.$strip>>;
6160
6686
  nearby: z.ZodArray<z.ZodObject<{
6161
6687
  participant: z.ZodString;
@@ -6163,6 +6689,27 @@ declare const deploymentPreviewSchema: z.ZodObject<{
6163
6689
  name: z.ZodString;
6164
6690
  score: z.ZodNumber;
6165
6691
  rank: z.ZodNumber;
6692
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
6693
+ id: z.ZodString;
6694
+ name: z.ZodString;
6695
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
6696
+ source: z.ZodLiteral<"upload">;
6697
+ url: z.ZodString;
6698
+ seed: z.ZodString;
6699
+ }, z.core.$strip>, z.ZodObject<{
6700
+ source: z.ZodLiteral<"account">;
6701
+ provider: z.ZodEnum<{
6702
+ discord: "discord";
6703
+ google: "google";
6704
+ x: "x";
6705
+ }>;
6706
+ url: z.ZodString;
6707
+ seed: z.ZodString;
6708
+ }, z.core.$strip>, z.ZodObject<{
6709
+ source: z.ZodLiteral<"generated">;
6710
+ seed: z.ZodString;
6711
+ }, z.core.$strip>], "source">;
6712
+ }, z.core.$strip>>>;
6166
6713
  }, z.core.$strip>>;
6167
6714
  nextCursor: z.ZodNullable<z.ZodString>;
6168
6715
  }, z.core.$strip>>;
@@ -6188,6 +6735,27 @@ declare const deploymentPreviewSchema: z.ZodObject<{
6188
6735
  name: z.ZodString;
6189
6736
  score: z.ZodNumber;
6190
6737
  rank: z.ZodNumber;
6738
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
6739
+ id: z.ZodString;
6740
+ name: z.ZodString;
6741
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
6742
+ source: z.ZodLiteral<"upload">;
6743
+ url: z.ZodString;
6744
+ seed: z.ZodString;
6745
+ }, z.core.$strip>, z.ZodObject<{
6746
+ source: z.ZodLiteral<"account">;
6747
+ provider: z.ZodEnum<{
6748
+ discord: "discord";
6749
+ google: "google";
6750
+ x: "x";
6751
+ }>;
6752
+ url: z.ZodString;
6753
+ seed: z.ZodString;
6754
+ }, z.core.$strip>, z.ZodObject<{
6755
+ source: z.ZodLiteral<"generated">;
6756
+ seed: z.ZodString;
6757
+ }, z.core.$strip>], "source">;
6758
+ }, z.core.$strip>>>;
6191
6759
  }, z.core.$strip>>;
6192
6760
  me: z.ZodNullable<z.ZodObject<{
6193
6761
  participant: z.ZodString;
@@ -6195,6 +6763,27 @@ declare const deploymentPreviewSchema: z.ZodObject<{
6195
6763
  name: z.ZodString;
6196
6764
  score: z.ZodNumber;
6197
6765
  rank: z.ZodNumber;
6766
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
6767
+ id: z.ZodString;
6768
+ name: z.ZodString;
6769
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
6770
+ source: z.ZodLiteral<"upload">;
6771
+ url: z.ZodString;
6772
+ seed: z.ZodString;
6773
+ }, z.core.$strip>, z.ZodObject<{
6774
+ source: z.ZodLiteral<"account">;
6775
+ provider: z.ZodEnum<{
6776
+ discord: "discord";
6777
+ google: "google";
6778
+ x: "x";
6779
+ }>;
6780
+ url: z.ZodString;
6781
+ seed: z.ZodString;
6782
+ }, z.core.$strip>, z.ZodObject<{
6783
+ source: z.ZodLiteral<"generated">;
6784
+ seed: z.ZodString;
6785
+ }, z.core.$strip>], "source">;
6786
+ }, z.core.$strip>>>;
6198
6787
  }, z.core.$strip>>;
6199
6788
  nearby: z.ZodArray<z.ZodObject<{
6200
6789
  participant: z.ZodString;
@@ -6202,6 +6791,27 @@ declare const deploymentPreviewSchema: z.ZodObject<{
6202
6791
  name: z.ZodString;
6203
6792
  score: z.ZodNumber;
6204
6793
  rank: z.ZodNumber;
6794
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
6795
+ id: z.ZodString;
6796
+ name: z.ZodString;
6797
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
6798
+ source: z.ZodLiteral<"upload">;
6799
+ url: z.ZodString;
6800
+ seed: z.ZodString;
6801
+ }, z.core.$strip>, z.ZodObject<{
6802
+ source: z.ZodLiteral<"account">;
6803
+ provider: z.ZodEnum<{
6804
+ discord: "discord";
6805
+ google: "google";
6806
+ x: "x";
6807
+ }>;
6808
+ url: z.ZodString;
6809
+ seed: z.ZodString;
6810
+ }, z.core.$strip>, z.ZodObject<{
6811
+ source: z.ZodLiteral<"generated">;
6812
+ seed: z.ZodString;
6813
+ }, z.core.$strip>], "source">;
6814
+ }, z.core.$strip>>>;
6205
6815
  }, z.core.$strip>>;
6206
6816
  nextCursor: z.ZodNullable<z.ZodString>;
6207
6817
  }, z.core.$strip>;
@@ -6356,6 +6966,7 @@ declare const deploymentResultSchema: z.ZodObject<{
6356
6966
  }, z.core.$strict>, z.ZodObject<{
6357
6967
  kind: z.ZodLiteral<"custom">;
6358
6968
  namespace: z.ZodString;
6969
+ authors: z.ZodOptional<z.ZodLiteral<"wallet">>;
6359
6970
  }, z.core.$strict>], "kind">;
6360
6971
  window: z.ZodObject<{
6361
6972
  start: z.ZodNumber;
@@ -6567,6 +7178,17 @@ declare const deploymentResultSchema: z.ZodObject<{
6567
7178
  claim: "claim";
6568
7179
  }>>;
6569
7180
  }, z.core.$strict>>;
7181
+ tracker: z.ZodOptional<z.ZodObject<{
7182
+ tracker: z.ZodString;
7183
+ source: z.ZodEnum<{
7184
+ custom: "custom";
7185
+ "x-search": "x-search";
7186
+ }>;
7187
+ beneficiary: z.ZodEnum<{
7188
+ author: "author";
7189
+ "replied-to": "replied-to";
7190
+ }>;
7191
+ }, z.core.$strict>>;
6570
7192
  }, z.core.$strict>]>;
6571
7193
  performance: z.ZodOptional<z.ZodObject<{
6572
7194
  metrics: z.ZodArray<z.ZodEnum<{
@@ -6599,11 +7221,12 @@ declare const deploymentResultSchema: z.ZodObject<{
6599
7221
  budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
6600
7222
  id: z.ZodString;
6601
7223
  scope: z.ZodEnum<{
6602
- member: "member";
6603
7224
  project: "project";
7225
+ member: "member";
6604
7226
  }>;
6605
7227
  period: z.ZodEnum<{
6606
7228
  day: "day";
7229
+ week: "week";
6607
7230
  lifetime: "lifetime";
6608
7231
  }>;
6609
7232
  limit: z.ZodNumber;
@@ -6696,7 +7319,7 @@ declare const deploymentResultSchema: z.ZodObject<{
6696
7319
  createdAt: z.ZodNumber;
6697
7320
  }, z.core.$strip>, z.ZodTransform<{
6698
7321
  quest: string;
6699
- runtimeVersion: 1 | 2;
7322
+ runtimeVersion: 2 | 1;
6700
7323
  title: string;
6701
7324
  presentation: {
6702
7325
  quiz?: {
@@ -6733,12 +7356,12 @@ declare const deploymentResultSchema: z.ZodObject<{
6733
7356
  kind: "resource";
6734
7357
  default: string;
6735
7358
  source: {
7359
+ provider: "domino";
7360
+ resource: "point-ledger";
7361
+ } | {
6736
7362
  provider: "discord";
6737
7363
  resource: "channel";
6738
7364
  types: ("text" | "announcement")[];
6739
- } | {
6740
- provider: "domino";
6741
- resource: "point-ledger";
6742
7365
  } | {
6743
7366
  provider: "discord";
6744
7367
  resource: "role";
@@ -6839,6 +7462,11 @@ declare const deploymentResultSchema: z.ZodObject<{
6839
7462
  posts: "after-enrollment" | "since-start";
6840
7463
  historical: "staff" | "automatic" | "claim";
6841
7464
  } | undefined;
7465
+ tracker?: {
7466
+ tracker: string;
7467
+ source: "custom" | "x-search";
7468
+ beneficiary: "author" | "replied-to";
7469
+ } | undefined;
6842
7470
  } | {
6843
7471
  kind: "manual";
6844
7472
  input: "text";
@@ -6877,8 +7505,8 @@ declare const deploymentResultSchema: z.ZodObject<{
6877
7505
  visibility: "visible" | "hidden";
6878
7506
  budgets: {
6879
7507
  id: string;
6880
- scope: "member" | "project";
6881
- period: "day" | "lifetime";
7508
+ scope: "project" | "member";
7509
+ period: "day" | "week" | "lifetime";
6882
7510
  limit: number;
6883
7511
  cost: number | {
6884
7512
  balance: string;
@@ -7155,6 +7783,17 @@ declare const deploymentResultSchema: z.ZodObject<{
7155
7783
  claim: "claim";
7156
7784
  }>>;
7157
7785
  }, z.core.$strict>>;
7786
+ tracker: z.ZodOptional<z.ZodObject<{
7787
+ tracker: z.ZodString;
7788
+ source: z.ZodEnum<{
7789
+ custom: "custom";
7790
+ "x-search": "x-search";
7791
+ }>;
7792
+ beneficiary: z.ZodEnum<{
7793
+ author: "author";
7794
+ "replied-to": "replied-to";
7795
+ }>;
7796
+ }, z.core.$strict>>;
7158
7797
  }, z.core.$strict>]>;
7159
7798
  performance: z.ZodOptional<z.ZodObject<{
7160
7799
  metrics: z.ZodArray<z.ZodEnum<{
@@ -7187,11 +7826,12 @@ declare const deploymentResultSchema: z.ZodObject<{
7187
7826
  budgets: z.ZodDefault<z.ZodArray<z.ZodObject<{
7188
7827
  id: z.ZodString;
7189
7828
  scope: z.ZodEnum<{
7190
- member: "member";
7191
7829
  project: "project";
7830
+ member: "member";
7192
7831
  }>;
7193
7832
  period: z.ZodEnum<{
7194
7833
  day: "day";
7834
+ week: "week";
7195
7835
  lifetime: "lifetime";
7196
7836
  }>;
7197
7837
  limit: z.ZodNumber;
@@ -7216,10 +7856,10 @@ declare const deploymentResultSchema: z.ZodObject<{
7216
7856
  quests: z.ZodArray<z.ZodString>;
7217
7857
  }, z.core.$strict>>;
7218
7858
  supportedInteractions: z.ZodArray<z.ZodEnum<{
7859
+ staff: "staff";
7219
7860
  quiz: "quiz";
7220
- url: "url";
7221
7861
  text: "text";
7222
- staff: "staff";
7862
+ url: "url";
7223
7863
  photo: "photo";
7224
7864
  automatic: "automatic";
7225
7865
  claim: "claim";
@@ -7408,6 +8048,27 @@ declare const deploymentResultSchema: z.ZodObject<{
7408
8048
  name: z.ZodString;
7409
8049
  score: z.ZodNumber;
7410
8050
  rank: z.ZodNumber;
8051
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
8052
+ id: z.ZodString;
8053
+ name: z.ZodString;
8054
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
8055
+ source: z.ZodLiteral<"upload">;
8056
+ url: z.ZodString;
8057
+ seed: z.ZodString;
8058
+ }, z.core.$strip>, z.ZodObject<{
8059
+ source: z.ZodLiteral<"account">;
8060
+ provider: z.ZodEnum<{
8061
+ discord: "discord";
8062
+ google: "google";
8063
+ x: "x";
8064
+ }>;
8065
+ url: z.ZodString;
8066
+ seed: z.ZodString;
8067
+ }, z.core.$strip>, z.ZodObject<{
8068
+ source: z.ZodLiteral<"generated">;
8069
+ seed: z.ZodString;
8070
+ }, z.core.$strip>], "source">;
8071
+ }, z.core.$strip>>>;
7411
8072
  }, z.core.$strip>>;
7412
8073
  me: z.ZodNullable<z.ZodObject<{
7413
8074
  participant: z.ZodString;
@@ -7415,6 +8076,27 @@ declare const deploymentResultSchema: z.ZodObject<{
7415
8076
  name: z.ZodString;
7416
8077
  score: z.ZodNumber;
7417
8078
  rank: z.ZodNumber;
8079
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
8080
+ id: z.ZodString;
8081
+ name: z.ZodString;
8082
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
8083
+ source: z.ZodLiteral<"upload">;
8084
+ url: z.ZodString;
8085
+ seed: z.ZodString;
8086
+ }, z.core.$strip>, z.ZodObject<{
8087
+ source: z.ZodLiteral<"account">;
8088
+ provider: z.ZodEnum<{
8089
+ discord: "discord";
8090
+ google: "google";
8091
+ x: "x";
8092
+ }>;
8093
+ url: z.ZodString;
8094
+ seed: z.ZodString;
8095
+ }, z.core.$strip>, z.ZodObject<{
8096
+ source: z.ZodLiteral<"generated">;
8097
+ seed: z.ZodString;
8098
+ }, z.core.$strip>], "source">;
8099
+ }, z.core.$strip>>>;
7418
8100
  }, z.core.$strip>>;
7419
8101
  nearby: z.ZodArray<z.ZodObject<{
7420
8102
  participant: z.ZodString;
@@ -7422,6 +8104,27 @@ declare const deploymentResultSchema: z.ZodObject<{
7422
8104
  name: z.ZodString;
7423
8105
  score: z.ZodNumber;
7424
8106
  rank: z.ZodNumber;
8107
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
8108
+ id: z.ZodString;
8109
+ name: z.ZodString;
8110
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
8111
+ source: z.ZodLiteral<"upload">;
8112
+ url: z.ZodString;
8113
+ seed: z.ZodString;
8114
+ }, z.core.$strip>, z.ZodObject<{
8115
+ source: z.ZodLiteral<"account">;
8116
+ provider: z.ZodEnum<{
8117
+ discord: "discord";
8118
+ google: "google";
8119
+ x: "x";
8120
+ }>;
8121
+ url: z.ZodString;
8122
+ seed: z.ZodString;
8123
+ }, z.core.$strip>, z.ZodObject<{
8124
+ source: z.ZodLiteral<"generated">;
8125
+ seed: z.ZodString;
8126
+ }, z.core.$strip>], "source">;
8127
+ }, z.core.$strip>>>;
7425
8128
  }, z.core.$strip>>;
7426
8129
  nextCursor: z.ZodNullable<z.ZodString>;
7427
8130
  }, z.core.$strip>>;
@@ -7447,6 +8150,27 @@ declare const deploymentResultSchema: z.ZodObject<{
7447
8150
  name: z.ZodString;
7448
8151
  score: z.ZodNumber;
7449
8152
  rank: z.ZodNumber;
8153
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
8154
+ id: z.ZodString;
8155
+ name: z.ZodString;
8156
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
8157
+ source: z.ZodLiteral<"upload">;
8158
+ url: z.ZodString;
8159
+ seed: z.ZodString;
8160
+ }, z.core.$strip>, z.ZodObject<{
8161
+ source: z.ZodLiteral<"account">;
8162
+ provider: z.ZodEnum<{
8163
+ discord: "discord";
8164
+ google: "google";
8165
+ x: "x";
8166
+ }>;
8167
+ url: z.ZodString;
8168
+ seed: z.ZodString;
8169
+ }, z.core.$strip>, z.ZodObject<{
8170
+ source: z.ZodLiteral<"generated">;
8171
+ seed: z.ZodString;
8172
+ }, z.core.$strip>], "source">;
8173
+ }, z.core.$strip>>>;
7450
8174
  }, z.core.$strip>>;
7451
8175
  me: z.ZodNullable<z.ZodObject<{
7452
8176
  participant: z.ZodString;
@@ -7454,6 +8178,27 @@ declare const deploymentResultSchema: z.ZodObject<{
7454
8178
  name: z.ZodString;
7455
8179
  score: z.ZodNumber;
7456
8180
  rank: z.ZodNumber;
8181
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
8182
+ id: z.ZodString;
8183
+ name: z.ZodString;
8184
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
8185
+ source: z.ZodLiteral<"upload">;
8186
+ url: z.ZodString;
8187
+ seed: z.ZodString;
8188
+ }, z.core.$strip>, z.ZodObject<{
8189
+ source: z.ZodLiteral<"account">;
8190
+ provider: z.ZodEnum<{
8191
+ discord: "discord";
8192
+ google: "google";
8193
+ x: "x";
8194
+ }>;
8195
+ url: z.ZodString;
8196
+ seed: z.ZodString;
8197
+ }, z.core.$strip>, z.ZodObject<{
8198
+ source: z.ZodLiteral<"generated">;
8199
+ seed: z.ZodString;
8200
+ }, z.core.$strip>], "source">;
8201
+ }, z.core.$strip>>>;
7457
8202
  }, z.core.$strip>>;
7458
8203
  nearby: z.ZodArray<z.ZodObject<{
7459
8204
  participant: z.ZodString;
@@ -7461,6 +8206,27 @@ declare const deploymentResultSchema: z.ZodObject<{
7461
8206
  name: z.ZodString;
7462
8207
  score: z.ZodNumber;
7463
8208
  rank: z.ZodNumber;
8209
+ profile: z.ZodDefault<z.ZodNullable<z.ZodObject<{
8210
+ id: z.ZodString;
8211
+ name: z.ZodString;
8212
+ avatar: z.ZodDiscriminatedUnion<[z.ZodObject<{
8213
+ source: z.ZodLiteral<"upload">;
8214
+ url: z.ZodString;
8215
+ seed: z.ZodString;
8216
+ }, z.core.$strip>, z.ZodObject<{
8217
+ source: z.ZodLiteral<"account">;
8218
+ provider: z.ZodEnum<{
8219
+ discord: "discord";
8220
+ google: "google";
8221
+ x: "x";
8222
+ }>;
8223
+ url: z.ZodString;
8224
+ seed: z.ZodString;
8225
+ }, z.core.$strip>, z.ZodObject<{
8226
+ source: z.ZodLiteral<"generated">;
8227
+ seed: z.ZodString;
8228
+ }, z.core.$strip>], "source">;
8229
+ }, z.core.$strip>>>;
7464
8230
  }, z.core.$strip>>;
7465
8231
  nextCursor: z.ZodNullable<z.ZodString>;
7466
8232
  }, z.core.$strip>;
@@ -7730,7 +8496,7 @@ declare function createRelayClient(options: {
7730
8496
  accounts: {
7731
8497
  id: string;
7732
8498
  program: string;
7733
- kind: "milestone" | "fixed" | "bonus";
8499
+ kind: "fixed" | "milestone" | "bonus";
7734
8500
  balance: string;
7735
8501
  earned: number;
7736
8502
  settled: number;
@@ -7835,6 +8601,23 @@ declare function createRelayClient(options: {
7835
8601
  name: string;
7836
8602
  score: number;
7837
8603
  rank: number;
8604
+ profile: {
8605
+ id: string;
8606
+ name: string;
8607
+ avatar: {
8608
+ source: "upload";
8609
+ url: string;
8610
+ seed: string;
8611
+ } | {
8612
+ source: "account";
8613
+ provider: "discord" | "google" | "x";
8614
+ url: string;
8615
+ seed: string;
8616
+ } | {
8617
+ source: "generated";
8618
+ seed: string;
8619
+ };
8620
+ } | null;
7838
8621
  member?: string | undefined;
7839
8622
  }[];
7840
8623
  me: {
@@ -7842,6 +8625,23 @@ declare function createRelayClient(options: {
7842
8625
  name: string;
7843
8626
  score: number;
7844
8627
  rank: number;
8628
+ profile: {
8629
+ id: string;
8630
+ name: string;
8631
+ avatar: {
8632
+ source: "upload";
8633
+ url: string;
8634
+ seed: string;
8635
+ } | {
8636
+ source: "account";
8637
+ provider: "discord" | "google" | "x";
8638
+ url: string;
8639
+ seed: string;
8640
+ } | {
8641
+ source: "generated";
8642
+ seed: string;
8643
+ };
8644
+ } | null;
7845
8645
  member?: string | undefined;
7846
8646
  } | null;
7847
8647
  nearby: {
@@ -7849,11 +8649,183 @@ declare function createRelayClient(options: {
7849
8649
  name: string;
7850
8650
  score: number;
7851
8651
  rank: number;
8652
+ profile: {
8653
+ id: string;
8654
+ name: string;
8655
+ avatar: {
8656
+ source: "upload";
8657
+ url: string;
8658
+ seed: string;
8659
+ } | {
8660
+ source: "account";
8661
+ provider: "discord" | "google" | "x";
8662
+ url: string;
8663
+ seed: string;
8664
+ } | {
8665
+ source: "generated";
8666
+ seed: string;
8667
+ };
8668
+ } | null;
7852
8669
  member?: string | undefined;
7853
8670
  }[];
7854
8671
  nextCursor: string | null;
7855
8672
  }>;
7856
8673
  };
8674
+ /**
8675
+ * Participant profiles: the display name and avatar other participants see where the project
8676
+ * enables profiles in Console. Render an avatar with `avatarSrc(profile.avatar)`.
8677
+ */
8678
+ profiles: {
8679
+ /** The signed-in member's own profile, whatever the project shows to others. */
8680
+ mine: () => Promise<{
8681
+ id: string;
8682
+ name: string;
8683
+ avatar: {
8684
+ source: "upload";
8685
+ url: string;
8686
+ seed: string;
8687
+ } | {
8688
+ source: "account";
8689
+ provider: "discord" | "google" | "x";
8690
+ url: string;
8691
+ seed: string;
8692
+ } | {
8693
+ source: "generated";
8694
+ seed: string;
8695
+ };
8696
+ displayName: string | null;
8697
+ avatarChoice: "default" | "account" | "generated" | "upload";
8698
+ avatarProvider: "discord" | "google" | "x" | null;
8699
+ hidden: boolean;
8700
+ locked: boolean;
8701
+ visibility: "participants" | "public" | "private";
8702
+ options: {
8703
+ provider: "discord" | "google" | "x";
8704
+ name: string | null;
8705
+ imageUrl: string | null;
8706
+ }[];
8707
+ }>;
8708
+ /**
8709
+ * Changes the member's own name, avatar choice or visibility; omitted fields stay, and null
8710
+ * returns to the default. `session` (the ID the app read) makes a changed session a 409.
8711
+ */
8712
+ update: (input: ProfileUpdate, options?: {
8713
+ session?: string;
8714
+ }) => Promise<{
8715
+ id: string;
8716
+ name: string;
8717
+ avatar: {
8718
+ source: "upload";
8719
+ url: string;
8720
+ seed: string;
8721
+ } | {
8722
+ source: "account";
8723
+ provider: "discord" | "google" | "x";
8724
+ url: string;
8725
+ seed: string;
8726
+ } | {
8727
+ source: "generated";
8728
+ seed: string;
8729
+ };
8730
+ displayName: string | null;
8731
+ avatarChoice: "default" | "account" | "generated" | "upload";
8732
+ avatarProvider: "discord" | "google" | "x" | null;
8733
+ hidden: boolean;
8734
+ locked: boolean;
8735
+ visibility: "participants" | "public" | "private";
8736
+ options: {
8737
+ provider: "discord" | "google" | "x";
8738
+ name: string | null;
8739
+ imageUrl: string | null;
8740
+ }[];
8741
+ }>;
8742
+ /**
8743
+ * Uploads a JPEG, PNG or WebP of at most 5 MB as the member's avatar. The server crops it to
8744
+ * a 512×512 WebP without metadata. Retrying with the same `uploadId` is idempotent.
8745
+ */
8746
+ uploadAvatar: (file: Blob, options?: {
8747
+ uploadId?: string;
8748
+ session?: string;
8749
+ }) => Promise<{
8750
+ id: string;
8751
+ name: string;
8752
+ avatar: {
8753
+ source: "upload";
8754
+ url: string;
8755
+ seed: string;
8756
+ } | {
8757
+ source: "account";
8758
+ provider: "discord" | "google" | "x";
8759
+ url: string;
8760
+ seed: string;
8761
+ } | {
8762
+ source: "generated";
8763
+ seed: string;
8764
+ };
8765
+ displayName: string | null;
8766
+ avatarChoice: "default" | "account" | "generated" | "upload";
8767
+ avatarProvider: "discord" | "google" | "x" | null;
8768
+ hidden: boolean;
8769
+ locked: boolean;
8770
+ visibility: "participants" | "public" | "private";
8771
+ options: {
8772
+ provider: "discord" | "google" | "x";
8773
+ name: string | null;
8774
+ imageUrl: string | null;
8775
+ }[];
8776
+ }>;
8777
+ /**
8778
+ * A profile page by its public ID (`profile.id` from a leaderboard row or `mine()`). A
8779
+ * profile that is missing, hidden or not visible to this viewer is a 404.
8780
+ */
8781
+ get: (profile: string) => Promise<{
8782
+ id: string;
8783
+ name: string;
8784
+ avatar: {
8785
+ source: "upload";
8786
+ url: string;
8787
+ seed: string;
8788
+ } | {
8789
+ source: "account";
8790
+ provider: "discord" | "google" | "x";
8791
+ url: string;
8792
+ seed: string;
8793
+ } | {
8794
+ source: "generated";
8795
+ seed: string;
8796
+ };
8797
+ self: boolean;
8798
+ leaderboards: {
8799
+ leaderboard: string;
8800
+ title: string;
8801
+ rank: number;
8802
+ score: number;
8803
+ total: number;
8804
+ key?: string | undefined;
8805
+ }[] | null;
8806
+ quests: {
8807
+ quest: string;
8808
+ title: string;
8809
+ completions: number;
8810
+ lastCompletedAt: number | null;
8811
+ key?: string | undefined;
8812
+ }[] | null;
8813
+ referrals: {
8814
+ attributed: number;
8815
+ programs: {
8816
+ program: string;
8817
+ title: string;
8818
+ qualified: number;
8819
+ milestones: {
8820
+ id: string;
8821
+ count: number;
8822
+ reached: boolean;
8823
+ }[];
8824
+ key?: string | undefined;
8825
+ }[];
8826
+ } | null;
8827
+ }>;
8828
+ };
7857
8829
  quests: {
7858
8830
  get: (id: string) => Promise<{
7859
8831
  quest: string;
@@ -7878,7 +8850,7 @@ declare function createRelayClient(options: {
7878
8850
  } | undefined;
7879
8851
  } | undefined;
7880
8852
  };
7881
- connections: ("google" | "apple" | "x" | "discord")[];
8853
+ connections: ("discord" | "google" | "apple" | "x")[];
7882
8854
  trigger: {
7883
8855
  kind: "automatic";
7884
8856
  observation?: {
@@ -7895,6 +8867,11 @@ declare function createRelayClient(options: {
7895
8867
  posts: "after-enrollment" | "since-start";
7896
8868
  historical: "staff" | "automatic" | "claim";
7897
8869
  } | undefined;
8870
+ tracker?: {
8871
+ tracker: string;
8872
+ source: "custom" | "x-search";
8873
+ beneficiary: "author" | "replied-to";
8874
+ } | undefined;
7898
8875
  } | {
7899
8876
  kind: "manual";
7900
8877
  input: "text";
@@ -7919,7 +8896,7 @@ declare function createRelayClient(options: {
7919
8896
  };
7920
8897
  availability: {
7921
8898
  kind: "available";
7922
- input: "quiz" | "url" | "text" | "photo" | "none";
8899
+ input: "quiz" | "text" | "url" | "photo" | "none";
7923
8900
  } | {
7924
8901
  kind: "completed";
7925
8902
  } | {
@@ -7968,7 +8945,7 @@ declare function createRelayClient(options: {
7968
8945
  quest: string;
7969
8946
  member: string;
7970
8947
  evidence: string | null;
7971
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
8948
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
7972
8949
  reason: string | null;
7973
8950
  retries: number;
7974
8951
  generation: number;
@@ -8016,7 +8993,7 @@ declare function createRelayClient(options: {
8016
8993
  } | undefined;
8017
8994
  } | null;
8018
8995
  release: string;
8019
- interaction: "quiz" | "url" | "text" | "staff" | "photo" | "automatic" | "claim";
8996
+ interaction: "staff" | "quiz" | "text" | "url" | "photo" | "automatic" | "claim";
8020
8997
  lifecycle: "active" | "paused" | "archived";
8021
8998
  rewards: ({
8022
8999
  kind: "points";
@@ -8078,7 +9055,7 @@ declare function createRelayClient(options: {
8078
9055
  quest: string;
8079
9056
  member: string;
8080
9057
  evidence: string | null;
8081
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
9058
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
8082
9059
  reason: string | null;
8083
9060
  retries: number;
8084
9061
  generation: number;
@@ -8150,7 +9127,7 @@ declare function createRelayClient(options: {
8150
9127
  } | undefined;
8151
9128
  } | undefined;
8152
9129
  };
8153
- connections: ("google" | "apple" | "x" | "discord")[];
9130
+ connections: ("discord" | "google" | "apple" | "x")[];
8154
9131
  trigger: {
8155
9132
  kind: "automatic";
8156
9133
  observation?: {
@@ -8167,6 +9144,11 @@ declare function createRelayClient(options: {
8167
9144
  posts: "after-enrollment" | "since-start";
8168
9145
  historical: "staff" | "automatic" | "claim";
8169
9146
  } | undefined;
9147
+ tracker?: {
9148
+ tracker: string;
9149
+ source: "custom" | "x-search";
9150
+ beneficiary: "author" | "replied-to";
9151
+ } | undefined;
8170
9152
  } | {
8171
9153
  kind: "manual";
8172
9154
  input: "text";
@@ -8191,7 +9173,7 @@ declare function createRelayClient(options: {
8191
9173
  };
8192
9174
  availability: {
8193
9175
  kind: "available";
8194
- input: "quiz" | "url" | "text" | "photo" | "none";
9176
+ input: "quiz" | "text" | "url" | "photo" | "none";
8195
9177
  } | {
8196
9178
  kind: "completed";
8197
9179
  } | {
@@ -8240,7 +9222,7 @@ declare function createRelayClient(options: {
8240
9222
  quest: string;
8241
9223
  member: string;
8242
9224
  evidence: string | null;
8243
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
9225
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
8244
9226
  reason: string | null;
8245
9227
  retries: number;
8246
9228
  generation: number;
@@ -8288,7 +9270,7 @@ declare function createRelayClient(options: {
8288
9270
  } | undefined;
8289
9271
  } | null;
8290
9272
  release: string;
8291
- interaction: "quiz" | "url" | "text" | "staff" | "photo" | "automatic" | "claim";
9273
+ interaction: "staff" | "quiz" | "text" | "url" | "photo" | "automatic" | "claim";
8292
9274
  lifecycle: "active" | "paused" | "archived";
8293
9275
  rewards: ({
8294
9276
  kind: "points";
@@ -8370,7 +9352,7 @@ declare function createRelayClient(options: {
8370
9352
  } | undefined;
8371
9353
  } | undefined;
8372
9354
  };
8373
- connections: ("google" | "apple" | "x" | "discord")[];
9355
+ connections: ("discord" | "google" | "apple" | "x")[];
8374
9356
  trigger: {
8375
9357
  kind: "automatic";
8376
9358
  observation?: {
@@ -8387,6 +9369,11 @@ declare function createRelayClient(options: {
8387
9369
  posts: "after-enrollment" | "since-start";
8388
9370
  historical: "staff" | "automatic" | "claim";
8389
9371
  } | undefined;
9372
+ tracker?: {
9373
+ tracker: string;
9374
+ source: "custom" | "x-search";
9375
+ beneficiary: "author" | "replied-to";
9376
+ } | undefined;
8390
9377
  } | {
8391
9378
  kind: "manual";
8392
9379
  input: "text";
@@ -8411,7 +9398,7 @@ declare function createRelayClient(options: {
8411
9398
  };
8412
9399
  availability: {
8413
9400
  kind: "available";
8414
- input: "quiz" | "url" | "text" | "photo" | "none";
9401
+ input: "quiz" | "text" | "url" | "photo" | "none";
8415
9402
  } | {
8416
9403
  kind: "completed";
8417
9404
  } | {
@@ -8460,7 +9447,7 @@ declare function createRelayClient(options: {
8460
9447
  quest: string;
8461
9448
  member: string;
8462
9449
  evidence: string | null;
8463
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
9450
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
8464
9451
  reason: string | null;
8465
9452
  retries: number;
8466
9453
  generation: number;
@@ -8508,7 +9495,7 @@ declare function createRelayClient(options: {
8508
9495
  } | undefined;
8509
9496
  } | null;
8510
9497
  release: string;
8511
- interaction: "quiz" | "url" | "text" | "staff" | "photo" | "automatic" | "claim";
9498
+ interaction: "staff" | "quiz" | "text" | "url" | "photo" | "automatic" | "claim";
8512
9499
  lifecycle: "active" | "paused" | "archived";
8513
9500
  rewards: ({
8514
9501
  kind: "points";
@@ -8593,7 +9580,7 @@ declare function createRelayClient(options: {
8593
9580
  } | undefined;
8594
9581
  } | undefined;
8595
9582
  };
8596
- connections: ("google" | "apple" | "x" | "discord")[];
9583
+ connections: ("discord" | "google" | "apple" | "x")[];
8597
9584
  trigger: {
8598
9585
  kind: "automatic";
8599
9586
  observation?: {
@@ -8610,6 +9597,11 @@ declare function createRelayClient(options: {
8610
9597
  posts: "after-enrollment" | "since-start";
8611
9598
  historical: "staff" | "automatic" | "claim";
8612
9599
  } | undefined;
9600
+ tracker?: {
9601
+ tracker: string;
9602
+ source: "custom" | "x-search";
9603
+ beneficiary: "author" | "replied-to";
9604
+ } | undefined;
8613
9605
  } | {
8614
9606
  kind: "manual";
8615
9607
  input: "text";
@@ -8634,7 +9626,7 @@ declare function createRelayClient(options: {
8634
9626
  };
8635
9627
  availability: {
8636
9628
  kind: "available";
8637
- input: "quiz" | "url" | "text" | "photo" | "none";
9629
+ input: "quiz" | "text" | "url" | "photo" | "none";
8638
9630
  } | {
8639
9631
  kind: "completed";
8640
9632
  } | {
@@ -8683,7 +9675,7 @@ declare function createRelayClient(options: {
8683
9675
  quest: string;
8684
9676
  member: string;
8685
9677
  evidence: string | null;
8686
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
9678
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
8687
9679
  reason: string | null;
8688
9680
  retries: number;
8689
9681
  generation: number;
@@ -8731,7 +9723,7 @@ declare function createRelayClient(options: {
8731
9723
  } | undefined;
8732
9724
  } | null;
8733
9725
  release: string;
8734
- interaction: "quiz" | "url" | "text" | "staff" | "photo" | "automatic" | "claim";
9726
+ interaction: "staff" | "quiz" | "text" | "url" | "photo" | "automatic" | "claim";
8735
9727
  lifecycle: "active" | "paused" | "archived";
8736
9728
  rewards: ({
8737
9729
  kind: "points";
@@ -8795,6 +9787,48 @@ declare function createRelayClient(options: {
8795
9787
  maxBackoffMs?: number;
8796
9788
  }) => ProgressObserver;
8797
9789
  };
9790
+ /** The signed-in member's linked Solana, EVM and Cosmos wallets for this project. */
9791
+ wallets: {
9792
+ list: () => Promise<{
9793
+ chain: "solana" | "eip155" | "cosmos";
9794
+ network: "cosmos:pio-mainnet-1" | "cosmos:pio-testnet-1" | null;
9795
+ address: string;
9796
+ verifiedAt: number;
9797
+ revision: number;
9798
+ signIn: boolean;
9799
+ }[]>;
9800
+ challenge: (input: WalletAddressInput, session: string) => Promise<{
9801
+ id: string;
9802
+ purpose: "link" | "sign-in";
9803
+ chain: "solana" | "eip155" | "cosmos";
9804
+ network: "cosmos:pio-mainnet-1" | "cosmos:pio-testnet-1" | null;
9805
+ address: string;
9806
+ message: string;
9807
+ expiresAt: number;
9808
+ }>;
9809
+ verify: (input: z.input<typeof walletSignatureSchema>, session: string) => Promise<{
9810
+ chain: "solana" | "eip155" | "cosmos";
9811
+ network: "cosmos:pio-mainnet-1" | "cosmos:pio-testnet-1" | null;
9812
+ address: string;
9813
+ verifiedAt: number;
9814
+ revision: number;
9815
+ signIn: boolean;
9816
+ }>;
9817
+ /** The address stays bound to this member: another member still cannot link it. */
9818
+ unlink: (wallet: Pick<LinkedWallet, "chain" | "address">) => Promise<{
9819
+ ok: true;
9820
+ }>;
9821
+ /** Asks the signer for its address, signs the returned challenge, and links the wallet. */
9822
+ link: (signer: WalletSigner) => Promise<{
9823
+ chain: "solana" | "eip155" | "cosmos";
9824
+ network: "cosmos:pio-mainnet-1" | "cosmos:pio-testnet-1" | null;
9825
+ address: string;
9826
+ verifiedAt: number;
9827
+ revision: number;
9828
+ signIn: boolean;
9829
+ }>;
9830
+ };
9831
+ /** @deprecated Use `wallets` (multi-chain). This reads and replaces the newest Solana wallet. */
8798
9832
  wallet: {
8799
9833
  connection: () => Promise<{
8800
9834
  chain: "solana";
@@ -8819,10 +9853,11 @@ declare function createRelayClient(options: {
8819
9853
  auth: {
8820
9854
  providers: () => Promise<{
8821
9855
  providers: {
8822
- provider: "google" | "apple" | "x" | "discord";
9856
+ provider: "discord" | "google" | "apple" | "x";
8823
9857
  configured: boolean;
8824
9858
  }[];
8825
9859
  email: boolean;
9860
+ wallets: ("solana" | "eip155" | "cosmos:pio-mainnet-1" | "cosmos:pio-testnet-1")[];
8826
9861
  demo: boolean;
8827
9862
  }>;
8828
9863
  start: (provider: AuthProvider, mode: "sign-in" | "connect") => Promise<{
@@ -8848,8 +9883,63 @@ declare function createRelayClient(options: {
8848
9883
  };
8849
9884
  expiresAt: number;
8850
9885
  }>;
9886
+ /**
9887
+ * Sign in, or sign up, with a Solana, EVM or Cosmos wallet where the project enabled it
9888
+ * (`providers().wallets`). A wallet the member linked while signed in cannot sign in.
9889
+ */
9890
+ wallet: {
9891
+ /** A sign-in challenge for the wallet's address; binds the flow to this browser. */
9892
+ start: (input: WalletAddressInput) => Promise<{
9893
+ id: string;
9894
+ purpose: "link" | "sign-in";
9895
+ chain: "solana" | "eip155" | "cosmos";
9896
+ network: "cosmos:pio-mainnet-1" | "cosmos:pio-testnet-1" | null;
9897
+ address: string;
9898
+ message: string;
9899
+ expiresAt: number;
9900
+ }>;
9901
+ /** Verifies the signed challenge and starts the session. Not retried: start again instead. */
9902
+ verify: (proof: WalletSignature) => Promise<{
9903
+ organization: string;
9904
+ project: string;
9905
+ environment: "test" | "live";
9906
+ id: string;
9907
+ principal: {
9908
+ kind: "member";
9909
+ member: string;
9910
+ } | {
9911
+ kind: "staff";
9912
+ subject: string;
9913
+ } | {
9914
+ kind: "operator";
9915
+ subject: string;
9916
+ };
9917
+ expiresAt: number;
9918
+ }>;
9919
+ /**
9920
+ * Asks the signer for its address, signs the challenge and starts the session. Throws a
9921
+ * `RelayError` with status 403 when the project has not enabled this wallet's network.
9922
+ */
9923
+ signIn: (signer: WalletSigner) => Promise<{
9924
+ organization: string;
9925
+ project: string;
9926
+ environment: "test" | "live";
9927
+ id: string;
9928
+ principal: {
9929
+ kind: "member";
9930
+ member: string;
9931
+ } | {
9932
+ kind: "staff";
9933
+ subject: string;
9934
+ } | {
9935
+ kind: "operator";
9936
+ subject: string;
9937
+ };
9938
+ expiresAt: number;
9939
+ }>;
9940
+ };
8851
9941
  accounts: () => Promise<{
8852
- provider: "google" | "apple" | "x" | "discord";
9942
+ provider: "discord" | "google" | "apple" | "x";
8853
9943
  configured: boolean;
8854
9944
  status: "disconnected" | "connected" | "reconnect";
8855
9945
  subject: string | null;
@@ -8906,6 +9996,11 @@ declare function createRelayClient(options: {
8906
9996
  }>;
8907
9997
  };
8908
9998
  me: {
9999
+ /** The signed-in member, and the seed of their generated avatar: `defaultAvatar(avatarSeed)`. */
10000
+ get: () => Promise<{
10001
+ member: string;
10002
+ avatarSeed: string;
10003
+ }>;
8909
10004
  observeProgress: (listener: (value: ProgressObservation) => void, options?: {
8910
10005
  intervalMs?: number;
8911
10006
  maxBackoffMs?: number;
@@ -8948,7 +10043,7 @@ declare function createRelayClient(options: {
8948
10043
  quest: string;
8949
10044
  member: string;
8950
10045
  evidence: string | null;
8951
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
10046
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
8952
10047
  reason: string | null;
8953
10048
  retries: number;
8954
10049
  generation: number;
@@ -9020,7 +10115,7 @@ declare function createRelayClient(options: {
9020
10115
  } | undefined;
9021
10116
  } | undefined;
9022
10117
  };
9023
- connections: ("google" | "apple" | "x" | "discord")[];
10118
+ connections: ("discord" | "google" | "apple" | "x")[];
9024
10119
  trigger: {
9025
10120
  kind: "automatic";
9026
10121
  observation?: {
@@ -9037,6 +10132,11 @@ declare function createRelayClient(options: {
9037
10132
  posts: "after-enrollment" | "since-start";
9038
10133
  historical: "staff" | "automatic" | "claim";
9039
10134
  } | undefined;
10135
+ tracker?: {
10136
+ tracker: string;
10137
+ source: "custom" | "x-search";
10138
+ beneficiary: "author" | "replied-to";
10139
+ } | undefined;
9040
10140
  } | {
9041
10141
  kind: "manual";
9042
10142
  input: "text";
@@ -9061,7 +10161,7 @@ declare function createRelayClient(options: {
9061
10161
  };
9062
10162
  availability: {
9063
10163
  kind: "available";
9064
- input: "quiz" | "url" | "text" | "photo" | "none";
10164
+ input: "quiz" | "text" | "url" | "photo" | "none";
9065
10165
  } | {
9066
10166
  kind: "completed";
9067
10167
  } | {
@@ -9110,7 +10210,7 @@ declare function createRelayClient(options: {
9110
10210
  quest: string;
9111
10211
  member: string;
9112
10212
  evidence: string | null;
9113
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
10213
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
9114
10214
  reason: string | null;
9115
10215
  retries: number;
9116
10216
  generation: number;
@@ -9277,7 +10377,7 @@ declare function createRelayClient(options: {
9277
10377
  provider: "discord";
9278
10378
  action: "grant-role";
9279
10379
  roleId: string;
9280
- status: "pending" | "failed" | "delivered";
10380
+ status: "failed" | "pending" | "delivered";
9281
10381
  attempts: number;
9282
10382
  nextAt: number;
9283
10383
  lastError: string | null;
@@ -9293,7 +10393,7 @@ declare function createRelayClient(options: {
9293
10393
  quest: string;
9294
10394
  member: string;
9295
10395
  evidence: string | null;
9296
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
10396
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
9297
10397
  reason: string | null;
9298
10398
  retries: number;
9299
10399
  generation: number;
@@ -9361,7 +10461,7 @@ declare function createRelayClient(options: {
9361
10461
  code: string;
9362
10462
  definition: {
9363
10463
  quest: string;
9364
- runtimeVersion: 1 | 2;
10464
+ runtimeVersion: 2 | 1;
9365
10465
  title: string;
9366
10466
  presentation: {
9367
10467
  quiz?: {
@@ -9398,12 +10498,12 @@ declare function createRelayClient(options: {
9398
10498
  kind: "resource";
9399
10499
  default: string;
9400
10500
  source: {
10501
+ provider: "domino";
10502
+ resource: "point-ledger";
10503
+ } | {
9401
10504
  provider: "discord";
9402
10505
  resource: "channel";
9403
10506
  types: ("text" | "announcement")[];
9404
- } | {
9405
- provider: "domino";
9406
- resource: "point-ledger";
9407
10507
  } | {
9408
10508
  provider: "discord";
9409
10509
  resource: "role";
@@ -9504,6 +10604,11 @@ declare function createRelayClient(options: {
9504
10604
  posts: "after-enrollment" | "since-start";
9505
10605
  historical: "staff" | "automatic" | "claim";
9506
10606
  } | undefined;
10607
+ tracker?: {
10608
+ tracker: string;
10609
+ source: "custom" | "x-search";
10610
+ beneficiary: "author" | "replied-to";
10611
+ } | undefined;
9507
10612
  } | {
9508
10613
  kind: "manual";
9509
10614
  input: "text";
@@ -9542,8 +10647,8 @@ declare function createRelayClient(options: {
9542
10647
  visibility: "visible" | "hidden";
9543
10648
  budgets: {
9544
10649
  id: string;
9545
- scope: "member" | "project";
9546
- period: "day" | "lifetime";
10650
+ scope: "project" | "member";
10651
+ period: "day" | "week" | "lifetime";
9547
10652
  limit: number;
9548
10653
  cost: number | {
9549
10654
  balance: string;
@@ -9560,7 +10665,7 @@ declare function createRelayClient(options: {
9560
10665
  code: string;
9561
10666
  definition: {
9562
10667
  quest: string;
9563
- runtimeVersion: 1 | 2;
10668
+ runtimeVersion: 2 | 1;
9564
10669
  title: string;
9565
10670
  presentation: {
9566
10671
  quiz?: {
@@ -9597,12 +10702,12 @@ declare function createRelayClient(options: {
9597
10702
  kind: "resource";
9598
10703
  default: string;
9599
10704
  source: {
10705
+ provider: "domino";
10706
+ resource: "point-ledger";
10707
+ } | {
9600
10708
  provider: "discord";
9601
10709
  resource: "channel";
9602
10710
  types: ("text" | "announcement")[];
9603
- } | {
9604
- provider: "domino";
9605
- resource: "point-ledger";
9606
10711
  } | {
9607
10712
  provider: "discord";
9608
10713
  resource: "role";
@@ -9703,6 +10808,11 @@ declare function createRelayClient(options: {
9703
10808
  posts: "after-enrollment" | "since-start";
9704
10809
  historical: "staff" | "automatic" | "claim";
9705
10810
  } | undefined;
10811
+ tracker?: {
10812
+ tracker: string;
10813
+ source: "custom" | "x-search";
10814
+ beneficiary: "author" | "replied-to";
10815
+ } | undefined;
9706
10816
  } | {
9707
10817
  kind: "manual";
9708
10818
  input: "text";
@@ -9741,8 +10851,8 @@ declare function createRelayClient(options: {
9741
10851
  visibility: "visible" | "hidden";
9742
10852
  budgets: {
9743
10853
  id: string;
9744
- scope: "member" | "project";
9745
- period: "day" | "lifetime";
10854
+ scope: "project" | "member";
10855
+ period: "day" | "week" | "lifetime";
9746
10856
  limit: number;
9747
10857
  cost: number | {
9748
10858
  balance: string;
@@ -9758,7 +10868,7 @@ declare function createRelayClient(options: {
9758
10868
  snapshot: () => Promise<{
9759
10869
  releases: {
9760
10870
  quest: string;
9761
- runtimeVersion: 1 | 2;
10871
+ runtimeVersion: 2 | 1;
9762
10872
  title: string;
9763
10873
  presentation: {
9764
10874
  quiz?: {
@@ -9795,12 +10905,12 @@ declare function createRelayClient(options: {
9795
10905
  kind: "resource";
9796
10906
  default: string;
9797
10907
  source: {
10908
+ provider: "domino";
10909
+ resource: "point-ledger";
10910
+ } | {
9798
10911
  provider: "discord";
9799
10912
  resource: "channel";
9800
10913
  types: ("text" | "announcement")[];
9801
- } | {
9802
- provider: "domino";
9803
- resource: "point-ledger";
9804
10914
  } | {
9805
10915
  provider: "discord";
9806
10916
  resource: "role";
@@ -9901,6 +11011,11 @@ declare function createRelayClient(options: {
9901
11011
  posts: "after-enrollment" | "since-start";
9902
11012
  historical: "staff" | "automatic" | "claim";
9903
11013
  } | undefined;
11014
+ tracker?: {
11015
+ tracker: string;
11016
+ source: "custom" | "x-search";
11017
+ beneficiary: "author" | "replied-to";
11018
+ } | undefined;
9904
11019
  } | {
9905
11020
  kind: "manual";
9906
11021
  input: "text";
@@ -9939,8 +11054,8 @@ declare function createRelayClient(options: {
9939
11054
  visibility: "visible" | "hidden";
9940
11055
  budgets: {
9941
11056
  id: string;
9942
- scope: "member" | "project";
9943
- period: "day" | "lifetime";
11057
+ scope: "project" | "member";
11058
+ period: "day" | "week" | "lifetime";
9944
11059
  limit: number;
9945
11060
  cost: number | {
9946
11061
  balance: string;
@@ -10071,7 +11186,7 @@ declare function createRelayClient(options: {
10071
11186
  quest: string;
10072
11187
  member: string;
10073
11188
  evidence: string | null;
10074
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
11189
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
10075
11190
  reason: string | null;
10076
11191
  retries: number;
10077
11192
  generation: number;
@@ -10137,7 +11252,7 @@ declare function createRelayClient(options: {
10137
11252
  /** @deprecated The participant API rejects publication. Publish with `domino deploy` or the management API. */
10138
11253
  publish: (release: ReleaseInput) => Promise<{
10139
11254
  quest: string;
10140
- runtimeVersion: 1 | 2;
11255
+ runtimeVersion: 2 | 1;
10141
11256
  title: string;
10142
11257
  presentation: {
10143
11258
  quiz?: {
@@ -10174,12 +11289,12 @@ declare function createRelayClient(options: {
10174
11289
  kind: "resource";
10175
11290
  default: string;
10176
11291
  source: {
11292
+ provider: "domino";
11293
+ resource: "point-ledger";
11294
+ } | {
10177
11295
  provider: "discord";
10178
11296
  resource: "channel";
10179
11297
  types: ("text" | "announcement")[];
10180
- } | {
10181
- provider: "domino";
10182
- resource: "point-ledger";
10183
11298
  } | {
10184
11299
  provider: "discord";
10185
11300
  resource: "role";
@@ -10280,6 +11395,11 @@ declare function createRelayClient(options: {
10280
11395
  posts: "after-enrollment" | "since-start";
10281
11396
  historical: "staff" | "automatic" | "claim";
10282
11397
  } | undefined;
11398
+ tracker?: {
11399
+ tracker: string;
11400
+ source: "custom" | "x-search";
11401
+ beneficiary: "author" | "replied-to";
11402
+ } | undefined;
10283
11403
  } | {
10284
11404
  kind: "manual";
10285
11405
  input: "text";
@@ -10318,8 +11438,8 @@ declare function createRelayClient(options: {
10318
11438
  visibility: "visible" | "hidden";
10319
11439
  budgets: {
10320
11440
  id: string;
10321
- scope: "member" | "project";
10322
- period: "day" | "lifetime";
11441
+ scope: "project" | "member";
11442
+ period: "day" | "week" | "lifetime";
10323
11443
  limit: number;
10324
11444
  cost: number | {
10325
11445
  balance: string;
@@ -10364,7 +11484,7 @@ declare function createRelayClient(options: {
10364
11484
  /** @deprecated The participant API rejects publication. Publish with `domino deploy` or the management API. */
10365
11485
  publishBatch: (releases: ReleaseInput[]) => Promise<{
10366
11486
  quest: string;
10367
- runtimeVersion: 1 | 2;
11487
+ runtimeVersion: 2 | 1;
10368
11488
  title: string;
10369
11489
  presentation: {
10370
11490
  quiz?: {
@@ -10401,12 +11521,12 @@ declare function createRelayClient(options: {
10401
11521
  kind: "resource";
10402
11522
  default: string;
10403
11523
  source: {
11524
+ provider: "domino";
11525
+ resource: "point-ledger";
11526
+ } | {
10404
11527
  provider: "discord";
10405
11528
  resource: "channel";
10406
11529
  types: ("text" | "announcement")[];
10407
- } | {
10408
- provider: "domino";
10409
- resource: "point-ledger";
10410
11530
  } | {
10411
11531
  provider: "discord";
10412
11532
  resource: "role";
@@ -10507,6 +11627,11 @@ declare function createRelayClient(options: {
10507
11627
  posts: "after-enrollment" | "since-start";
10508
11628
  historical: "staff" | "automatic" | "claim";
10509
11629
  } | undefined;
11630
+ tracker?: {
11631
+ tracker: string;
11632
+ source: "custom" | "x-search";
11633
+ beneficiary: "author" | "replied-to";
11634
+ } | undefined;
10510
11635
  } | {
10511
11636
  kind: "manual";
10512
11637
  input: "text";
@@ -10545,8 +11670,8 @@ declare function createRelayClient(options: {
10545
11670
  visibility: "visible" | "hidden";
10546
11671
  budgets: {
10547
11672
  id: string;
10548
- scope: "member" | "project";
10549
- period: "day" | "lifetime";
11673
+ scope: "project" | "member";
11674
+ period: "day" | "week" | "lifetime";
10550
11675
  limit: number;
10551
11676
  cost: number | {
10552
11677
  balance: string;
@@ -10613,7 +11738,7 @@ declare function createRelayClient(options: {
10613
11738
  } | undefined;
10614
11739
  } | undefined;
10615
11740
  };
10616
- connections: ("google" | "apple" | "x" | "discord")[];
11741
+ connections: ("discord" | "google" | "apple" | "x")[];
10617
11742
  trigger: {
10618
11743
  kind: "automatic";
10619
11744
  observation?: {
@@ -10630,6 +11755,11 @@ declare function createRelayClient(options: {
10630
11755
  posts: "after-enrollment" | "since-start";
10631
11756
  historical: "staff" | "automatic" | "claim";
10632
11757
  } | undefined;
11758
+ tracker?: {
11759
+ tracker: string;
11760
+ source: "custom" | "x-search";
11761
+ beneficiary: "author" | "replied-to";
11762
+ } | undefined;
10633
11763
  } | {
10634
11764
  kind: "manual";
10635
11765
  input: "text";
@@ -10654,7 +11784,7 @@ declare function createRelayClient(options: {
10654
11784
  };
10655
11785
  availability: {
10656
11786
  kind: "available";
10657
- input: "quiz" | "url" | "text" | "photo" | "none";
11787
+ input: "quiz" | "text" | "url" | "photo" | "none";
10658
11788
  } | {
10659
11789
  kind: "completed";
10660
11790
  } | {
@@ -10703,7 +11833,7 @@ declare function createRelayClient(options: {
10703
11833
  quest: string;
10704
11834
  member: string;
10705
11835
  evidence: string | null;
10706
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
11836
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
10707
11837
  reason: string | null;
10708
11838
  retries: number;
10709
11839
  generation: number;
@@ -11131,7 +12261,7 @@ declare function createRelayClient(options: {
11131
12261
  content: {
11132
12262
  performance: (input: z.output<typeof contentPerformanceQuerySchema>) => Promise<{
11133
12263
  current: {
11134
- state: "needs-review" | "pending" | "failed" | "superseded" | "qualified" | "unqualified" | "content-pending" | "content-unqualified" | "waiting";
12264
+ state: "needs-review" | "failed" | "pending" | "qualified" | "content-pending" | "content-unqualified" | "waiting" | "unqualified" | "superseded";
11135
12265
  reason: string | null;
11136
12266
  contentAttempt: string;
11137
12267
  attempt: string | null;
@@ -11147,7 +12277,7 @@ declare function createRelayClient(options: {
11147
12277
  observation: string;
11148
12278
  observedAt: number;
11149
12279
  metrics: Partial<Record<"likes" | "replies" | "reposts" | "quotes" | "views" | "bookmarks", number>>;
11150
- state: "needs-review" | "pending" | "failed" | "superseded" | "qualified" | "unqualified";
12280
+ state: "needs-review" | "failed" | "pending" | "qualified" | "unqualified" | "superseded";
11151
12281
  reason: string | null;
11152
12282
  }[];
11153
12283
  next: number | null;
@@ -11162,7 +12292,7 @@ declare function createRelayClient(options: {
11162
12292
  revision: string;
11163
12293
  observation: string;
11164
12294
  current: boolean;
11165
- state: "needs-review" | "pending" | "failed" | "superseded" | "qualified" | "unqualified" | "stale" | "blocked" | "unavailable";
12295
+ state: "needs-review" | "failed" | "pending" | "qualified" | "unqualified" | "superseded" | "stale" | "blocked" | "unavailable";
11166
12296
  reason: string | null;
11167
12297
  reward: {
11168
12298
  attempt: string | null;
@@ -11177,7 +12307,7 @@ declare function createRelayClient(options: {
11177
12307
  quest: string;
11178
12308
  content: string;
11179
12309
  release: string;
11180
- state: "pending" | "admitted" | "excluded";
12310
+ state: "pending" | "excluded" | "admitted";
11181
12311
  reason: string | null;
11182
12312
  attempt: string | null;
11183
12313
  }[];
@@ -11192,7 +12322,7 @@ declare function createRelayClient(options: {
11192
12322
  quest: string;
11193
12323
  content: string;
11194
12324
  release: string;
11195
- state: "pending" | "admitted" | "excluded";
12325
+ state: "pending" | "excluded" | "admitted";
11196
12326
  reason: string | null;
11197
12327
  attempt: string | null;
11198
12328
  }>;
@@ -11203,7 +12333,7 @@ declare function createRelayClient(options: {
11203
12333
  quest: string;
11204
12334
  member: string;
11205
12335
  evidence: string | null;
11206
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
12336
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
11207
12337
  reason: string | null;
11208
12338
  retries: number;
11209
12339
  generation: number;
@@ -11256,7 +12386,7 @@ declare function createRelayClient(options: {
11256
12386
  quest: string;
11257
12387
  member: string;
11258
12388
  evidence: string | null;
11259
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
12389
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
11260
12390
  reason: string | null;
11261
12391
  retries: number;
11262
12392
  generation: number;
@@ -11315,7 +12445,7 @@ declare function createRelayClient(options: {
11315
12445
  quest: string;
11316
12446
  member: string;
11317
12447
  evidence: string | null;
11318
- status: "needs-review" | "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "failed";
12448
+ status: "queued" | "evaluating" | "accepted" | "progressed" | "rejected" | "needs-review" | "failed";
11319
12449
  reason: string | null;
11320
12450
  retries: number;
11321
12451
  generation: number;
@@ -11364,4 +12494,4 @@ declare function createRelayClient(options: {
11364
12494
  }>;
11365
12495
  };
11366
12496
 
11367
- export { Attempt, AuthProvider, type ClaimSubmission, type CollectionPass, type DeploymentPreview, type ExchangeInput, LeaderboardQuery, MemberProgress, type PhotoSubmission, type PointLedger, type PointLedgerReference, type ProgressObservation, type ProgressObserver, PublishedRelease, type QuestActionResult, type QuestCatalog, type QuestController, type QuestDraft, type QuestInstance, type QuestInteraction, type QuestRewardView, QuestUpdatedError, type QuestView, QuizEvidence, type QuizSubmission, RelayError, ReleaseInput, type Session, type SubmissionDraft, type SubmissionStatus, type SubmissionStore, SubmitInput, ValueEvidence, type ValueSubmission, allocateQuestSchema, allocatedQuestSchema, authScopeSchema, beginHandoverSchema, catalogDeploymentPreviewSchema, catalogDeploymentSchema, collectionBeginSchema, collectionCodeSchema, collectionPassSchema, collectionPreviewSchema, collectionResolveSchema, collectionSlotDeclarationSchema, collectionSlotSchema, collectionViewSchema, contentAdmissionQuerySchema, contentEnrollmentInputSchema, contentPerformanceQuerySchema, contentQualificationQuerySchema, contentReleaseInputSchema, createPointLedgerSchema, createRelayClient, deploymentPreviewSchema, deploymentResultSchema, engagementPageQuerySchema, errorSchema, exchangeResultSchema, exchangeSchema, identityIntegrationInputSchema, identityIntegrationSchema, identityIntegrationSecretSchema, interactionSchema, participantExchangeSchema, pointLedgerDeclarationSchema, pointLedgerPropertiesSchema, pointLedgerReferenceSchema, pointLedgerSchema, principalSchema, projectCatalogArtifactSchema, projectDeploymentSchema, publishDeploymentSchema, publishQuestDraftSchema, questActions, questCatalogSchema, questCollectionSchema, questConfiguration, questDescriptionSchema, questDraftChangesSchema, questDraftSchema, questExperienceSchema, questInstanceSchema, questInteraction, questPublicationPreviewSchema, questRewardViewSchema, questTypeVersionSchema, questViewSchema, reconcileQuestDraft, referralAcceptSchema, rewardDeliveriesSchema, rewardDeliverySchema, saveQuestDraftSchema, sessionSchema, walletChallengeInputSchema, walletProofSchema };
12497
+ export { AVATAR_UPLOAD_LIMIT, Attempt, AuthProvider, type AvatarProvider, type ClaimSubmission, type CollectionPass, type DeploymentPreview, type ExchangeInput, LeaderboardQuery, LinkedWallet, type ManagedProfile, MemberProgress, type MemberSummary, type OwnProfile, type PhotoSubmission, type PointLedger, type PointLedgerReference, type ProfileAvatar, type ProfileDefaults, type ProfileModeration, type ProfileSettings, type ProfileSettingsInput, type ProfileSummary, type ProfileUpdate, type ProfileVisibility, type ProgressObservation, type ProgressObserver, type PublicProfile, PublishedRelease, type QuestActionResult, type QuestCatalog, type QuestController, type QuestDraft, type QuestInstance, type QuestInteraction, type QuestRewardView, QuestUpdatedError, type QuestView, QuizEvidence, type QuizSubmission, RelayError, ReleaseInput, type Session, type SubmissionDraft, type SubmissionStatus, type SubmissionStore, SubmitInput, ValueEvidence, type ValueSubmission, WalletAddressInput, WalletSignature, WalletSigner, allocateQuestSchema, allocatedQuestSchema, authScopeSchema, avatarProviderSchema, avatarSeedSchema, avatarSrc, avatarUploadTypes, beginHandoverSchema, catalogDeploymentPreviewSchema, catalogDeploymentSchema, collectionBeginSchema, collectionCodeSchema, collectionPassSchema, collectionPreviewSchema, collectionResolveSchema, collectionSlotDeclarationSchema, collectionSlotSchema, collectionViewSchema, contentAdmissionQuerySchema, contentEnrollmentInputSchema, contentPerformanceQuerySchema, contentQualificationQuerySchema, contentReleaseInputSchema, createPointLedgerSchema, createRelayClient, defaultAvatar, defaultAvatarSvg, deploymentPreviewSchema, deploymentResultSchema, displayNameSchema, engagementPageQuerySchema, errorSchema, exchangeResultSchema, exchangeSchema, identityIntegrationInputSchema, identityIntegrationSchema, identityIntegrationSecretSchema, interactionSchema, isProfileParticipantRoute, managedProfileSchema, memberSummarySchema, ownProfileSchema, participantExchangeSchema, pointLedgerDeclarationSchema, pointLedgerPropertiesSchema, pointLedgerReferenceSchema, pointLedgerSchema, principalSchema, profileAvatarSchema, profileDefaultsSchema, profileModerationSchema, profileSettingsInputSchema, profileSettingsSchema, profileSummarySchema, profileUpdateSchema, profileVisibilitySchema, projectCatalogArtifactSchema, projectDeploymentSchema, publicProfileSchema, publishDeploymentSchema, publishQuestDraftSchema, questActions, questCatalogSchema, questCollectionSchema, questConfiguration, questDescriptionSchema, questDraftChangesSchema, questDraftSchema, questExperienceSchema, questInstanceSchema, questInteraction, questPublicationPreviewSchema, questRewardViewSchema, questTypeVersionSchema, questViewSchema, reconcileQuestDraft, referralAcceptSchema, rewardDeliveriesSchema, rewardDeliverySchema, saveQuestDraftSchema, sessionSchema, walletAvatarSeed, walletChallengeInputSchema, walletProofSchema, walletSignatureSchema };