@domino-sdk/relay 1.59.0 → 1.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/{accounts-CVonEkdb.d.ts → accounts-DoabriBX.d.ts} +4 -1
  3. package/dist/{attempt-captures-DBj-rxak.d.ts → attempt-captures-W2dgzGqE.d.ts} +1 -1
  4. package/dist/authoring.d.ts +160 -28
  5. package/dist/authoring.js +83 -14
  6. package/dist/{automatic-outcomes-FS9okvBP.d.ts → automatic-outcomes-Cmou89IS.d.ts} +1 -1
  7. package/dist/avatar.d.ts +1 -1
  8. package/dist/browser.d.ts +19 -10
  9. package/dist/browser.js +12 -10
  10. package/dist/{capability-error-DDJl0LY-.d.ts → capability-error-DufwG3G0.d.ts} +21 -1
  11. package/dist/{chunk-2LKGAL63.js → chunk-2FHNY52R.js} +8 -2
  12. package/dist/{chunk-EQF4ID47.js → chunk-422J3QRW.js} +12 -2
  13. package/dist/{chunk-KYUQEZZA.js → chunk-4OFH4BNX.js} +1 -1
  14. package/dist/{chunk-R4S6BFOH.js → chunk-6ZG7WNYX.js} +1 -1
  15. package/dist/{chunk-AWWCEP7F.js → chunk-GBSDAD3N.js} +811 -592
  16. package/dist/{chunk-YRSU2X2P.js → chunk-KUPVQXUJ.js} +2 -2
  17. package/dist/{chunk-LDLOB2UZ.js → chunk-KWFY7L7X.js} +4 -4
  18. package/dist/{chunk-UEMLYPKJ.js → chunk-MJEJQH5A.js} +13 -4
  19. package/dist/{chunk-W42KMMH5.js → chunk-N3LJ6GFK.js} +1 -1
  20. package/dist/{chunk-TZJT5CRF.js → chunk-N7YOS4ZU.js} +1 -1
  21. package/dist/{chunk-KBCTII6C.js → chunk-OTEUP2SG.js} +1 -1
  22. package/dist/{chunk-577DG2IT.js → chunk-VVRQQRMQ.js} +12 -12
  23. package/dist/{chunk-YMWRLAAP.js → chunk-VWMIA2TT.js} +8 -2
  24. package/dist/{chunk-6U5WWH3W.js → chunk-XQKUJL7H.js} +9 -4
  25. package/dist/{chunk-M2JQPDUX.js → chunk-Y2IGFLD2.js} +9 -9
  26. package/dist/chunk-YNW2ZUUP.js +247 -0
  27. package/dist/{chunk-IBROKMFV.js → chunk-YOAPPIWN.js} +1 -1
  28. package/dist/{client-3b9HjSzZ.d.ts → client-Cw1pB5sv.d.ts} +12 -7
  29. package/dist/{deployments-BydFVj4Q.d.ts → deployments-DI-W7fBq.d.ts} +786 -2
  30. package/dist/{groups-CFuTfFqG.d.ts → groups-9Jm3peq3.d.ts} +4 -1
  31. package/dist/index.d.ts +10 -10
  32. package/dist/index.js +9 -9
  33. package/dist/{integrations-DrbKQSTD.d.ts → integrations-CmIkP1Gi.d.ts} +48 -3
  34. package/dist/internal.d.ts +10 -10
  35. package/dist/internal.js +8 -8
  36. package/dist/{offers-DAfe1O3_.d.ts → offers-CqXfMIxq.d.ts} +3 -2
  37. package/dist/{pages-ChDVLrgR.d.ts → pages-Bti7g5mX.d.ts} +147 -2
  38. package/dist/{participant-activity-iciCEs_8.d.ts → participant-activity-DHL8QYks.d.ts} +4 -0
  39. package/dist/portal-proxy.js +3 -3
  40. package/dist/react/index.d.ts +15 -14
  41. package/dist/react/index.js +10 -10
  42. package/dist/runtime/authoring.js +1 -1
  43. package/dist/runtime/chunks/ADUMK6CR.js +1 -0
  44. package/dist/runtime/manifest.json +3 -3
  45. package/dist/runtime/schema.js +1 -1
  46. package/dist/{schema-BA0nRRlt.d.ts → schema-CwbRkmlr.d.ts} +142 -2
  47. package/dist/schema.d.ts +112 -17
  48. package/dist/schema.js +35 -21
  49. package/dist/server/index.d.ts +10 -10
  50. package/dist/server/index.js +292 -41
  51. package/dist/{submission-input-DxQ6RnKo.d.ts → submission-input-D9EGH_yb.d.ts} +2 -2
  52. package/dist/{telegram-browser-o3OIxGrJ.d.ts → telegram-browser-CTJh4Ro_.d.ts} +4 -4
  53. package/dist/testing.d.ts +7 -7
  54. package/dist/testing.js +8 -8
  55. package/dist/{transport-D_Eqf78J.d.ts → transport-B8Ss5lcz.d.ts} +5331 -118
  56. package/dist/{wallet-B06zvDXp.d.ts → wallet-DZWL7lJH.d.ts} +1 -1
  57. package/dist/{x-C28SNifw.d.ts → x-KFJD2x8y.d.ts} +2 -2
  58. package/package.json +1 -1
  59. package/dist/chunk-XGXDINGM.js +0 -357
  60. package/dist/runtime/chunks/BG43KQ2T.js +0 -1
@@ -4,10 +4,10 @@ import {
4
4
  imageFieldsSchema,
5
5
  imageInspectionSchema,
6
6
  imageSightingsSchema
7
- } from "./chunk-IBROKMFV.js";
7
+ } from "./chunk-YOAPPIWN.js";
8
8
  import {
9
9
  photoResultSchema
10
- } from "./chunk-AWWCEP7F.js";
10
+ } from "./chunk-GBSDAD3N.js";
11
11
 
12
12
  // src/image-results.ts
13
13
  import * as z from "zod";
@@ -4,20 +4,20 @@ import {
4
4
  retryAfter,
5
5
  retrying,
6
6
  validTimeout
7
- } from "./chunk-R4S6BFOH.js";
7
+ } from "./chunk-6ZG7WNYX.js";
8
8
  import {
9
9
  clientIdentity
10
- } from "./chunk-TZJT5CRF.js";
10
+ } from "./chunk-N7YOS4ZU.js";
11
11
  import {
12
12
  authScopeSchema
13
- } from "./chunk-EQF4ID47.js";
13
+ } from "./chunk-422J3QRW.js";
14
14
  import {
15
15
  RequestError,
16
16
  appIdentityKindSchema,
17
17
  isRequestError,
18
18
  knownResponse,
19
19
  openIdentityKindSchema
20
- } from "./chunk-AWWCEP7F.js";
20
+ } from "./chunk-GBSDAD3N.js";
21
21
 
22
22
  // src/configuration.ts
23
23
  function questConfiguration(release) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  pointEntrySchema,
3
3
  profileSummarySchema
4
- } from "./chunk-XGXDINGM.js";
4
+ } from "./chunk-YNW2ZUUP.js";
5
5
  import {
6
6
  authoringIdentityShape,
7
7
  calendarPeriodSchema,
@@ -18,7 +18,7 @@ import {
18
18
  responseShape,
19
19
  rewardKey,
20
20
  tierRewardSchema
21
- } from "./chunk-AWWCEP7F.js";
21
+ } from "./chunk-GBSDAD3N.js";
22
22
 
23
23
  // src/badges.ts
24
24
  import * as z from "zod";
@@ -683,7 +683,9 @@ var referralRelationshipSchema = z4.object({
683
683
  member: identifier,
684
684
  inviter: identifier,
685
685
  acceptedAt: amount2,
686
- suspended: z4.boolean()
686
+ suspended: z4.boolean(),
687
+ /** The member import that recorded this referral, or null when the friend accepted an invitation. */
688
+ import: identifier.nullable().optional()
687
689
  });
688
690
  var referralAccountSchema = z4.object({
689
691
  id: identifier,
@@ -728,7 +730,9 @@ var referralManagementSchema = z4.object({
728
730
  member: identifier,
729
731
  program: identifier,
730
732
  qualified: z4.boolean(),
731
- qualifiedAt: amount2
733
+ qualifiedAt: amount2,
734
+ /** The member import that recorded this qualification, which paid no reward, or null. */
735
+ import: identifier.nullable().optional()
732
736
  })
733
737
  ),
734
738
  accounts: z4.array(
@@ -798,6 +802,11 @@ var offerSchema = responseShape(
798
802
  available: quantity,
799
803
  redeemed: quantity,
800
804
  availability: offerAvailabilitySchema,
805
+ /**
806
+ * When an operator archived the offer, or `null`. Only management reads carry it and list an
807
+ * archived offer; it refuses new redemptions with `offer-paused` until it is restored.
808
+ */
809
+ archivedAt: z5.number().int().nonnegative().nullable().optional(),
801
810
  /**
802
811
  * The prerequisites the signed-in member has not met yet, so an app can show the offer locked
803
812
  * and why. Empty when nothing is missing or the read has no member; redeeming while it is not
@@ -2,7 +2,7 @@ import {
2
2
  identifier,
3
3
  resourceHandle,
4
4
  responseShape
5
- } from "./chunk-AWWCEP7F.js";
5
+ } from "./chunk-GBSDAD3N.js";
6
6
 
7
7
  // src/youtube.ts
8
8
  import * as z from "zod";
@@ -1,6 +1,6 @@
1
1
  // package.json
2
2
  var name = "@domino-sdk/relay";
3
- var version = "1.59.0";
3
+ var version = "1.60.0";
4
4
 
5
5
  // src/client-identity.ts
6
6
  function clientIdentity() {
@@ -8,7 +8,7 @@ import {
8
8
  rewardBundleSchema,
9
9
  settingsValuesSchema,
10
10
  trackerTriggerContextSchema
11
- } from "./chunk-AWWCEP7F.js";
11
+ } from "./chunk-GBSDAD3N.js";
12
12
 
13
13
  // src/server/attempt-captures.ts
14
14
  import * as z from "zod";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createRelayAction,
3
3
  withActionId
4
- } from "./chunk-KYUQEZZA.js";
4
+ } from "./chunk-4OFH4BNX.js";
5
5
  import {
6
6
  collectionPassSchema,
7
7
  creatorAccountProviderSchema,
@@ -19,7 +19,7 @@ import {
19
19
  questOutcomeSchema,
20
20
  rewardDeliveriesSchema,
21
21
  rewardDeliveryQuerySchema
22
- } from "./chunk-6U5WWH3W.js";
22
+ } from "./chunk-XQKUJL7H.js";
23
23
  import {
24
24
  badgeSchema,
25
25
  engagementBoundaryPageSchema,
@@ -38,7 +38,7 @@ import {
38
38
  referralDefinitionSchema,
39
39
  referralHistorySchema,
40
40
  referralSummarySchema
41
- } from "./chunk-UEMLYPKJ.js";
41
+ } from "./chunk-MJEJQH5A.js";
42
42
  import {
43
43
  AVATAR_UPLOAD_LIMIT,
44
44
  avatarUploadTypes,
@@ -51,28 +51,25 @@ import {
51
51
  profileCompletionQuerySchema,
52
52
  profileReferralSchema,
53
53
  profileSummarySchema,
54
- profileUpdateSchema,
55
- telegramAccountConnectionSchema,
56
- telegramMiniAppSignInSchema,
57
- telegramSignInMethodsSchema
58
- } from "./chunk-XGXDINGM.js";
54
+ profileUpdateSchema
55
+ } from "./chunk-YNW2ZUUP.js";
59
56
  import {
60
57
  PARTICIPANT_TIMEOUT,
61
58
  lifetime,
62
59
  retryAfter,
63
60
  retrying,
64
61
  validTimeout
65
- } from "./chunk-R4S6BFOH.js";
62
+ } from "./chunk-6ZG7WNYX.js";
66
63
  import {
67
64
  clientIdentity
68
- } from "./chunk-TZJT5CRF.js";
65
+ } from "./chunk-N7YOS4ZU.js";
69
66
  import {
70
67
  exchangeResultSchema,
71
68
  exchangeSchema,
72
69
  memberSummarySchema,
73
70
  participantSessionSchema,
74
71
  sessionMember
75
- } from "./chunk-EQF4ID47.js";
72
+ } from "./chunk-422J3QRW.js";
76
73
  import {
77
74
  RelayError,
78
75
  RelayErrorCode,
@@ -102,6 +99,9 @@ import {
102
99
  quizEvidenceSchema,
103
100
  submissionEvidenceSchema,
104
101
  submitSchema,
102
+ telegramAccountConnectionSchema,
103
+ telegramMiniAppSignInSchema,
104
+ telegramSignInMethodsSchema,
105
105
  tieredRewardReferenceSchema,
106
106
  validateSubmissionValue,
107
107
  valueEvidenceSchema,
@@ -111,7 +111,7 @@ import {
111
111
  walletSignInNetworksSchema,
112
112
  walletSignatureSchema,
113
113
  walletUnlinkInputSchema
114
- } from "./chunk-AWWCEP7F.js";
114
+ } from "./chunk-GBSDAD3N.js";
115
115
 
116
116
  // src/legacy-submissions.ts
117
117
  import * as z from "zod";
@@ -5,7 +5,7 @@ import {
5
5
  isKnownTrackerSource,
6
6
  trackerDataSchema,
7
7
  xAccountRoles
8
- } from "./chunk-AWWCEP7F.js";
8
+ } from "./chunk-GBSDAD3N.js";
9
9
 
10
10
  // src/quest-shape.ts
11
11
  function validateQuestShape(description, options = {}) {
@@ -15,13 +15,19 @@ function validateQuestShape(description, options = {}) {
15
15
  requires,
16
16
  performance,
17
17
  retryCooldownMs,
18
- completionCooldownMs
18
+ completionCooldownMs,
19
+ authorBudgets = []
19
20
  } = description;
20
21
  const tracker = trigger.kind === "automatic" ? trigger.tracker : void 0;
21
22
  const content = tracker?.content === true;
22
23
  if (performance && !content) {
23
24
  throw new Error("Performance requires a content quest");
24
25
  }
26
+ if (!tracker && authorBudgets.length) {
27
+ throw new Error(
28
+ 'A budget with scope "author" counts per tracker record author: use it only on a quest with a tracker trigger'
29
+ );
30
+ }
25
31
  if (content) {
26
32
  if (completion.kind !== "keyed") {
27
33
  throw new Error("Content quests complete once per content item");
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  badgeSchema
3
- } from "./chunk-UEMLYPKJ.js";
3
+ } from "./chunk-MJEJQH5A.js";
4
4
  import {
5
5
  pointLedgerReferenceSchema
6
- } from "./chunk-XGXDINGM.js";
6
+ } from "./chunk-YNW2ZUUP.js";
7
7
  import {
8
8
  authoringIdentityShape,
9
9
  entitlementSchema,
@@ -25,7 +25,7 @@ import {
25
25
  storedQuestDescriptionSchema,
26
26
  storedReviewModeSchema,
27
27
  tieredRewardReferenceSchema
28
- } from "./chunk-AWWCEP7F.js";
28
+ } from "./chunk-GBSDAD3N.js";
29
29
 
30
30
  // src/participant-activity.ts
31
31
  import * as z from "zod";
@@ -458,7 +458,12 @@ var participantDeliveriesSchema = z6.object({
458
458
  import * as z7 from "zod";
459
459
  var RewardDeliveryAction = {
460
460
  /** Delivers a quest's Discord role reward. */
461
- GrantRole: "grant-role"
461
+ GrantRole: "grant-role",
462
+ /**
463
+ * Posts a quest's announcement in a Telegram chat or Discord channel. Its `provider` is
464
+ * `telegram` or `discord`, and its `roleId` is empty.
465
+ */
466
+ PostMessage: "post-message"
462
467
  };
463
468
  var rewardDeliveryActionSchema = z7.string().min(1).max(64);
464
469
  var roleReconciliationSchema = z7.object({
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  dashboardArtifactSchema,
3
3
  dashboardPreviewSchema
4
- } from "./chunk-W42KMMH5.js";
4
+ } from "./chunk-N3LJ6GFK.js";
5
5
  import {
6
6
  imageAssetArtifactSchema,
7
7
  imageComparisonSchema,
@@ -10,7 +10,7 @@ import {
10
10
  imageSightingsSchema,
11
11
  imageUploadsSchema,
12
12
  publishedImageSchema
13
- } from "./chunk-IBROKMFV.js";
13
+ } from "./chunk-YOAPPIWN.js";
14
14
  import {
15
15
  catalogDeploymentSchema,
16
16
  collectionPassSchema,
@@ -29,7 +29,7 @@ import {
29
29
  questTypeVersionSchema,
30
30
  questViewSchema,
31
31
  rewardDeliveriesSchema
32
- } from "./chunk-6U5WWH3W.js";
32
+ } from "./chunk-XQKUJL7H.js";
33
33
  import {
34
34
  badgeArtifactSchema,
35
35
  badgeSchema,
@@ -54,7 +54,7 @@ import {
54
54
  referralDefinitionSchema,
55
55
  referralHistorySchema,
56
56
  referralSummarySchema
57
- } from "./chunk-UEMLYPKJ.js";
57
+ } from "./chunk-MJEJQH5A.js";
58
58
  import {
59
59
  ownProfileSchema,
60
60
  pointBalancesSchema,
@@ -64,14 +64,13 @@ import {
64
64
  pointLedgerSchema,
65
65
  profileCompletionPageSchema,
66
66
  profileReferralSchema,
67
- profileSummarySchema,
68
- telegramAccountConnectionSchema
69
- } from "./chunk-XGXDINGM.js";
67
+ profileSummarySchema
68
+ } from "./chunk-YNW2ZUUP.js";
70
69
  import {
71
70
  exchangeResultSchema,
72
71
  memberSummarySchema,
73
72
  participantSessionSchema
74
- } from "./chunk-EQF4ID47.js";
73
+ } from "./chunk-422J3QRW.js";
75
74
  import {
76
75
  accountConnectionSchema,
77
76
  attemptSchema,
@@ -98,6 +97,7 @@ import {
98
97
  responseSchema,
99
98
  rewardSchema,
100
99
  sdkRuntimeSchema,
100
+ telegramAccountConnectionSchema,
101
101
  tieredRewardReferenceSchema,
102
102
  timeZoneNameSchema,
103
103
  trackerArtifactSchema,
@@ -109,7 +109,7 @@ import {
109
109
  walletNftsSchema,
110
110
  walletSignInNetworksSchema,
111
111
  walletTransactionsSchema
112
- } from "./chunk-AWWCEP7F.js";
112
+ } from "./chunk-GBSDAD3N.js";
113
113
 
114
114
  // src/deployments.ts
115
115
  import * as z from "zod";
@@ -0,0 +1,247 @@
1
+ import {
2
+ identifier,
3
+ pageCursorSchema
4
+ } from "./chunk-GBSDAD3N.js";
5
+
6
+ // src/point-ledgers.ts
7
+ import * as z from "zod";
8
+ var pointLedgerPropertiesSchema = z.object({
9
+ name: z.string().trim().min(1).max(120),
10
+ description: z.string().trim().max(1e3).default("")
11
+ }).strict();
12
+ var createPointLedgerSchema = pointLedgerPropertiesSchema.extend({ actionId: identifier, key: identifier.optional() }).strict();
13
+ var pointLedgerSchema = pointLedgerPropertiesSchema.extend({
14
+ id: identifier
15
+ });
16
+ var managedPointLedgerSchema = pointLedgerSchema.extend({
17
+ archivedAt: z.number().int().nonnegative().nullable()
18
+ });
19
+ var pointLedgerDeclarationSchema = pointLedgerPropertiesSchema.extend({ key: identifier }).strict();
20
+ var pointLedgerArtifactSchema = z.union([
21
+ pointLedgerDeclarationSchema,
22
+ z.object({ code: z.string().min(1).max(2e6) }).strict()
23
+ ]);
24
+ var pointLedgerReferenceSchema = z.object({
25
+ id: identifier,
26
+ key: identifier.nullable(),
27
+ name: z.string()
28
+ });
29
+ var points = z.number().int().safe();
30
+ var pointBalanceSchema = z.object({
31
+ ledger: pointLedgerReferenceSchema,
32
+ balance: points,
33
+ available: points
34
+ });
35
+ var pointBalancesSchema = z.object({
36
+ items: z.array(pointBalanceSchema)
37
+ });
38
+ var PointEntryKind = {
39
+ /** Points a quest completion, an engagement settlement or an operator awarded. */
40
+ Award: "award",
41
+ /** Points the member spent. */
42
+ Spend: "spend",
43
+ /** A correction in either direction, by an operator or a referral payout. */
44
+ Adjust: "adjust",
45
+ /** Undoes part or all of an award or a positive adjustment (`reverses`). */
46
+ Reverse: "reverse"
47
+ };
48
+ var pointEntryKindSchema = z.string().min(1).max(64);
49
+ var pointEntrySchema = z.object({
50
+ id: identifier,
51
+ amount: points,
52
+ kind: pointEntryKindSchema,
53
+ /** When the entry took effect, in epoch milliseconds. A reversal keeps its source's. */
54
+ at: points.nonnegative(),
55
+ quest: identifier.nullable(),
56
+ reverses: identifier.nullable(),
57
+ /**
58
+ * True for an opening balance a member import recorded (an `adjust`). Absent from Relay
59
+ * versions without imports.
60
+ */
61
+ imported: z.boolean().optional()
62
+ });
63
+ var pointHistoryQuerySchema = z.strictObject({
64
+ ledger: identifier,
65
+ cursor: pageCursorSchema.optional()
66
+ });
67
+ var pointHistoryPageSchema = z.object({
68
+ items: z.array(pointEntrySchema),
69
+ nextCursor: pageCursorSchema.nullable()
70
+ });
71
+
72
+ // src/profiles.ts
73
+ import * as z2 from "zod";
74
+ var count = z2.number().int().nonnegative().safe();
75
+ var profileVisibilitySchema = z2.enum([
76
+ "private",
77
+ "participants",
78
+ "public"
79
+ ]);
80
+ var avatarProviderSchema = z2.enum(["x", "discord", "google"]);
81
+ var profileDefaultProviderSchema = z2.enum(["x", "discord"]);
82
+ var profileDefaultsSchema = z2.array(profileDefaultProviderSchema).max(profileDefaultProviderSchema.options.length).refine(
83
+ (providers) => new Set(providers).size === providers.length,
84
+ "List each provider once"
85
+ );
86
+ var avatarSeedSchema = z2.string().min(1).max(100);
87
+ var profileAvatarSchema = z2.discriminatedUnion("source", [
88
+ z2.object({
89
+ source: z2.literal("upload"),
90
+ url: z2.string().url(),
91
+ seed: avatarSeedSchema
92
+ }),
93
+ z2.object({
94
+ source: z2.literal("account"),
95
+ provider: avatarProviderSchema,
96
+ url: z2.string().url(),
97
+ seed: avatarSeedSchema
98
+ }),
99
+ z2.object({ source: z2.literal("generated"), seed: avatarSeedSchema })
100
+ ]);
101
+ var profileSummarySchema = z2.object({
102
+ id: identifier,
103
+ name: z2.string(),
104
+ avatar: profileAvatarSchema
105
+ });
106
+ var invisible = /[\p{Cc}؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/u;
107
+ var displayNameSchema = z2.string().max(200).transform((value) => value.normalize("NFC").replace(/\s+/g, " ").trim()).pipe(
108
+ z2.string().min(1, "Enter a name").max(40, "Use at most 40 characters").refine((value) => !invisible.test(value), "Use visible characters only")
109
+ );
110
+ var profileUpdateSchema = z2.object({
111
+ displayName: displayNameSchema.nullable().optional(),
112
+ avatar: z2.discriminatedUnion("source", [
113
+ z2.object({
114
+ source: z2.literal("account"),
115
+ provider: avatarProviderSchema
116
+ }).strict(),
117
+ z2.object({ source: z2.literal("generated") }).strict()
118
+ ]).nullable().optional(),
119
+ hidden: z2.boolean().optional()
120
+ }).strict().refine(
121
+ (value) => Object.values(value).some((field) => field !== void 0),
122
+ "Change at least one field"
123
+ );
124
+ var ownProfileSchema = profileSummarySchema.extend({
125
+ /** The name the member chose, or null for the default. */
126
+ displayName: z2.string().nullable(),
127
+ /** The avatar the member chose: `default` follows the project's defaults. */
128
+ avatarChoice: z2.enum(["default", "upload", "account", "generated"]),
129
+ /** The account of an `account` choice. */
130
+ avatarProvider: avatarProviderSchema.nullable(),
131
+ hidden: z2.boolean(),
132
+ /** An operator locked the name and avatar; the member can still hide the profile. */
133
+ locked: z2.boolean(),
134
+ /** Who can see profiles in this project, so the app can explain it. */
135
+ visibility: profileVisibilitySchema,
136
+ /** The member's connected accounts a picture or name can come from. */
137
+ options: z2.array(
138
+ z2.object({
139
+ provider: avatarProviderSchema,
140
+ name: z2.string().nullable(),
141
+ /**
142
+ * The account's first name, where the provider sends one (Google does; X and Discord don't).
143
+ * Only the member's own profile carries it.
144
+ */
145
+ givenName: z2.string().nullable().default(null),
146
+ imageUrl: z2.string().url().nullable()
147
+ })
148
+ )
149
+ });
150
+ var cursor = z2.string().min(1).max(512);
151
+ var profileCompletionQuerySchema = z2.object({
152
+ limit: z2.coerce.number().int().min(1).max(100).default(20),
153
+ cursor: cursor.optional()
154
+ }).strict();
155
+ var profileCompletionSchema = z2.object({
156
+ quest: identifier,
157
+ key: identifier.optional(),
158
+ title: z2.string(),
159
+ completions: count.positive(),
160
+ /** Null for completions recorded before completion times were. */
161
+ lastCompletedAt: count.nullable()
162
+ });
163
+ var profileCompletionPageSchema = z2.object({
164
+ items: z2.array(profileCompletionSchema),
165
+ nextCursor: cursor.nullable()
166
+ });
167
+ var profileReferralSchema = z2.object({
168
+ program: identifier,
169
+ key: identifier.optional(),
170
+ title: z2.string(),
171
+ /** Members this member invited. Invitations are shared by every program. */
172
+ invited: count,
173
+ /** Invited members who qualified in this program. */
174
+ qualified: count,
175
+ milestones: z2.array(
176
+ z2.object({ id: identifier, count, reached: z2.boolean() })
177
+ )
178
+ });
179
+ var profileSettingsSchema = z2.object({
180
+ visibility: profileVisibilitySchema,
181
+ defaults: profileDefaultsSchema,
182
+ revision: count,
183
+ actor: z2.string().nullable(),
184
+ updatedAt: count.nullable()
185
+ });
186
+ var profileSettingsInputSchema = profileSettingsSchema.omit({ revision: true, actor: true, updatedAt: true }).extend({
187
+ actionId: identifier,
188
+ /** The revision the change was made against; a newer one is a 409. */
189
+ expectedRevision: count,
190
+ reason: z2.string().trim().min(1).max(500)
191
+ }).strict();
192
+ var profileModerationSchema = z2.object({
193
+ actionId: identifier,
194
+ resetName: z2.boolean().default(false),
195
+ removeAvatar: z2.boolean().default(false),
196
+ /** True locks the name and avatar, false unlocks them. */
197
+ lock: z2.boolean().optional(),
198
+ reason: z2.string().trim().min(1).max(1e3)
199
+ }).strict().refine(
200
+ (value) => value.resetName || value.removeAvatar || value.lock !== void 0,
201
+ "Choose an action"
202
+ );
203
+ var managedProfileSchema = ownProfileSchema.omit({ options: true }).extend({
204
+ member: identifier,
205
+ lockedAt: count.nullable(),
206
+ lockedBy: z2.string().nullable(),
207
+ lockedReason: z2.string().nullable(),
208
+ updatedAt: count
209
+ });
210
+ var AVATAR_UPLOAD_LIMIT = 5 * 1024 * 1024;
211
+ var avatarUploadTypes = ["image/jpeg", "image/png", "image/webp"];
212
+
213
+ export {
214
+ pointLedgerPropertiesSchema,
215
+ createPointLedgerSchema,
216
+ pointLedgerSchema,
217
+ managedPointLedgerSchema,
218
+ pointLedgerDeclarationSchema,
219
+ pointLedgerArtifactSchema,
220
+ pointLedgerReferenceSchema,
221
+ pointBalanceSchema,
222
+ pointBalancesSchema,
223
+ PointEntryKind,
224
+ pointEntrySchema,
225
+ pointHistoryQuerySchema,
226
+ pointHistoryPageSchema,
227
+ profileVisibilitySchema,
228
+ avatarProviderSchema,
229
+ profileDefaultProviderSchema,
230
+ profileDefaultsSchema,
231
+ avatarSeedSchema,
232
+ profileAvatarSchema,
233
+ profileSummarySchema,
234
+ displayNameSchema,
235
+ profileUpdateSchema,
236
+ ownProfileSchema,
237
+ profileCompletionQuerySchema,
238
+ profileCompletionSchema,
239
+ profileCompletionPageSchema,
240
+ profileReferralSchema,
241
+ profileSettingsSchema,
242
+ profileSettingsInputSchema,
243
+ profileModerationSchema,
244
+ managedProfileSchema,
245
+ AVATAR_UPLOAD_LIMIT,
246
+ avatarUploadTypes
247
+ };
@@ -2,7 +2,7 @@ import {
2
2
  identifier,
3
3
  responseShape,
4
4
  xTweetSchema
5
- } from "./chunk-AWWCEP7F.js";
5
+ } from "./chunk-GBSDAD3N.js";
6
6
 
7
7
  // src/x.ts
8
8
  import * as z from "zod";
@@ -1,12 +1,12 @@
1
- import { m as QuizEvidence, A as Attempt, M as MemberProgress, a as AttemptStatus, o as TrackerSkipCode, i as PointHistoryQuery, g as PointEntryKind, ao as submitSchema, ap as contentPerformanceQuerySchema } from './schema-BA0nRRlt.js';
2
- import { l as QuestView, m as ResponseSchema, c as PageQuery, e as QuestEnrollmentInput, Q as QuestClaimInput, i as QuestOutcomeQuery, q as questExperienceSchema, a as CreatorAccountProvider, n as RewardDeliveryQuery, o as RewardDeliveryAction, r as contentQualificationQuerySchema } from './pages-ChDVLrgR.js';
3
- import { M as MissingPrerequisite, V as ValueEvidence } from './submission-input-DxQ6RnKo.js';
1
+ import { m as QuizEvidence, A as Attempt, M as MemberProgress, a as AttemptStatus, o as TrackerSkipCode, i as PointHistoryQuery, g as PointEntryKind, ao as submitSchema, ap as contentPerformanceQuerySchema } from './schema-CwbRkmlr.js';
2
+ import { l as QuestView, m as ResponseSchema, c as PageQuery, e as QuestEnrollmentInput, Q as QuestClaimInput, i as QuestOutcomeQuery, q as questExperienceSchema, a as CreatorAccountProvider, n as RewardDeliveryQuery, o as RewardDeliveryAction, r as contentQualificationQuerySchema } from './pages-Bti7g5mX.js';
3
+ import { M as MissingPrerequisite, V as ValueEvidence } from './submission-input-D9EGH_yb.js';
4
4
  import { a as RequestError, b as RequestErrorDetails, c as RequestErrorKind, e as createRelayAction, O as OptionalActionId } from './action-DBzILFx9.js';
5
- import { b as ParticipantSession, e as exchangeSchema, R as RelayEvent, P as ParticipantActivity } from './participant-activity-iciCEs_8.js';
5
+ import { b as ParticipantSession, e as exchangeSchema, R as RelayEvent, P as ParticipantActivity } from './participant-activity-DHL8QYks.js';
6
6
  import * as z from 'zod';
7
- import { a as AuthProvider } from './accounts-CVonEkdb.js';
8
- import { p as referralAcceptSchema, i as LeaderboardQuery, b as CampaignEnrollmentInput, d as CampaignWithdrawalInput, f as LeaderboardHistoryQuery, q as engagementPageQuerySchema } from './groups-CFuTfFqG.js';
9
- import { ag as profileUpdateSchema, d as ProfileCompletionQuery, ah as walletAddressInputSchema, ai as walletSignatureSchema, L as LinkedWallet, m as WalletSigner } from './wallet-B06zvDXp.js';
7
+ import { a as AuthProvider } from './accounts-DoabriBX.js';
8
+ import { p as referralAcceptSchema, i as LeaderboardQuery, b as CampaignEnrollmentInput, d as CampaignWithdrawalInput, f as LeaderboardHistoryQuery, q as engagementPageQuerySchema } from './groups-9Jm3peq3.js';
9
+ import { ag as profileUpdateSchema, d as ProfileCompletionQuery, ah as walletAddressInputSchema, ai as walletSignatureSchema, L as LinkedWallet, m as WalletSigner } from './wallet-DZWL7lJH.js';
10
10
 
11
11
  /** What happened, as in every Domino client error (see `RequestError`). */
12
12
  type RelayErrorKind = RequestErrorKind;
@@ -464,6 +464,7 @@ declare function relayClient(options: RelayClientOptions): {
464
464
  group: string;
465
465
  title: string;
466
466
  })[] | undefined;
467
+ archivedAt?: number | null | undefined;
467
468
  }[]>;
468
469
  /** Redeems one offer. Persist `actionId` to retry after an uncertain result. */
469
470
  redeem: (offer: string, value?: {
@@ -3903,6 +3904,10 @@ declare function relayClient(options: RelayClientOptions): {
3903
3904
  avatarSeed: string;
3904
3905
  email?: string | null | undefined;
3905
3906
  emails?: string[] | undefined;
3907
+ clock?: {
3908
+ now: number;
3909
+ offsetMs: number;
3910
+ } | undefined;
3906
3911
  }>;
3907
3912
  observeProgress: (listener: (value: ProgressObservation) => void, observeOptions?: {
3908
3913
  intervalMs?: number;