@domino-sdk/relay 1.16.0 → 1.18.1

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 (50) hide show
  1. package/dist/{attempt-captures-DHwIVoRP.d.ts → attempt-captures-ByzZyggX.d.ts} +5 -1
  2. package/dist/authoring.d.ts +82 -9
  3. package/dist/authoring.js +14 -9
  4. package/dist/{automatic-outcomes-BcEn_L46.d.ts → automatic-outcomes-BBSdMf0R.d.ts} +2 -1
  5. package/dist/avatar.d.ts +1 -1
  6. package/dist/browser.d.ts +7 -7
  7. package/dist/browser.js +9 -11
  8. package/dist/{chunk-3YCCHTCU.js → chunk-3IX2IYMQ.js} +2 -2
  9. package/dist/{chunk-6QJ3LADK.js → chunk-5P5PTZ3T.js} +1 -1
  10. package/dist/{chunk-W335CWYJ.js → chunk-CVQG2AZZ.js} +2 -2
  11. package/dist/{chunk-46C33ASD.js → chunk-EMLDFUTV.js} +1314 -908
  12. package/dist/{chunk-4OLQYRSA.js → chunk-GMKJPHN4.js} +1 -1
  13. package/dist/{chunk-YT3QKV2L.js → chunk-GTM3XNMQ.js} +1 -1
  14. package/dist/{chunk-LLMJ2SUT.js → chunk-IE4QOQUI.js} +21 -4
  15. package/dist/{chunk-ZGH6NEG6.js → chunk-JIQHUDVZ.js} +1 -1
  16. package/dist/{chunk-ZLYBUM7K.js → chunk-NBYS3NQT.js} +29 -17
  17. package/dist/{chunk-NIYCAW2I.js → chunk-NGP2NMZ4.js} +1 -1
  18. package/dist/{chunk-XMBM2XD5.js → chunk-T47OFHHX.js} +2 -4
  19. package/dist/{chunk-NM3IYYPG.js → chunk-UEPEKXOC.js} +6 -8
  20. package/dist/{chunk-AXRMT33W.js → chunk-UIHPWC4C.js} +3 -0
  21. package/dist/{chunk-UJACD6K2.js → chunk-XSLRNFIY.js} +346 -304
  22. package/dist/{chunk-Y6SRF54G.js → chunk-YGWB6GH3.js} +32 -25
  23. package/dist/{chunk-PT5STHFH.js → chunk-YXAK2637.js} +1 -1
  24. package/dist/{client-DFSCmf3H.d.ts → client-93pUw04R.d.ts} +182 -14
  25. package/dist/{deployments-DIbKJO_Y.d.ts → deployments-Cz-tNK7Z.d.ts} +832 -16
  26. package/dist/{groups-Bi7lc54m.d.ts → groups-jLLG7MML.d.ts} +27 -2
  27. package/dist/{images-Cb8QHGjn.d.ts → images-BPiPqVKn.d.ts} +1 -1
  28. package/dist/index.d.ts +8 -8
  29. package/dist/index.js +12 -16
  30. package/dist/internal.d.ts +10 -10
  31. package/dist/internal.js +9 -10
  32. package/dist/{offers-Catj06u7.d.ts → offers-CPqiF3dZ.d.ts} +92 -3
  33. package/dist/{pages-CpYt56Km.d.ts → pages-1h1387a3.d.ts} +757 -3
  34. package/dist/portal-proxy.js +4 -4
  35. package/dist/react/index.d.ts +47 -19
  36. package/dist/react/index.js +361 -340
  37. package/dist/{schema-BaVl2VBS.d.ts → schema-Br3c1GOu.d.ts} +508 -2
  38. package/dist/schema.d.ts +565 -24
  39. package/dist/schema.js +61 -32
  40. package/dist/server/index.d.ts +10 -10
  41. package/dist/server/index.js +82 -24
  42. package/dist/{sign-in-options-CU1ND6-y.d.ts → sign-in-options--25uHySG.d.ts} +1 -1
  43. package/dist/{submission-input-Bi4HipqI.d.ts → submission-input-BEJ9qENg.d.ts} +2 -2
  44. package/dist/testing.d.ts +3 -3
  45. package/dist/testing.js +10 -13
  46. package/dist/{transport-BdrcbKi_.d.ts → transport-CVac_nGZ.d.ts} +6411 -72
  47. package/package.json +1 -1
  48. package/dist/chunk-2UAVZCMH.js +0 -314
  49. package/dist/chunk-NPGENI7K.js +0 -37
  50. package/dist/{profiles-BHMVj0kM.d.ts → profiles-D29SS12z.d.ts} +1 -1
@@ -11,39 +11,71 @@ import {
11
11
  responseShape,
12
12
  rewardKey,
13
13
  tierRewardSchema
14
- } from "./chunk-46C33ASD.js";
14
+ } from "./chunk-EMLDFUTV.js";
15
15
 
16
- // src/point-ledgers.ts
16
+ // src/badges.ts
17
17
  import { z } from "zod";
18
- var pointLedgerPropertiesSchema = z.object({
18
+ var badgePropertiesSchema = z.object({
19
19
  name: z.string().trim().min(1).max(120),
20
- description: z.string().trim().max(1e3).default("")
20
+ description: z.string().trim().max(1e3).default(""),
21
+ image: z.string().url().max(2048)
22
+ }).strict();
23
+ var badgeDeclarationSchema = badgePropertiesSchema.extend({ key: identifier }).strict();
24
+ var badgeSchema = badgePropertiesSchema.extend({ id: identifier, key: identifier.nullable() }).strip();
25
+ var managedBadgeSchema = badgeSchema.extend({
26
+ archivedAt: z.number().int().nonnegative().nullable()
27
+ });
28
+ var createBadgeSchema = badgeDeclarationSchema.extend({ actionId: identifier }).strict();
29
+ var badgeArtifactSchema = z.union([
30
+ badgeDeclarationSchema,
31
+ z.object({ code: z.string().min(1).max(2e6) }).strict()
32
+ ]);
33
+ var memberBadgeSchema = z.object({
34
+ badge: badgeSchema,
35
+ awardedAt: z.number().int().nonnegative()
36
+ });
37
+ var memberBadgesSchema = z.object({
38
+ items: z.array(memberBadgeSchema)
39
+ });
40
+ var badgeMutationSchema = z.object({ actionId: identifier, reason: z.string().trim().min(1).max(1e3) }).strict();
41
+ var badgeMutationResultSchema = z.object({
42
+ badge: identifier,
43
+ member: identifier,
44
+ awarded: z.boolean(),
45
+ changed: z.boolean()
46
+ });
47
+
48
+ // src/point-ledgers.ts
49
+ import { z as z2 } from "zod";
50
+ var pointLedgerPropertiesSchema = z2.object({
51
+ name: z2.string().trim().min(1).max(120),
52
+ description: z2.string().trim().max(1e3).default("")
21
53
  }).strict();
22
54
  var createPointLedgerSchema = pointLedgerPropertiesSchema.extend({ actionId: identifier, key: identifier.optional() }).strict();
23
55
  var pointLedgerSchema = pointLedgerPropertiesSchema.extend({
24
56
  id: identifier
25
57
  });
26
58
  var managedPointLedgerSchema = pointLedgerSchema.extend({
27
- archivedAt: z.number().int().nonnegative().nullable()
59
+ archivedAt: z2.number().int().nonnegative().nullable()
28
60
  });
29
61
  var pointLedgerDeclarationSchema = pointLedgerPropertiesSchema.extend({ key: identifier }).strict();
30
- var pointLedgerArtifactSchema = z.union([
62
+ var pointLedgerArtifactSchema = z2.union([
31
63
  pointLedgerDeclarationSchema,
32
- z.object({ code: z.string().min(1).max(2e6) }).strict()
64
+ z2.object({ code: z2.string().min(1).max(2e6) }).strict()
33
65
  ]);
34
- var pointLedgerReferenceSchema = z.object({
66
+ var pointLedgerReferenceSchema = z2.object({
35
67
  id: identifier,
36
68
  key: identifier.nullable(),
37
- name: z.string()
69
+ name: z2.string()
38
70
  });
39
- var points = z.number().int().safe();
40
- var pointBalanceSchema = z.object({
71
+ var points = z2.number().int().safe();
72
+ var pointBalanceSchema = z2.object({
41
73
  ledger: pointLedgerReferenceSchema,
42
74
  balance: points,
43
75
  available: points
44
76
  });
45
- var pointBalancesSchema = z.object({
46
- items: z.array(pointBalanceSchema)
77
+ var pointBalancesSchema = z2.object({
78
+ items: z2.array(pointBalanceSchema)
47
79
  });
48
80
  var PointEntryKind = {
49
81
  /** Points a quest completion, an engagement settlement or an operator awarded. */
@@ -55,8 +87,8 @@ var PointEntryKind = {
55
87
  /** Undoes part or all of an award or a positive adjustment (`reverses`). */
56
88
  Reverse: "reverse"
57
89
  };
58
- var pointEntryKindSchema = z.string().min(1).max(64);
59
- var pointEntrySchema = z.object({
90
+ var pointEntryKindSchema = z2.string().min(1).max(64);
91
+ var pointEntrySchema = z2.object({
60
92
  id: identifier,
61
93
  amount: points,
62
94
  kind: pointEntryKindSchema,
@@ -65,64 +97,64 @@ var pointEntrySchema = z.object({
65
97
  quest: identifier.nullable(),
66
98
  reverses: identifier.nullable()
67
99
  });
68
- var pointHistoryQuerySchema = z.strictObject({
100
+ var pointHistoryQuerySchema = z2.strictObject({
69
101
  ledger: identifier,
70
102
  cursor: pageCursorSchema.optional()
71
103
  });
72
- var pointHistoryPageSchema = z.object({
73
- items: z.array(pointEntrySchema),
104
+ var pointHistoryPageSchema = z2.object({
105
+ items: z2.array(pointEntrySchema),
74
106
  nextCursor: pageCursorSchema.nullable()
75
107
  });
76
108
 
77
109
  // src/engagement.ts
78
- import { z as z2 } from "zod";
79
- var amount = z2.number().int().safe().nonnegative();
80
- var engagementBudgetSchema = z2.strictObject({
81
- scope: z2.enum(["member", "project"]),
110
+ import { z as z3 } from "zod";
111
+ var amount = z3.number().int().safe().nonnegative();
112
+ var engagementBudgetSchema = z3.strictObject({
113
+ scope: z3.enum(["member", "project"]),
82
114
  period: calendarPeriodSchema,
83
115
  limit: amount
84
116
  });
85
- var engagementDefinitionSchema = z2.strictObject({
117
+ var engagementDefinitionSchema = z3.strictObject({
86
118
  key: identifier,
87
119
  qualifiedBy: identifier,
88
120
  balance: identifier,
89
- metrics: z2.array(contentMetricSchema).min(1).max(10).refine(
121
+ metrics: z3.array(contentMetricSchema).min(1).max(10).refine(
90
122
  (metrics) => new Set(metrics).size === metrics.length,
91
123
  "Metrics must be unique"
92
124
  ),
93
- baseline: z2.literal("historical"),
94
- maxAgeMs: z2.number().int().positive().max(864e5).default(36e5),
95
- budgets: z2.array(engagementBudgetSchema).max(8).default([]).refine(
125
+ baseline: z3.literal("historical"),
126
+ maxAgeMs: z3.number().int().positive().max(864e5).default(36e5),
127
+ budgets: z3.array(engagementBudgetSchema).max(8).default([]).refine(
96
128
  (budgets) => new Set(budgets.map((b) => b.scope + ":" + b.period)).size === budgets.length,
97
129
  "Give each scope and period one budget"
98
130
  )
99
131
  });
100
- var engagementScoreInputSchema = z2.strictObject({
132
+ var engagementScoreInputSchema = z3.strictObject({
101
133
  metrics: contentMetricsSchema,
102
134
  baseline: contentMetricsSchema
103
135
  });
104
- var engagementScoreSchema = z2.strictObject({
136
+ var engagementScoreSchema = z3.strictObject({
105
137
  target: amount,
106
138
  baseline: amount
107
139
  });
108
- var engagementPublishSchema = z2.strictObject({
140
+ var engagementPublishSchema = z3.strictObject({
109
141
  actionId: identifier,
110
- code: z2.string().min(1).max(1e6)
142
+ code: z3.string().min(1).max(1e6)
111
143
  });
112
- var engagementRuleSchema = z2.strictObject({
144
+ var engagementRuleSchema = z3.strictObject({
113
145
  version: identifier,
114
146
  definition: engagementDefinitionSchema,
115
147
  publishedAt: amount
116
148
  });
117
- var engagementPageQuerySchema = z2.strictObject({
149
+ var engagementPageQuerySchema = z3.strictObject({
118
150
  rule: identifier,
119
- content: z2.string().min(1).max(256),
151
+ content: z3.string().min(1).max(256),
120
152
  member: identifier.optional(),
121
153
  cursor: pageCursorSchema.optional()
122
154
  });
123
- var engagementSettlementSchema = z2.strictObject({
155
+ var engagementSettlementSchema = z3.strictObject({
124
156
  id: identifier,
125
- day: z2.string(),
157
+ day: z3.string(),
126
158
  observation: identifier,
127
159
  qualification: identifier,
128
160
  earned: amount,
@@ -132,9 +164,9 @@ var engagementSettlementSchema = z2.strictObject({
132
164
  entry: identifier.nullable(),
133
165
  createdAt: amount
134
166
  });
135
- var engagementPageSchema = z2.strictObject({
167
+ var engagementPageSchema = z3.strictObject({
136
168
  rule: engagementRuleSchema,
137
- account: z2.strictObject({
169
+ account: z3.strictObject({
138
170
  member: identifier,
139
171
  earned: amount,
140
172
  accounted: amount,
@@ -145,28 +177,28 @@ var engagementPageSchema = z2.strictObject({
145
177
  baseline: contentMetricsSchema,
146
178
  observation: identifier.nullable(),
147
179
  nextSettlementAt: amount.nullable(),
148
- reason: z2.string().nullable()
180
+ reason: z3.string().nullable()
149
181
  }).nullable(),
150
- items: z2.array(engagementSettlementSchema),
182
+ items: z3.array(engagementSettlementSchema),
151
183
  nextCursor: pageCursorSchema.nullable()
152
184
  });
153
- var engagementChangePreviewInputSchema = z2.strictObject({
154
- code: z2.string().min(1).max(1e6)
185
+ var engagementChangePreviewInputSchema = z3.strictObject({
186
+ code: z3.string().min(1).max(1e6)
155
187
  });
156
188
  var engagementChangeSchema = engagementPublishSchema.extend({
157
189
  expectedVersion: identifier,
158
190
  previewHash: identifier
159
191
  });
160
- var total = z2.string().regex(/^(0|[1-9][0-9]*)$/);
161
- var engagementChangePreviewSchema = z2.strictObject({
192
+ var total = z3.string().regex(/^(0|[1-9][0-9]*)$/);
193
+ var engagementChangePreviewSchema = z3.strictObject({
162
194
  rule: identifier,
163
195
  fromVersion: identifier,
164
196
  toVersion: identifier,
165
197
  previewHash: identifier,
166
198
  definition: engagementDefinitionSchema,
167
- boundary: z2.literal("available-eligible-observation"),
168
- settlement: z2.literal("deferred"),
169
- summary: z2.strictObject({
199
+ boundary: z3.literal("available-eligible-observation"),
200
+ settlement: z3.literal("deferred"),
201
+ summary: z3.strictObject({
170
202
  knownAdmissions: amount,
171
203
  accounts: amount,
172
204
  uninitialized: amount,
@@ -180,13 +212,13 @@ var engagementChangePreviewSchema = z2.strictObject({
180
212
  var engagementVersionSchema = engagementRuleSchema.extend({
181
213
  previousVersion: identifier.nullable()
182
214
  });
183
- var engagementRuleVersionPageSchema = z2.object({
184
- items: z2.array(
185
- z2.object({
215
+ var engagementRuleVersionPageSchema = z3.object({
216
+ items: z3.array(
217
+ z3.object({
186
218
  version: identifier,
187
- definition: z2.object({
219
+ definition: z3.object({
188
220
  ...engagementDefinitionSchema.shape,
189
- budgets: z2.array(z2.object(engagementBudgetSchema.shape)).max(8).default([])
221
+ budgets: z3.array(z3.object(engagementBudgetSchema.shape)).max(8).default([])
190
222
  }),
191
223
  publishedAt: amount,
192
224
  previousVersion: identifier.nullable()
@@ -194,19 +226,19 @@ var engagementRuleVersionPageSchema = z2.object({
194
226
  ),
195
227
  nextCursor: pageCursorSchema.nullable()
196
228
  });
197
- var engagementVersionPageSchema = z2.strictObject({
198
- items: z2.array(engagementVersionSchema),
229
+ var engagementVersionPageSchema = z3.strictObject({
230
+ items: z3.array(engagementVersionSchema),
199
231
  next: amount.nullable()
200
232
  });
201
- var engagementVersionQuerySchema = z2.strictObject({
233
+ var engagementVersionQuerySchema = z3.strictObject({
202
234
  rule: identifier,
203
- before: z2.coerce.number().int().positive().safe().optional()
235
+ before: z3.coerce.number().int().positive().safe().optional()
204
236
  });
205
- var engagementBoundaryPageSchema = z2.strictObject({
237
+ var engagementBoundaryPageSchema = z3.strictObject({
206
238
  current: engagementRuleSchema.nullable(),
207
239
  requested: engagementRuleSchema,
208
- items: z2.array(
209
- z2.strictObject({
240
+ items: z3.array(
241
+ z3.strictObject({
210
242
  from: identifier,
211
243
  to: identifier,
212
244
  baseline: contentMetricsSchema,
@@ -222,137 +254,137 @@ var engagementArtifactSchema = engagementPublishSchema.omit({
222
254
  var deploymentEntry = engagementArtifactSchema.extend({
223
255
  rule: engagementRuleSchema
224
256
  });
225
- var engagementDeploymentEntrySchema = z2.discriminatedUnion("kind", [
226
- deploymentEntry.extend({ kind: z2.literal("create") }),
227
- deploymentEntry.extend({ kind: z2.literal("unchanged") }),
257
+ var engagementDeploymentEntrySchema = z3.discriminatedUnion("kind", [
258
+ deploymentEntry.extend({ kind: z3.literal("create") }),
259
+ deploymentEntry.extend({ kind: z3.literal("unchanged") }),
228
260
  deploymentEntry.extend({
229
- kind: z2.literal("change"),
261
+ kind: z3.literal("change"),
230
262
  change: engagementChangePreviewSchema
231
263
  })
232
264
  ]);
233
265
 
234
266
  // src/profiles.ts
235
- import { z as z3 } from "zod";
236
- var count = z3.number().int().nonnegative().safe();
237
- var profileVisibilitySchema = z3.enum([
267
+ import { z as z4 } from "zod";
268
+ var count = z4.number().int().nonnegative().safe();
269
+ var profileVisibilitySchema = z4.enum([
238
270
  "private",
239
271
  "participants",
240
272
  "public"
241
273
  ]);
242
- var avatarProviderSchema = z3.enum(["x", "discord", "google"]);
243
- var profileDefaultProviderSchema = z3.enum(["x", "discord"]);
244
- var profileDefaultsSchema = z3.array(profileDefaultProviderSchema).max(profileDefaultProviderSchema.options.length).refine(
274
+ var avatarProviderSchema = z4.enum(["x", "discord", "google"]);
275
+ var profileDefaultProviderSchema = z4.enum(["x", "discord"]);
276
+ var profileDefaultsSchema = z4.array(profileDefaultProviderSchema).max(profileDefaultProviderSchema.options.length).refine(
245
277
  (providers) => new Set(providers).size === providers.length,
246
278
  "List each provider once"
247
279
  );
248
- var avatarSeedSchema = z3.string().min(1).max(100);
249
- var profileAvatarSchema = z3.discriminatedUnion("source", [
250
- z3.object({
251
- source: z3.literal("upload"),
252
- url: z3.string().url(),
280
+ var avatarSeedSchema = z4.string().min(1).max(100);
281
+ var profileAvatarSchema = z4.discriminatedUnion("source", [
282
+ z4.object({
283
+ source: z4.literal("upload"),
284
+ url: z4.string().url(),
253
285
  seed: avatarSeedSchema
254
286
  }),
255
- z3.object({
256
- source: z3.literal("account"),
287
+ z4.object({
288
+ source: z4.literal("account"),
257
289
  provider: avatarProviderSchema,
258
- url: z3.string().url(),
290
+ url: z4.string().url(),
259
291
  seed: avatarSeedSchema
260
292
  }),
261
- z3.object({ source: z3.literal("generated"), seed: avatarSeedSchema })
293
+ z4.object({ source: z4.literal("generated"), seed: avatarSeedSchema })
262
294
  ]);
263
- var profileSummarySchema = z3.object({
295
+ var profileSummarySchema = z4.object({
264
296
  id: identifier,
265
- name: z3.string(),
297
+ name: z4.string(),
266
298
  avatar: profileAvatarSchema
267
299
  });
268
300
  var invisible = /[\p{Cc}؜᠎​-‏‪-‮⁠-⁤⁦-⁩]/u;
269
- var displayNameSchema = z3.string().max(200).transform((value) => value.normalize("NFC").replace(/\s+/g, " ").trim()).pipe(
270
- z3.string().min(1, "Enter a name").max(40, "Use at most 40 characters").refine((value) => !invisible.test(value), "Use visible characters only")
301
+ var displayNameSchema = z4.string().max(200).transform((value) => value.normalize("NFC").replace(/\s+/g, " ").trim()).pipe(
302
+ z4.string().min(1, "Enter a name").max(40, "Use at most 40 characters").refine((value) => !invisible.test(value), "Use visible characters only")
271
303
  );
272
- var profileUpdateSchema = z3.object({
304
+ var profileUpdateSchema = z4.object({
273
305
  displayName: displayNameSchema.nullable().optional(),
274
- avatar: z3.discriminatedUnion("source", [
275
- z3.object({
276
- source: z3.literal("account"),
306
+ avatar: z4.discriminatedUnion("source", [
307
+ z4.object({
308
+ source: z4.literal("account"),
277
309
  provider: avatarProviderSchema
278
310
  }).strict(),
279
- z3.object({ source: z3.literal("generated") }).strict()
311
+ z4.object({ source: z4.literal("generated") }).strict()
280
312
  ]).nullable().optional(),
281
- hidden: z3.boolean().optional()
313
+ hidden: z4.boolean().optional()
282
314
  }).strict().refine(
283
315
  (value) => Object.values(value).some((field) => field !== void 0),
284
316
  "Change at least one field"
285
317
  );
286
318
  var ownProfileSchema = profileSummarySchema.extend({
287
319
  /** The name the member chose, or null for the default. */
288
- displayName: z3.string().nullable(),
320
+ displayName: z4.string().nullable(),
289
321
  /** The avatar the member chose: `default` follows the project's defaults. */
290
- avatarChoice: z3.enum(["default", "upload", "account", "generated"]),
322
+ avatarChoice: z4.enum(["default", "upload", "account", "generated"]),
291
323
  /** The account of an `account` choice. */
292
324
  avatarProvider: avatarProviderSchema.nullable(),
293
- hidden: z3.boolean(),
325
+ hidden: z4.boolean(),
294
326
  /** An operator locked the name and avatar; the member can still hide the profile. */
295
- locked: z3.boolean(),
327
+ locked: z4.boolean(),
296
328
  /** Who can see profiles in this project, so the app can explain it. */
297
329
  visibility: profileVisibilitySchema,
298
330
  /** The member's connected accounts a picture or name can come from. */
299
- options: z3.array(
300
- z3.object({
331
+ options: z4.array(
332
+ z4.object({
301
333
  provider: avatarProviderSchema,
302
- name: z3.string().nullable(),
303
- imageUrl: z3.string().url().nullable()
334
+ name: z4.string().nullable(),
335
+ imageUrl: z4.string().url().nullable()
304
336
  })
305
337
  )
306
338
  });
307
- var cursor = z3.string().min(1).max(512);
308
- var profileCompletionQuerySchema = z3.object({
309
- limit: z3.coerce.number().int().min(1).max(100).default(20),
339
+ var cursor = z4.string().min(1).max(512);
340
+ var profileCompletionQuerySchema = z4.object({
341
+ limit: z4.coerce.number().int().min(1).max(100).default(20),
310
342
  cursor: cursor.optional()
311
343
  }).strict();
312
- var profileCompletionSchema = z3.object({
344
+ var profileCompletionSchema = z4.object({
313
345
  quest: identifier,
314
346
  key: identifier.optional(),
315
- title: z3.string(),
347
+ title: z4.string(),
316
348
  completions: count.positive(),
317
349
  /** Null for completions recorded before completion times were. */
318
350
  lastCompletedAt: count.nullable()
319
351
  });
320
- var profileCompletionPageSchema = z3.object({
321
- items: z3.array(profileCompletionSchema),
352
+ var profileCompletionPageSchema = z4.object({
353
+ items: z4.array(profileCompletionSchema),
322
354
  nextCursor: cursor.nullable()
323
355
  });
324
- var profileReferralSchema = z3.object({
356
+ var profileReferralSchema = z4.object({
325
357
  program: identifier,
326
358
  key: identifier.optional(),
327
- title: z3.string(),
359
+ title: z4.string(),
328
360
  /** Members this member invited. Invitations are shared by every program. */
329
361
  invited: count,
330
362
  /** Invited members who qualified in this program. */
331
363
  qualified: count,
332
- milestones: z3.array(
333
- z3.object({ id: identifier, count, reached: z3.boolean() })
364
+ milestones: z4.array(
365
+ z4.object({ id: identifier, count, reached: z4.boolean() })
334
366
  )
335
367
  });
336
- var profileSettingsSchema = z3.object({
368
+ var profileSettingsSchema = z4.object({
337
369
  visibility: profileVisibilitySchema,
338
370
  defaults: profileDefaultsSchema,
339
371
  revision: count,
340
- actor: z3.string().nullable(),
372
+ actor: z4.string().nullable(),
341
373
  updatedAt: count.nullable()
342
374
  });
343
375
  var profileSettingsInputSchema = profileSettingsSchema.omit({ revision: true, actor: true, updatedAt: true }).extend({
344
376
  actionId: identifier,
345
377
  /** The revision the change was made against; a newer one is a 409. */
346
378
  expectedRevision: count,
347
- reason: z3.string().trim().min(1).max(500)
379
+ reason: z4.string().trim().min(1).max(500)
348
380
  }).strict();
349
- var profileModerationSchema = z3.object({
381
+ var profileModerationSchema = z4.object({
350
382
  actionId: identifier,
351
- resetName: z3.boolean().default(false),
352
- removeAvatar: z3.boolean().default(false),
383
+ resetName: z4.boolean().default(false),
384
+ removeAvatar: z4.boolean().default(false),
353
385
  /** True locks the name and avatar, false unlocks them. */
354
- lock: z3.boolean().optional(),
355
- reason: z3.string().trim().min(1).max(1e3)
386
+ lock: z4.boolean().optional(),
387
+ reason: z4.string().trim().min(1).max(1e3)
356
388
  }).strict().refine(
357
389
  (value) => value.resetName || value.removeAvatar || value.lock !== void 0,
358
390
  "Choose an action"
@@ -360,55 +392,55 @@ var profileModerationSchema = z3.object({
360
392
  var managedProfileSchema = ownProfileSchema.omit({ options: true }).extend({
361
393
  member: identifier,
362
394
  lockedAt: count.nullable(),
363
- lockedBy: z3.string().nullable(),
364
- lockedReason: z3.string().nullable(),
395
+ lockedBy: z4.string().nullable(),
396
+ lockedReason: z4.string().nullable(),
365
397
  updatedAt: count
366
398
  });
367
399
  var AVATAR_UPLOAD_LIMIT = 5 * 1024 * 1024;
368
400
  var avatarUploadTypes = ["image/jpeg", "image/png", "image/webp"];
369
401
 
370
402
  // src/leaderboards.ts
371
- import { z as z4 } from "zod";
372
- var integer = z4.number().int().safe();
403
+ import { z as z5 } from "zod";
404
+ var integer = z5.number().int().safe();
373
405
  var timestamp = integer.nonnegative().max(864e13);
374
- var leaderboardWindowSchema = z4.discriminatedUnion("kind", [
375
- z4.object({ kind: z4.literal("all-time") }).strict(),
376
- z4.object({ kind: z4.literal("fixed"), start: timestamp, end: timestamp }).strict().refine((w) => w.end > w.start, "Window end must follow its start"),
377
- z4.object({ kind: z4.literal("rolling"), days: integer.min(1).max(3660) }).strict(),
406
+ var leaderboardWindowSchema = z5.discriminatedUnion("kind", [
407
+ z5.object({ kind: z5.literal("all-time") }).strict(),
408
+ z5.object({ kind: z5.literal("fixed"), start: timestamp, end: timestamp }).strict().refine((w) => w.end > w.start, "Window end must follow its start"),
409
+ z5.object({ kind: z5.literal("rolling"), days: integer.min(1).max(3660) }).strict(),
378
410
  // Not strict: boards published while a calendar window named its own `timeZone` keep reading,
379
411
  // and the field drops on parse. The authoring schema refuses it.
380
- z4.object({
381
- kind: z4.literal("calendar"),
412
+ z5.object({
413
+ kind: z5.literal("calendar"),
382
414
  /** The current day, week (ISO, starting on Monday) or month of the project calendar. */
383
415
  period: calendarPeriodSchema.exclude(["lifetime"])
384
416
  })
385
417
  ]);
386
418
  var periodScore = {
387
419
  window: leaderboardWindowSchema.default({ kind: "all-time" }),
388
- quests: z4.array(identifier).min(1).max(100).optional()
420
+ quests: z5.array(identifier).min(1).max(100).optional()
389
421
  };
390
- var scoreSchema = z4.discriminatedUnion("kind", [
391
- z4.object({ kind: z4.literal("balance") }).strict(),
392
- z4.object({ kind: z4.literal("earned"), ...periodScore }).strict(),
393
- z4.object({
394
- kind: z4.literal("net"),
422
+ var scoreSchema = z5.discriminatedUnion("kind", [
423
+ z5.object({ kind: z5.literal("balance") }).strict(),
424
+ z5.object({ kind: z5.literal("earned"), ...periodScore }).strict(),
425
+ z5.object({
426
+ kind: z5.literal("net"),
395
427
  window: leaderboardWindowSchema.default({ kind: "all-time" })
396
428
  }).strict()
397
429
  ]).default({ kind: "balance" });
398
- var leaderboardPrizeRewardSchema = z4.union([
430
+ var leaderboardPrizeRewardSchema = z5.union([
399
431
  pointsRewardSchema,
400
432
  tierRewardSchema
401
433
  ]);
402
- var leaderboardPrizeSchema = z4.object({
403
- ranks: z4.tuple([integer.positive(), integer.positive()]).refine(([first, last]) => last >= first, {
434
+ var leaderboardPrizeSchema = z5.object({
435
+ ranks: z5.tuple([integer.positive(), integer.positive()]).refine(([first, last]) => last >= first, {
404
436
  message: "Prize rank range must end at or after it starts"
405
437
  }),
406
- rewards: z4.array(leaderboardPrizeRewardSchema).min(1).max(20)
438
+ rewards: z5.array(leaderboardPrizeRewardSchema).min(1).max(20)
407
439
  }).strict();
408
- var leaderboardSettlementPolicySchema = z4.object({
409
- at: z4.literal("window-end"),
410
- ties: z4.enum(["shared", "earliest"]),
411
- prizes: z4.array(leaderboardPrizeSchema).min(1).max(50)
440
+ var leaderboardSettlementPolicySchema = z5.object({
441
+ at: z5.literal("window-end"),
442
+ ties: z5.enum(["shared", "earliest"]),
443
+ prizes: z5.array(leaderboardPrizeSchema).min(1).max(50)
412
444
  }).strict().superRefine((policy, context) => {
413
445
  for (const [index, prize] of policy.prizes.entries()) {
414
446
  const keys = prize.rewards.map(rewardKey);
@@ -432,13 +464,13 @@ var leaderboardSettlementPolicySchema = z4.object({
432
464
  }
433
465
  }
434
466
  });
435
- var leaderboardDefinitionObject = z4.object({
467
+ var leaderboardDefinitionObject = z5.object({
436
468
  id: identifier,
437
469
  key: identifier.optional(),
438
- title: z4.string().trim().min(1).max(120),
470
+ title: z5.string().trim().min(1).max(120),
439
471
  balance: identifier,
440
472
  score: scoreSchema,
441
- access: z4.enum(["participants", "public"]).default("participants"),
473
+ access: z5.enum(["participants", "public"]).default("participants"),
442
474
  group: identifier.optional(),
443
475
  settle: leaderboardSettlementPolicySchema.optional()
444
476
  }).strict();
@@ -457,60 +489,60 @@ var leaderboardDefinitionResponseSchema = responseShape(
457
489
  );
458
490
  var leaderboardAuthoringSchema = leaderboardDefinitionObject.omit({ id: true }).extend({
459
491
  ...authoringIdentityShape,
460
- score: z4.preprocess(refuseWindowTimeZone, scoreSchema),
492
+ score: z5.preprocess(refuseWindowTimeZone, scoreSchema),
461
493
  group: identifier.optional()
462
494
  }).strict().superRefine(validateSettlementWindow);
463
- var leaderboardArtifactSchema = z4.union([
495
+ var leaderboardArtifactSchema = z5.union([
464
496
  leaderboardAuthoringSchema,
465
- z4.object({ code: z4.string().min(1).max(2e6) }).strict()
497
+ z5.object({ code: z5.string().min(1).max(2e6) }).strict()
466
498
  ]);
467
- var publishedLeaderboardSchema = z4.object({
468
- archivedAt: z4.number().int().nonnegative().nullable().optional(),
499
+ var publishedLeaderboardSchema = z5.object({
500
+ archivedAt: z5.number().int().nonnegative().nullable().optional(),
469
501
  version: identifier,
470
502
  definition: leaderboardDefinitionResponseSchema,
471
503
  publishedAt: timestamp,
472
- actor: z4.string().nullable()
504
+ actor: z5.string().nullable()
473
505
  });
474
- var leaderboardQuerySchema = z4.object({
475
- limit: z4.coerce.number().int().min(1).max(100).default(25),
476
- cursor: z4.string().max(4096).optional()
506
+ var leaderboardQuerySchema = z5.object({
507
+ limit: z5.coerce.number().int().min(1).max(100).default(25),
508
+ cursor: z5.string().max(4096).optional()
477
509
  }).strict();
478
- var leaderboardRowSchema = z4.object({
510
+ var leaderboardRowSchema = z5.object({
479
511
  /** The row's stable key: a pseudonym per board and member. */
480
512
  participant: identifier,
481
513
  member: identifier.optional(),
482
514
  /** The profile's name where the viewer can see it, otherwise the pseudonym's. */
483
- name: z4.string(),
515
+ name: z5.string(),
484
516
  score: integer,
485
517
  rank: integer.positive(),
486
518
  /** The member's profile, where visible to this viewer and not hidden by the member. */
487
519
  profile: profileSummarySchema.nullable()
488
520
  });
489
- var leaderboardPageSchema = z4.object({
521
+ var leaderboardPageSchema = z5.object({
490
522
  leaderboard: identifier,
491
- title: z4.string(),
523
+ title: z5.string(),
492
524
  version: identifier,
493
- calculation: z4.enum(["balance", "earned", "net"]),
494
- period: z4.object({ start: timestamp.nullable(), end: timestamp.nullable() }),
525
+ calculation: z5.enum(["balance", "earned", "net"]),
526
+ period: z5.object({ start: timestamp.nullable(), end: timestamp.nullable() }),
495
527
  calculatedAt: timestamp,
496
528
  lastEntryAt: timestamp.nullable(),
497
529
  total: integer.nonnegative(),
498
- items: z4.array(leaderboardRowSchema),
530
+ items: z5.array(leaderboardRowSchema),
499
531
  me: leaderboardRowSchema.nullable(),
500
- nearby: z4.array(leaderboardRowSchema),
501
- nextCursor: z4.string().nullable()
532
+ nearby: z5.array(leaderboardRowSchema),
533
+ nextCursor: z5.string().nullable()
502
534
  });
503
- var leaderboardPlacementSchema = z4.object({
535
+ var leaderboardPlacementSchema = z5.object({
504
536
  leaderboard: identifier,
505
537
  key: identifier.optional(),
506
- title: z4.string(),
538
+ title: z5.string(),
507
539
  profile: identifier,
508
540
  rank: integer.positive().nullable(),
509
541
  score: integer.nullable(),
510
542
  /** Ranked participants on the board. */
511
543
  total: integer.nonnegative()
512
544
  });
513
- var leaderboardPreviewSchema = z4.object({
545
+ var leaderboardPreviewSchema = z5.object({
514
546
  published: publishedLeaderboardSchema,
515
547
  before: leaderboardPageSchema.nullable(),
516
548
  after: leaderboardPageSchema
@@ -519,152 +551,152 @@ var mutationBase = {
519
551
  actionId: identifier,
520
552
  member: identifier,
521
553
  balance: identifier,
522
- reason: z4.string().trim().min(1).max(1e3)
554
+ reason: z5.string().trim().min(1).max(1e3)
523
555
  };
524
556
  var datedMutation = { ...mutationBase, effectiveAt: timestamp.optional() };
525
- var pointsMutationSchema = z4.discriminatedUnion("kind", [
526
- z4.object({
557
+ var pointsMutationSchema = z5.discriminatedUnion("kind", [
558
+ z5.object({
527
559
  ...datedMutation,
528
- kind: z4.literal("award"),
529
- referralEligible: z4.boolean().optional(),
560
+ kind: z5.literal("award"),
561
+ referralEligible: z5.boolean().optional(),
530
562
  amount: integer.positive()
531
563
  }).strict(),
532
- z4.object({
564
+ z5.object({
533
565
  ...datedMutation,
534
- kind: z4.literal("spend"),
566
+ kind: z5.literal("spend"),
535
567
  amount: integer.positive()
536
568
  }).strict(),
537
- z4.object({
569
+ z5.object({
538
570
  ...datedMutation,
539
- kind: z4.literal("adjust"),
571
+ kind: z5.literal("adjust"),
540
572
  amount: integer.refine((n) => n !== 0)
541
573
  }).strict(),
542
- z4.object({
574
+ z5.object({
543
575
  ...datedMutation,
544
- kind: z4.literal("set"),
576
+ kind: z5.literal("set"),
545
577
  total: integer.nonnegative(),
546
578
  expectedTotal: integer.nonnegative(),
547
- classification: z4.enum(["earned", "spend"])
579
+ classification: z5.enum(["earned", "spend"])
548
580
  }).strict(),
549
- z4.object({
581
+ z5.object({
550
582
  ...mutationBase,
551
- kind: z4.literal("reverse"),
583
+ kind: z5.literal("reverse"),
552
584
  entry: identifier,
553
585
  amount: integer.positive()
554
586
  }).strict()
555
587
  ]);
556
- var pointsEntrySchema = z4.object({
588
+ var pointsEntrySchema = z5.object({
557
589
  id: identifier,
558
- completion: z4.string().nullable(),
590
+ completion: z5.string().nullable(),
559
591
  member: identifier,
560
592
  balance: identifier,
561
593
  amount: integer,
562
- kind: z4.enum(["award", "spend", "adjust", "reverse"]),
594
+ kind: z5.enum(["award", "spend", "adjust", "reverse"]),
563
595
  effectiveAt: timestamp,
564
596
  receivedAt: timestamp,
565
597
  quest: identifier.nullable(),
566
598
  original: identifier.nullable(),
567
- reason: z4.string(),
568
- actor: z4.string().nullable()
599
+ reason: z5.string(),
600
+ actor: z5.string().nullable()
569
601
  });
570
- var managedPointHistoryPageSchema = z4.object({
571
- items: z4.array(pointsEntrySchema),
602
+ var managedPointHistoryPageSchema = z5.object({
603
+ items: z5.array(pointsEntrySchema),
572
604
  nextCursor: pageCursorSchema.nullable(),
573
605
  /** @deprecated Use `nextCursor`, passed back as `cursor`. Removed in 2.0.0. */
574
- next: z4.number().nullable()
606
+ next: z5.number().nullable()
575
607
  });
576
- var pointsResultSchema = z4.object({
608
+ var pointsResultSchema = z5.object({
577
609
  entry: pointsEntrySchema,
578
610
  total: integer.nonnegative()
579
611
  });
580
- var pointsAccountSchema = z4.object({
612
+ var pointsAccountSchema = z5.object({
581
613
  member: identifier,
582
614
  balance: identifier,
583
615
  total: integer.nonnegative(),
584
616
  held: integer.nonnegative()
585
617
  });
586
- var leaderboardExclusionSchema = z4.object({
618
+ var leaderboardExclusionSchema = z5.object({
587
619
  actionId: identifier,
588
620
  member: identifier,
589
- excluded: z4.boolean(),
590
- reason: z4.string().trim().min(1).max(1e3)
621
+ excluded: z5.boolean(),
622
+ reason: z5.string().trim().min(1).max(1e3)
591
623
  }).strict();
592
- var leaderboardGroupSchema = z4.object({
624
+ var leaderboardGroupSchema = z5.object({
593
625
  actionId: identifier,
594
626
  member: identifier,
595
- included: z4.boolean(),
596
- reason: z4.string().trim().min(1).max(1e3)
627
+ included: z5.boolean(),
628
+ reason: z5.string().trim().min(1).max(1e3)
597
629
  }).strict();
598
- var leaderboardSettlementStatusSchema = z4.enum(["pending", "approved"]);
599
- var leaderboardSettlementSummarySchema = z4.object({
630
+ var leaderboardSettlementStatusSchema = z5.enum(["pending", "approved"]);
631
+ var leaderboardSettlementSummarySchema = z5.object({
600
632
  id: identifier,
601
633
  leaderboard: identifier,
602
634
  version: identifier,
603
- title: z4.string(),
604
- period: z4.object({ start: timestamp, end: timestamp }),
605
- ties: z4.enum(["shared", "earliest"]),
635
+ title: z5.string(),
636
+ period: z5.object({ start: timestamp, end: timestamp }),
637
+ ties: z5.enum(["shared", "earliest"]),
606
638
  status: leaderboardSettlementStatusSchema,
607
639
  total: integer.nonnegative(),
608
640
  winners: integer.nonnegative(),
609
641
  createdAt: timestamp,
610
642
  approvedAt: timestamp.nullable(),
611
- approvedBy: z4.string().nullable(),
612
- approvalReason: z4.string().nullable()
643
+ approvedBy: z5.string().nullable(),
644
+ approvalReason: z5.string().nullable()
613
645
  });
614
- var leaderboardSettlementRowSchema = z4.object({
646
+ var leaderboardSettlementRowSchema = z5.object({
615
647
  member: identifier,
616
648
  score: integer,
617
649
  rank: integer.positive(),
618
650
  position: integer.positive(),
619
651
  scoredAt: timestamp,
620
- prizes: z4.array(integer.nonnegative()),
652
+ prizes: z5.array(integer.nonnegative()),
621
653
  completion: identifier.nullable(),
622
654
  revokedAt: timestamp.nullable()
623
655
  });
624
656
  var leaderboardSettlementSchema = leaderboardSettlementSummarySchema.extend({
625
- prizes: z4.array(leaderboardPrizeSchema),
626
- excluded: z4.array(identifier),
627
- rows: z4.array(leaderboardSettlementRowSchema)
657
+ prizes: z5.array(leaderboardPrizeSchema),
658
+ excluded: z5.array(identifier),
659
+ rows: z5.array(leaderboardSettlementRowSchema)
628
660
  });
629
- var leaderboardSettlementApprovalSchema = z4.object({
661
+ var leaderboardSettlementApprovalSchema = z5.object({
630
662
  actionId: identifier,
631
- reason: z4.string().trim().min(1).max(500)
663
+ reason: z5.string().trim().min(1).max(500)
632
664
  }).strict();
633
665
 
634
666
  // src/referrals.ts
635
- import { z as z5 } from "zod";
636
- var rewardSchema = z5.union([pointsRewardSchema, tierRewardSchema]);
637
- var amount2 = z5.number().int().safe().nonnegative();
638
- var reason = z5.string().trim().min(1).max(1e3);
639
- var referralDefinitionSchema = z5.object({
667
+ import { z as z6 } from "zod";
668
+ var rewardSchema = z6.union([pointsRewardSchema, tierRewardSchema]);
669
+ var amount2 = z6.number().int().safe().nonnegative();
670
+ var reason = z6.string().trim().min(1).max(1e3);
671
+ var referralDefinitionSchema = z6.object({
640
672
  id: identifier,
641
673
  key: identifier.optional(),
642
- title: z5.string().trim().min(1).max(120),
643
- enabled: z5.boolean().default(true),
644
- qualification: z5.discriminatedUnion("kind", [
645
- z5.object({ kind: z5.literal("signup") }).strict(),
646
- z5.object({ kind: z5.literal("quest"), quest: identifier }).strict(),
647
- z5.object({ kind: z5.literal("external") }).strict()
674
+ title: z6.string().trim().min(1).max(120),
675
+ enabled: z6.boolean().default(true),
676
+ qualification: z6.discriminatedUnion("kind", [
677
+ z6.object({ kind: z6.literal("signup") }).strict(),
678
+ z6.object({ kind: z6.literal("quest"), quest: identifier }).strict(),
679
+ z6.object({ kind: z6.literal("external") }).strict()
648
680
  ]),
649
681
  inviterGroup: identifier.optional(),
650
- rewards: z5.object({
651
- inviter: z5.array(rewardSchema).max(10).default([]),
652
- invitee: z5.array(rewardSchema).max(10).default([])
682
+ rewards: z6.object({
683
+ inviter: z6.array(rewardSchema).max(10).default([]),
684
+ invitee: z6.array(rewardSchema).max(10).default([])
653
685
  }).strict().default({ inviter: [], invitee: [] }),
654
- milestones: z5.array(
655
- z5.object({
686
+ milestones: z6.array(
687
+ z6.object({
656
688
  id: identifier,
657
689
  count: amount2.min(1),
658
- rewards: z5.array(rewardSchema).min(1).max(10)
690
+ rewards: z6.array(rewardSchema).min(1).max(10)
659
691
  }).strict()
660
692
  ).max(30).default([]),
661
- bonuses: z5.array(
662
- z5.object({
693
+ bonuses: z6.array(
694
+ z6.object({
663
695
  id: identifier,
664
696
  balance: identifier,
665
697
  basisPoints: amount2.min(1).max(1e4),
666
- quests: z5.array(identifier).min(1).max(100).optional(),
667
- external: z5.boolean().default(false),
698
+ quests: z6.array(identifier).min(1).max(100).optional(),
699
+ external: z6.boolean().default(false),
668
700
  durationDays: amount2.min(1).max(36500).optional(),
669
701
  maxPoints: amount2.min(1).optional()
670
702
  }).strict()
@@ -676,7 +708,7 @@ var referralDefinitionSchema = z5.object({
676
708
  }
677
709
  }
678
710
  });
679
- var referralAuthoringSchema = z5.object(referralDefinitionSchema.shape).omit({ id: true }).extend({
711
+ var referralAuthoringSchema = z6.object(referralDefinitionSchema.shape).omit({ id: true }).extend({
680
712
  ...authoringIdentityShape,
681
713
  inviterGroup: identifier.optional()
682
714
  }).strict().superRefine((value, ctx) => {
@@ -686,105 +718,105 @@ var referralAuthoringSchema = z5.object(referralDefinitionSchema.shape).omit({ i
686
718
  }
687
719
  }
688
720
  });
689
- var referralArtifactSchema = z5.union([
721
+ var referralArtifactSchema = z6.union([
690
722
  referralAuthoringSchema,
691
- z5.object({ code: z5.string().min(1).max(2e6) }).strict()
723
+ z6.object({ code: z6.string().min(1).max(2e6) }).strict()
692
724
  ]);
693
- var publishedReferralSchema = z5.object({
694
- archivedAt: z5.number().int().nonnegative().nullable().optional(),
725
+ var publishedReferralSchema = z6.object({
726
+ archivedAt: z6.number().int().nonnegative().nullable().optional(),
695
727
  version: identifier,
696
728
  definition: referralDefinitionSchema,
697
729
  publishedAt: amount2,
698
- actor: z5.string().nullable()
730
+ actor: z6.string().nullable()
699
731
  });
700
- var referralAcceptSchema = z5.object({ actionId: identifier, code: identifier }).strict();
701
- var referralSuspensionSchema = z5.object({ actionId: identifier, suspended: z5.boolean(), reason }).strict();
702
- var referralQualificationSchema = z5.object({ actionId: identifier, qualified: z5.boolean(), reason }).strict();
703
- var referralRewardResolutionSchema = z5.object({ actionId: identifier, reason }).strict();
704
- var referralControlSchema = z5.discriminatedUnion("kind", [
705
- z5.object({
706
- kind: z5.literal("suspend"),
732
+ var referralAcceptSchema = z6.object({ actionId: identifier, code: identifier }).strict();
733
+ var referralSuspensionSchema = z6.object({ actionId: identifier, suspended: z6.boolean(), reason }).strict();
734
+ var referralQualificationSchema = z6.object({ actionId: identifier, qualified: z6.boolean(), reason }).strict();
735
+ var referralRewardResolutionSchema = z6.object({ actionId: identifier, reason }).strict();
736
+ var referralControlSchema = z6.discriminatedUnion("kind", [
737
+ z6.object({
738
+ kind: z6.literal("suspend"),
707
739
  actionId: identifier,
708
740
  member: identifier,
709
- suspended: z5.boolean(),
741
+ suspended: z6.boolean(),
710
742
  reason
711
743
  }).strict(),
712
- z5.object({
713
- kind: z5.literal("qualify"),
744
+ z6.object({
745
+ kind: z6.literal("qualify"),
714
746
  actionId: identifier,
715
747
  member: identifier,
716
748
  program: identifier,
717
- qualified: z5.boolean(),
749
+ qualified: z6.boolean(),
718
750
  reason
719
751
  }).strict(),
720
- z5.object({
721
- kind: z5.literal("resolve-reward"),
752
+ z6.object({
753
+ kind: z6.literal("resolve-reward"),
722
754
  actionId: identifier,
723
755
  entitlement: identifier,
724
756
  reason
725
757
  }).strict()
726
758
  ]);
727
- var referralRelationshipSchema = z5.object({
759
+ var referralRelationshipSchema = z6.object({
728
760
  member: identifier,
729
761
  inviter: identifier,
730
762
  acceptedAt: amount2,
731
- suspended: z5.boolean()
763
+ suspended: z6.boolean()
732
764
  });
733
- var referralAccountSchema = z5.object({
765
+ var referralAccountSchema = z6.object({
734
766
  id: identifier,
735
767
  program: identifier,
736
- kind: z5.enum(["bonus", "fixed", "milestone"]),
768
+ kind: z6.enum(["bonus", "fixed", "milestone"]),
737
769
  balance: identifier,
738
770
  earned: amount2,
739
771
  settled: amount2,
740
772
  outstanding: amount2
741
773
  });
742
- var referralSummarySchema = z5.object({
774
+ var referralSummarySchema = z6.object({
743
775
  code: identifier,
744
776
  attributed: amount2,
745
- programs: z5.array(
746
- z5.object({
777
+ programs: z6.array(
778
+ z6.object({
747
779
  definition: referralDefinitionSchema,
748
780
  qualified: amount2,
749
- milestones: z5.array(
750
- z5.object({ id: identifier, count: amount2, reached: z5.boolean() })
781
+ milestones: z6.array(
782
+ z6.object({ id: identifier, count: amount2, reached: z6.boolean() })
751
783
  )
752
784
  })
753
785
  ),
754
- accounts: z5.array(referralAccountSchema)
786
+ accounts: z6.array(referralAccountSchema)
755
787
  });
756
- var referralHistorySchema = z5.object({
757
- items: z5.array(
758
- z5.object({
788
+ var referralHistorySchema = z6.object({
789
+ items: z6.array(
790
+ z6.object({
759
791
  id: amount2,
760
792
  program: identifier,
761
793
  balance: identifier,
762
- amount: z5.number().int().safe(),
794
+ amount: z6.number().int().safe(),
763
795
  at: amount2,
764
- reason: z5.string()
796
+ reason: z6.string()
765
797
  })
766
798
  ),
767
799
  nextCursor: pageCursorSchema.nullable()
768
800
  });
769
- var referralManagementSchema = z5.object({
770
- relationships: z5.array(referralRelationshipSchema),
771
- qualifications: z5.array(
772
- z5.object({
801
+ var referralManagementSchema = z6.object({
802
+ relationships: z6.array(referralRelationshipSchema),
803
+ qualifications: z6.array(
804
+ z6.object({
773
805
  member: identifier,
774
806
  program: identifier,
775
- qualified: z5.boolean(),
807
+ qualified: z6.boolean(),
776
808
  qualifiedAt: amount2
777
809
  })
778
810
  ),
779
- accounts: z5.array(
780
- referralAccountSchema.extend({ member: identifier, invitee: z5.string() })
811
+ accounts: z6.array(
812
+ referralAccountSchema.extend({ member: identifier, invitee: z6.string() })
781
813
  ),
782
- reviews: z5.array(
783
- z5.object({
814
+ reviews: z6.array(
815
+ z6.object({
784
816
  entitlement: identifier,
785
817
  member: identifier,
786
818
  program: identifier,
787
- reason: z5.string()
819
+ reason: z6.string()
788
820
  })
789
821
  ),
790
822
  nextCursor: pageCursorSchema.nullable().default(null),
@@ -793,51 +825,51 @@ var referralManagementSchema = z5.object({
793
825
  });
794
826
 
795
827
  // src/offers.ts
796
- import { z as z6 } from "zod";
797
- var quantity = z6.number().int().safe().nonnegative();
828
+ import { z as z7 } from "zod";
829
+ var quantity = z7.number().int().safe().nonnegative();
798
830
  var offerPriceSchema = pointsRewardSchema.extend({
799
- amount: z6.number().int().positive().max(1e4)
831
+ amount: z7.number().int().positive().max(1e4)
800
832
  });
801
- var offerLimitSchema = z6.object({ perMember: z6.number().int().positive().max(1e4) }).strict();
802
- var offerDefinitionSchema = z6.object({
833
+ var offerLimitSchema = z7.object({ perMember: z7.number().int().positive().max(1e4) }).strict();
834
+ var offerDefinitionSchema = z7.object({
803
835
  id: identifier,
804
836
  key: identifier.optional(),
805
- title: z6.string().trim().min(1).max(120),
837
+ title: z7.string().trim().min(1).max(120),
806
838
  price: offerPriceSchema,
807
839
  reward: tierRewardSchema,
808
840
  stock: quantity.max(1e6),
809
841
  limit: offerLimitSchema.default({ perMember: 1 }),
810
- enabled: z6.boolean().default(true)
842
+ enabled: z7.boolean().default(true)
811
843
  }).strict();
812
844
  var offerAuthoringSchema = offerDefinitionSchema.omit({ id: true, title: true, enabled: true }).extend({
813
845
  ...authoringIdentityShape,
814
- title: z6.string().trim().min(1).max(120).optional()
846
+ title: z7.string().trim().min(1).max(120).optional()
815
847
  }).strict().transform((offer) => ({
816
848
  ...offer,
817
849
  title: offer.title ?? offer.reward.reward.title,
818
850
  enabled: true
819
851
  }));
820
- var offerArtifactSchema = z6.union([
852
+ var offerArtifactSchema = z7.union([
821
853
  offerAuthoringSchema,
822
- z6.object({ code: z6.string().min(1).max(2e6) }).strict()
854
+ z7.object({ code: z7.string().min(1).max(2e6) }).strict()
823
855
  ]);
824
856
  var offerAvailabilitySchema = responseShape(
825
- z6.discriminatedUnion("kind", [
826
- z6.object({ kind: z6.literal("available"), remaining: quantity }).strict(),
827
- z6.object({ kind: z6.literal("out-of-stock") }).strict(),
828
- z6.object({ kind: z6.literal("limit-reached") }).strict(),
829
- z6.object({ kind: z6.literal("paused") }).strict()
857
+ z7.discriminatedUnion("kind", [
858
+ z7.object({ kind: z7.literal("available"), remaining: quantity }).strict(),
859
+ z7.object({ kind: z7.literal("out-of-stock") }).strict(),
860
+ z7.object({ kind: z7.literal("limit-reached") }).strict(),
861
+ z7.object({ kind: z7.literal("paused") }).strict()
830
862
  ])
831
863
  );
832
864
  var offerSchema = responseShape(
833
865
  offerDefinitionSchema.extend({
834
- revision: z6.number().int().positive(),
866
+ revision: z7.number().int().positive(),
835
867
  available: quantity,
836
868
  redeemed: quantity,
837
869
  availability: offerAvailabilitySchema
838
870
  })
839
871
  );
840
- var redeemOfferSchema = z6.object({ actionId: identifier }).strict();
872
+ var redeemOfferSchema = z7.object({ actionId: identifier }).strict();
841
873
  var redemptionBase = {
842
874
  id: identifier,
843
875
  offer: identifier,
@@ -851,36 +883,46 @@ var redemptionBase = {
851
883
  price: offerPriceSchema,
852
884
  reward: tierRewardSchema,
853
885
  entitlement: identifier,
854
- revision: z6.number().int().positive(),
855
- redeemedAt: z6.number().int().safe().nonnegative()
886
+ revision: z7.number().int().positive(),
887
+ redeemedAt: z7.number().int().safe().nonnegative()
856
888
  };
857
889
  var redemptionSchema = responseShape(
858
- z6.discriminatedUnion("status", [
859
- z6.object({ ...redemptionBase, status: z6.literal("fulfilled") }).strict(),
860
- z6.object({
890
+ z7.discriminatedUnion("status", [
891
+ z7.object({ ...redemptionBase, status: z7.literal("fulfilled") }).strict(),
892
+ z7.object({
861
893
  ...redemptionBase,
862
- status: z6.literal("canceled"),
863
- canceledAt: z6.number().int().safe().nonnegative(),
864
- reason: z6.string().min(1).max(500)
894
+ status: z7.literal("canceled"),
895
+ canceledAt: z7.number().int().safe().nonnegative(),
896
+ reason: z7.string().min(1).max(500)
865
897
  }).strict()
866
898
  ])
867
899
  );
868
- var offerControlSchema = z6.object({
900
+ var offerControlSchema = z7.object({
869
901
  actionId: identifier,
870
- revision: z6.number().int().positive(),
871
- enabled: z6.boolean(),
872
- reason: z6.string().trim().min(1).max(500)
902
+ revision: z7.number().int().positive(),
903
+ enabled: z7.boolean(),
904
+ reason: z7.string().trim().min(1).max(500)
873
905
  }).strict();
874
- var redemptionCancellationSchema = z6.object({
906
+ var redemptionCancellationSchema = z7.object({
875
907
  actionId: identifier,
876
- revision: z6.number().int().positive(),
877
- reason: z6.string().trim().min(1).max(500)
908
+ revision: z7.number().int().positive(),
909
+ reason: z7.string().trim().min(1).max(500)
878
910
  }).strict();
879
911
  function defineOffer(input) {
880
912
  return resourceHandle("offer", offerAuthoringSchema.parse(input));
881
913
  }
882
914
 
883
915
  export {
916
+ badgePropertiesSchema,
917
+ badgeDeclarationSchema,
918
+ badgeSchema,
919
+ managedBadgeSchema,
920
+ createBadgeSchema,
921
+ badgeArtifactSchema,
922
+ memberBadgeSchema,
923
+ memberBadgesSchema,
924
+ badgeMutationSchema,
925
+ badgeMutationResultSchema,
884
926
  pointLedgerPropertiesSchema,
885
927
  createPointLedgerSchema,
886
928
  pointLedgerSchema,