@domino-sdk/relay 1.24.1 → 1.30.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 (58) hide show
  1. package/dist/{accounts-B31dWEYD.d.ts → accounts-DRPENuZe.d.ts} +1 -1
  2. package/dist/{attempt-captures-JDIgz2lY.d.ts → attempt-captures-nMDnKGdI.d.ts} +2 -2
  3. package/dist/authoring.d.ts +59 -60
  4. package/dist/authoring.js +7 -7
  5. package/dist/{automatic-outcomes-T9lEIvTj.d.ts → automatic-outcomes-CHiFP_U-.d.ts} +2 -2
  6. package/dist/avatar.d.ts +2 -2
  7. package/dist/browser.d.ts +10 -10
  8. package/dist/browser.js +10 -10
  9. package/dist/capability-error-FQGGb5xS.d.ts +71 -0
  10. package/dist/{chunk-UCZGXYCN.js → chunk-24BMKPCY.js} +10 -10
  11. package/dist/{chunk-MC6V6VMG.js → chunk-4OC7REYX.js} +1 -1
  12. package/dist/{chunk-JKFSDBQX.js → chunk-AOB3N4QO.js} +1 -1
  13. package/dist/{chunk-6UFXPKLA.js → chunk-BVEWY2ZL.js} +99 -39
  14. package/dist/{chunk-MRU7GX2V.js → chunk-C3KL5SGM.js} +21 -8
  15. package/dist/{chunk-WOGCRDFT.js → chunk-CCTZIHWN.js} +1 -1
  16. package/dist/{chunk-FE6SQTXF.js → chunk-CMGGWWH3.js} +2 -2
  17. package/dist/{chunk-G75JVB4D.js → chunk-DDA7G23P.js} +3 -3
  18. package/dist/{chunk-USVER53M.js → chunk-DP4YWFMY.js} +7 -0
  19. package/dist/{chunk-LR2HLHIF.js → chunk-FHOEVR3S.js} +595 -147
  20. package/dist/{chunk-B4EZ76WX.js → chunk-FPKBRUIC.js} +20 -3
  21. package/dist/{chunk-W33PYWYQ.js → chunk-JNBNL7FE.js} +2 -2
  22. package/dist/{chunk-AXQYGVOP.js → chunk-LPURBE7D.js} +1 -1
  23. package/dist/{chunk-GB26FIZT.js → chunk-MNL5NSC4.js} +8 -8
  24. package/dist/{chunk-FMQDD2MT.js → chunk-NFLNEKZ5.js} +47 -16
  25. package/dist/{chunk-ENBQ6UEE.js → chunk-P23AWV76.js} +3 -3
  26. package/dist/{chunk-JUQ2GNMD.js → chunk-PNCLJOUD.js} +2 -2
  27. package/dist/{chunk-E7MVYASS.js → chunk-W7PDXGYB.js} +1 -1
  28. package/dist/{client-HG0uMG0Q.d.ts → client-Ciy0g8Hx.d.ts} +123 -58
  29. package/dist/{deployments-DQY0PNUk.d.ts → deployments-V_BQ1PdE.d.ts} +184 -184
  30. package/dist/{groups-CfyRewkJ.d.ts → groups-sgKusEzF.d.ts} +26 -3
  31. package/dist/index.d.ts +13 -13
  32. package/dist/index.js +12 -10
  33. package/dist/{integrations-BMNtARU_.d.ts → integrations-CllF-kWg.d.ts} +1 -1
  34. package/dist/internal.d.ts +10 -10
  35. package/dist/internal.js +9 -9
  36. package/dist/{offers-CEwkAGsB.d.ts → offers-DzdzB2ZI.d.ts} +3 -3
  37. package/dist/{pages-D1xrbGJl.d.ts → pages-DFZThUH7.d.ts} +17 -3
  38. package/dist/{participant-activity-DYdUUhw2.d.ts → participant-activity-BPZiW7m7.d.ts} +1 -1
  39. package/dist/{participant-rewards-3duLb8YJ.d.ts → participant-rewards-BcWkBRn_.d.ts} +1 -1
  40. package/dist/portal-proxy.js +4 -4
  41. package/dist/{profiles-D29SS12z.d.ts → profiles-BHuQdzsW.d.ts} +1 -1
  42. package/dist/react/index.d.ts +13 -13
  43. package/dist/react/index.js +16 -15
  44. package/dist/{schema-D57mhL2q.d.ts → schema-DquhoBae.d.ts} +164 -2
  45. package/dist/schema.d.ts +441 -442
  46. package/dist/schema.js +30 -10
  47. package/dist/server/index.d.ts +10 -10
  48. package/dist/server/index.js +1001 -725
  49. package/dist/{streaks-CWyq8Px5.d.ts → streaks-0YuipsUQ.d.ts} +1 -1
  50. package/dist/{submission-input-DjXg0o-r.d.ts → submission-input-Dr0v6J9N.d.ts} +3 -3
  51. package/dist/{telegram-browser-DaP0Rawg.d.ts → telegram-browser-DJiawHY-.d.ts} +13 -5
  52. package/dist/testing.d.ts +8 -8
  53. package/dist/testing.js +15 -15
  54. package/dist/{transport-BNOvDy_4.d.ts → transport-BSGalAsT.d.ts} +6799 -3923
  55. package/dist/{wallet-CDyo-U4n.d.ts → wallet-t7uNDg9p.d.ts} +1 -1
  56. package/dist/{images-DwNmzqWv.d.ts → x-58jkoblN.d.ts} +100 -3
  57. package/package.json +1 -1
  58. package/dist/capability-error-oTd3eYFH.d.ts +0 -151
@@ -32,7 +32,7 @@ var RequestError = class extends Error {
32
32
  };
33
33
 
34
34
  // src/errors.ts
35
- import { z } from "zod";
35
+ import * as z from "zod";
36
36
  var RelayErrorCode = {
37
37
  /** The call needs a signed-in member. */
38
38
  NotSignedIn: "not-signed-in",
@@ -61,6 +61,11 @@ var RelayErrorCode = {
61
61
  SubmissionStorageQuota: "submission-storage-quota",
62
62
  /** The saved submission is in a state that does not allow this action. */
63
63
  SubmissionConflict: "submission-conflict",
64
+ /**
65
+ * The saved submission's operation belongs to a retired contract and cannot continue. Show the
66
+ * current quest and let the member `discard()` it before submitting again.
67
+ */
68
+ OperationRetired: "operation-retired",
64
69
  /** The quest changed since the member saw it; review it before submitting again. */
65
70
  QuestUpdated: "quest-updated",
66
71
  /** Wait for the deferred attempt before submitting another action. */
@@ -91,6 +96,8 @@ var RelayErrorCode = {
91
96
  OfferOutOfStock: "offer-out-of-stock",
92
97
  /** The participant's available point balance is below the offer price. */
93
98
  InsufficientPoints: "insufficient-points",
99
+ /** The client's `getToken` failed before anything was sent; `cause` is its own error. */
100
+ Credential: "credential",
94
101
  /** A wallet signer failed or the member refused to sign; `cause` is the wallet's own error. */
95
102
  WalletSigner: "wallet-signer",
96
103
  /** The member has not met the quest's prerequisites; `missing` lists them. */
@@ -154,11 +161,11 @@ function parseInput(schema, value) {
154
161
  }
155
162
 
156
163
  // src/identifier.ts
157
- import { z as z2 } from "zod";
164
+ import * as z2 from "zod";
158
165
  var identifier = z2.string().min(1).max(100).regex(/^[a-zA-Z0-9_-]+$/);
159
166
 
160
167
  // src/response.ts
161
- import { z as z3 } from "zod";
168
+ import * as z3 from "zod";
162
169
  var responseFormat = /* @__PURE__ */ Symbol("domino.response.tolerant-v1");
163
170
  function markResponseSchema(schema) {
164
171
  return Object.assign(schema, { [responseFormat]: true });
@@ -389,18 +396,26 @@ function responseListSchema(schema) {
389
396
  }
390
397
 
391
398
  // src/pages.ts
392
- import { z as z4 } from "zod";
399
+ import * as z4 from "zod";
393
400
  var pageCursorSchema = z4.string().min(1).max(4096);
394
401
  var pageQuerySchema = z4.strictObject({
395
402
  cursor: pageCursorSchema.optional()
396
403
  });
404
+ async function* paginate(read) {
405
+ let cursor;
406
+ do {
407
+ const page = await read(cursor);
408
+ yield* page.items;
409
+ cursor = page.nextCursor ?? void 0;
410
+ } while (cursor !== void 0);
411
+ }
397
412
  var managementStateQuerySchema = z4.strictObject({
398
413
  cursor: pageCursorSchema.optional(),
399
414
  limit: z4.coerce.number().int().min(1).max(100).default(50)
400
415
  });
401
416
 
402
417
  // src/accounts.ts
403
- import { z as z5 } from "zod";
418
+ import * as z5 from "zod";
404
419
  var authProviderSchema = z5.enum(["google", "apple", "x", "discord"]);
405
420
  var accountConnectionSchema = z5.object({
406
421
  provider: authProviderSchema,
@@ -425,7 +440,7 @@ var discordMemberSchema = z5.object({
425
440
  });
426
441
 
427
442
  // src/discord.ts
428
- import { z as z6 } from "zod";
443
+ import * as z6 from "zod";
429
444
  var discordMessageSchema = z6.object({
430
445
  guildId: z6.string(),
431
446
  channelId: z6.string(),
@@ -487,7 +502,7 @@ var discordResourceSourceSchema = z6.union([
487
502
  ]);
488
503
 
489
504
  // src/tracker-data.ts
490
- import { z as z7 } from "zod";
505
+ import * as z7 from "zod";
491
506
  var maxDepth = 16;
492
507
  var maxBytes = 32768;
493
508
  var trackerDataMaxBranches = 16;
@@ -693,9 +708,9 @@ function subset(schema, path) {
693
708
  return kept;
694
709
  }
695
710
  function trackerDataSchema(schema) {
696
- let json;
711
+ let json4;
697
712
  try {
698
- json = z7.toJSONSchema(schema, {
713
+ json4 = z7.toJSONSchema(schema, {
699
714
  target: "draft-2020-12",
700
715
  io: "input",
701
716
  unrepresentable: "throw",
@@ -722,7 +737,7 @@ function trackerDataSchema(schema) {
722
737
  message.startsWith("Tracker data schemas") ? message : `Tracker data schemas describe JSON: ${message}. Use z.unknown() for any JSON value.`
723
738
  );
724
739
  }
725
- const parsed = trackerDataSchemaSchema.safeParse(subset(json, "data"));
740
+ const parsed = trackerDataSchemaSchema.safeParse(subset(json4, "data"));
726
741
  if (!parsed.success) {
727
742
  throw new Error(
728
743
  parsed.error.issues.map((issue) => issue.message).join("; ")
@@ -869,26 +884,26 @@ function matches(schema, value, at, budget) {
869
884
  }
870
885
  }
871
886
  if (typeof value === "object" && value !== null && !Array.isArray(value)) {
872
- const object = value;
887
+ const object19 = value;
873
888
  const properties = schema.properties ?? {};
874
889
  const required = schema.required ?? [];
875
890
  charge(budget, required.length);
876
891
  for (const key of required) {
877
- if (!Object.hasOwn(object, key)) {
892
+ if (!Object.hasOwn(object19, key)) {
878
893
  return issue(() => `missing required key "${clip(key, maxKeyText)}"`);
879
894
  }
880
895
  }
881
896
  const literals = literalsOf(schema);
882
897
  charge(budget, literals.length);
883
898
  for (const [key, property] of literals) {
884
- if (Object.hasOwn(object, key) && object[key] !== property.const) {
899
+ if (Object.hasOwn(object19, key) && object19[key] !== property.const) {
885
900
  return {
886
901
  at: { parent: at, key },
887
902
  reason: () => `expected ${JSON.stringify(property.const)}`
888
903
  };
889
904
  }
890
905
  }
891
- const keys = Object.keys(object);
906
+ const keys = Object.keys(object19);
892
907
  charge(budget, keys.length);
893
908
  const names = schema.propertyNames?.enum;
894
909
  const allowed = names && setOf(schema.propertyNames, names);
@@ -909,7 +924,7 @@ function matches(schema, value, at, budget) {
909
924
  if (property && property !== true) {
910
925
  const found = matches(
911
926
  property,
912
- object[key],
927
+ object19[key],
913
928
  { parent: at, key },
914
929
  budget
915
930
  );
@@ -1040,7 +1055,7 @@ function schemaCheckedReader(reader) {
1040
1055
  }
1041
1056
  const issues = trackerDataIssues(
1042
1057
  schema,
1043
- page.items.map((record2) => record2.data)
1058
+ page.items.map((record9) => record9.data)
1044
1059
  );
1045
1060
  const items = page.items.filter((_, index) => !issues[index]);
1046
1061
  return { ...page, items, excluded: page.items.length - items.length };
@@ -1063,7 +1078,7 @@ function whereSchemaIssue(schema, where) {
1063
1078
  }
1064
1079
 
1065
1080
  // src/trackers.ts
1066
- import { z as z8 } from "zod";
1081
+ import * as z8 from "zod";
1067
1082
  var timestamp = z8.number().int().safe().nonnegative().max(864e13);
1068
1083
  var count = z8.number().int().safe().nonnegative();
1069
1084
  var externalId = z8.string().min(1).max(256);
@@ -1590,7 +1605,7 @@ var trackerPreviewSchema = z8.object({
1590
1605
  });
1591
1606
 
1592
1607
  // src/content.ts
1593
- import { z as z9 } from "zod";
1608
+ import * as z9 from "zod";
1594
1609
  var contentQualificationDecisionSchema = z9.strictObject({
1595
1610
  kind: z9.enum([
1596
1611
  "accept",
@@ -1655,7 +1670,7 @@ var contentPerformancePolicySchema = z9.strictObject({
1655
1670
  });
1656
1671
 
1657
1672
  // src/counters.ts
1658
- import { z as z10 } from "zod";
1673
+ import * as z10 from "zod";
1659
1674
  var day = 864e5;
1660
1675
  var counterGoalSchema = z10.object({
1661
1676
  kind: z10.literal("count"),
@@ -1739,7 +1754,7 @@ var counterHistoryQuerySchema = z10.object({
1739
1754
  var counterModerationResultSchema = z10.object({ excluded: z10.boolean() });
1740
1755
 
1741
1756
  // src/calendar.ts
1742
- import { z as z11 } from "zod";
1757
+ import * as z11 from "zod";
1743
1758
  var timestamp2 = z11.number().int().safe();
1744
1759
  var fixedOffset = /^(?:[+-]|(?:Etc\/)?GMT[+-]\d|(?:EST|MST|HST)$)/i;
1745
1760
  function canonicalTimeZone(zone) {
@@ -1769,9 +1784,9 @@ var timeZoneSchema = z11.string().min(1).max(100).transform((zone, ctx) => {
1769
1784
  });
1770
1785
  var timeZoneNameSchema = z11.string().min(1).max(100);
1771
1786
  var movedTimeZone = (what) => `${what} no longer take a timeZone: they follow the project calendar. Set calendar.timeZone in relay.json or in Console settings.`;
1772
- var record = (value) => typeof value === "object" && value !== null;
1787
+ var record5 = (value) => typeof value === "object" && value !== null;
1773
1788
  function refuseStreakTimeZone(value, ctx) {
1774
- if (record(value) && value.kind === "streak" && "timeZone" in value) {
1789
+ if (record5(value) && value.kind === "streak" && "timeZone" in value) {
1775
1790
  ctx.addIssue({
1776
1791
  code: "custom",
1777
1792
  path: ["timeZone"],
@@ -1781,8 +1796,8 @@ function refuseStreakTimeZone(value, ctx) {
1781
1796
  return value;
1782
1797
  }
1783
1798
  function refuseWindowTimeZone(value, ctx) {
1784
- const window = record(value) ? value.window : void 0;
1785
- if (record(window) && window.kind === "calendar" && "timeZone" in window) {
1799
+ const window = record5(value) ? value.window : void 0;
1800
+ if (record5(window) && window.kind === "calendar" && "timeZone" in window) {
1786
1801
  ctx.addIssue({
1787
1802
  code: "custom",
1788
1803
  path: ["window", "timeZone"],
@@ -1817,7 +1832,7 @@ var projectCalendarInputSchema = z11.object({
1817
1832
  var projectCalendarDeclarationSchema = z11.object({ timeZone: timeZoneSchema }).strict();
1818
1833
 
1819
1834
  // src/streaks.ts
1820
- import { z as z12 } from "zod";
1835
+ import * as z12 from "zod";
1821
1836
  var streakPolicySchema = z12.object({
1822
1837
  kind: z12.literal("streak"),
1823
1838
  days: z12.number().int().min(1).max(3650)
@@ -1859,7 +1874,7 @@ var streakProgressSchema = z12.object({
1859
1874
  });
1860
1875
 
1861
1876
  // src/tracker-triggers.ts
1862
- import { z as z13 } from "zod";
1877
+ import * as z13 from "zod";
1863
1878
  var timestamp3 = z13.number().int().safe().nonnegative().max(864e13);
1864
1879
  var count2 = z13.number().int().safe().nonnegative();
1865
1880
  var trackerTriggerModeSchema = z13.enum([
@@ -2047,7 +2062,7 @@ var trackerTriggerContextSchema = z13.object({
2047
2062
  });
2048
2063
 
2049
2064
  // src/completion.ts
2050
- import { z as z14 } from "zod";
2065
+ import * as z14 from "zod";
2051
2066
  var name = z14.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$/);
2052
2067
  var completionPolicySchema = z14.discriminatedUnion("kind", [
2053
2068
  streakPolicySchema,
@@ -2073,7 +2088,7 @@ var budgetSchema = z14.object({
2073
2088
  }).strict();
2074
2089
 
2075
2090
  // src/integrations.ts
2076
- import { z as z15 } from "zod";
2091
+ import * as z15 from "zod";
2077
2092
  var evaluatorIntegrationProviderSchema = z15.enum(["discord", "x"]);
2078
2093
  var integrationProviderSchema = z15.enum(["discord"]);
2079
2094
  var discordServerSchema = z15.object({
@@ -2092,7 +2107,7 @@ var projectIntegrationSchema = z15.object({
2092
2107
  });
2093
2108
 
2094
2109
  // src/wallet.ts
2095
- import { z as z16 } from "zod";
2110
+ import * as z16 from "zod";
2096
2111
  var solanaAddressSchema = z16.string().min(32).max(44).regex(/^[1-9A-HJ-NP-Za-km-z]+$/);
2097
2112
  var walletChainSchema = z16.enum(["solana", "eip155", "cosmos"]);
2098
2113
  var cosmosNetworkPattern = /^cosmos:[-_a-zA-Z0-9]{1,32}$/;
@@ -2245,7 +2260,7 @@ var walletBalanceSchema = responseShape(
2245
2260
  );
2246
2261
 
2247
2262
  // src/submission-input.ts
2248
- import { z as z17 } from "zod";
2263
+ import * as z17 from "zod";
2249
2264
  var textOptionsSchema = z17.object({
2250
2265
  required: z17.boolean().default(true),
2251
2266
  minLength: z17.number().int().min(0).max(1e4).default(1),
@@ -2334,7 +2349,7 @@ function xPostId(value) {
2334
2349
  }
2335
2350
 
2336
2351
  // src/quiz.ts
2337
- import { z as z18 } from "zod";
2352
+ import * as z18 from "zod";
2338
2353
  var quizId = z18.string().regex(/^[a-zA-Z0-9_-]+$/).max(100);
2339
2354
  var quizChoiceSchema = z18.object({ id: quizId, label: z18.string().trim().min(1).max(500) }).strict();
2340
2355
  var quizQuestionSchema = z18.object({
@@ -2360,7 +2375,7 @@ var quizContentSchema = z18.array(
2360
2375
  );
2361
2376
 
2362
2377
  // src/resources.ts
2363
- import { z as z19 } from "zod";
2378
+ import * as z19 from "zod";
2364
2379
  var resourceSourceSchema = z19.union([
2365
2380
  z19.strictObject({
2366
2381
  provider: z19.literal("domino"),
@@ -2392,10 +2407,10 @@ var resourceOptionsSchema = z19.object({
2392
2407
  });
2393
2408
 
2394
2409
  // src/settings.ts
2395
- import { z as z21 } from "zod";
2410
+ import * as z21 from "zod";
2396
2411
 
2397
2412
  // src/setting-values.ts
2398
- import { z as z20 } from "zod";
2413
+ import * as z20 from "zod";
2399
2414
  var settingInstant = z20.iso.datetime({ offset: true }).transform((value) => new Date(value).toISOString());
2400
2415
  var settingResourceId = z20.union([
2401
2416
  z20.literal(""),
@@ -2505,7 +2520,7 @@ function authoringKey(input) {
2505
2520
  }
2506
2521
 
2507
2522
  // src/campaigns.ts
2508
- import { z as z22 } from "zod";
2523
+ import * as z22 from "zod";
2509
2524
  var timestamp4 = z22.number().int().safe().nonnegative();
2510
2525
  var availabilityWindowSchema = z22.object({ from: timestamp4, until: timestamp4 }).strict().refine((window) => window.until > window.from, {
2511
2526
  message: "Window end must follow its start",
@@ -2551,7 +2566,7 @@ var campaignEnrollmentSchema = z22.object({
2551
2566
  });
2552
2567
 
2553
2568
  // src/resource-handle.ts
2554
- import { z as z23 } from "zod";
2569
+ import * as z23 from "zod";
2555
2570
  function resourceHandle(_kind, definition) {
2556
2571
  return definition;
2557
2572
  }
@@ -2561,7 +2576,7 @@ function ledgerKey(ledger) {
2561
2576
  }
2562
2577
 
2563
2578
  // src/groups.ts
2564
- import { z as z24 } from "zod";
2579
+ import * as z24 from "zod";
2565
2580
  var projectGroupSchema = z24.object({
2566
2581
  key: identifier,
2567
2582
  title: z24.string().trim().min(1).max(120)
@@ -2614,7 +2629,7 @@ var groupMemberPageSchema = z24.object({
2614
2629
  });
2615
2630
 
2616
2631
  // src/prerequisites.ts
2617
- import { z as z25 } from "zod";
2632
+ import * as z25 from "zod";
2618
2633
  var amount = z25.number().int().safe().nonnegative();
2619
2634
  var threshold = amount.positive();
2620
2635
  var completionPrerequisiteSchema = z25.discriminatedUnion("scope", [
@@ -2694,7 +2709,7 @@ function inGroup(group) {
2694
2709
  }
2695
2710
 
2696
2711
  // src/schema.ts
2697
- import { z as z26 } from "zod";
2712
+ import * as z26 from "zod";
2698
2713
  var pointsRewardSchema = z26.object({
2699
2714
  kind: z26.literal("points").default("points"),
2700
2715
  balance: identifier,
@@ -3039,6 +3054,46 @@ var attemptSchema = z26.object({
3039
3054
  requestedReview: z26.boolean().default(false),
3040
3055
  createdAt: z26.number()
3041
3056
  });
3057
+ var QuestSubmissionStatus = {
3058
+ Open: "open",
3059
+ Submitted: "submitted",
3060
+ Discarded: "discarded",
3061
+ Expired: "expired"
3062
+ };
3063
+ var questSubmissionStatusSchema = z26.string();
3064
+ var questSubmissionSchema = responseShape(
3065
+ z26.object({
3066
+ id: identifier,
3067
+ quest: identifier,
3068
+ member: identifier,
3069
+ /** The release the member saw. Submitting refuses with `quest-updated` once another is active. */
3070
+ release: identifier.nullable(),
3071
+ input: submissionEvidenceSchema.nullable(),
3072
+ /** An uploaded photo's evidence ID. */
3073
+ evidence: identifier.nullable(),
3074
+ /** Submitting was refused because the quest changed: review the draft before submitting again. */
3075
+ reviewRequired: z26.boolean(),
3076
+ status: questSubmissionStatusSchema,
3077
+ /** The attempt a `submitted` submission admitted. */
3078
+ attempt: identifier.nullable(),
3079
+ createdAt: z26.number(),
3080
+ updatedAt: z26.number(),
3081
+ /** When an open submission expires unless it changes again. */
3082
+ expiresAt: z26.number()
3083
+ })
3084
+ );
3085
+ var questSubmissionUpdateSchema = z26.object({
3086
+ release: identifier.nullable().optional(),
3087
+ input: submissionEvidenceSchema.nullable().optional(),
3088
+ evidence: identifier.nullable().optional()
3089
+ }).strict();
3090
+ var questSubmissionResultSchema = responseShape(
3091
+ z26.object({
3092
+ submission: questSubmissionSchema,
3093
+ attempt: attemptSchema,
3094
+ replayed: z26.boolean()
3095
+ })
3096
+ );
3042
3097
  var eventSchema = z26.object({
3043
3098
  id: z26.number(),
3044
3099
  attempt: z26.string().nullable(),
@@ -3436,6 +3491,7 @@ export {
3436
3491
  responseListSchema,
3437
3492
  pageCursorSchema,
3438
3493
  pageQuerySchema,
3494
+ paginate,
3439
3495
  managementStateQuerySchema,
3440
3496
  authProviderSchema,
3441
3497
  accountConnectionSchema,
@@ -3685,6 +3741,10 @@ export {
3685
3741
  submitSchema,
3686
3742
  AttemptStatus,
3687
3743
  attemptSchema,
3744
+ QuestSubmissionStatus,
3745
+ questSubmissionSchema,
3746
+ questSubmissionUpdateSchema,
3747
+ questSubmissionResultSchema,
3688
3748
  eventSchema,
3689
3749
  pickupSelectionSchema,
3690
3750
  pickupAllocationSchema,
@@ -11,10 +11,10 @@ import {
11
11
  responseShape,
12
12
  rewardKey,
13
13
  tierRewardSchema
14
- } from "./chunk-6UFXPKLA.js";
14
+ } from "./chunk-BVEWY2ZL.js";
15
15
 
16
16
  // src/badges.ts
17
- import { z } from "zod";
17
+ import * as z from "zod";
18
18
  var badgePropertiesSchema = z.object({
19
19
  name: z.string().trim().min(1).max(120),
20
20
  description: z.string().trim().max(1e3).default(""),
@@ -46,7 +46,7 @@ var badgeMutationResultSchema = z.object({
46
46
  });
47
47
 
48
48
  // src/point-ledgers.ts
49
- import { z as z2 } from "zod";
49
+ import * as z2 from "zod";
50
50
  var pointLedgerPropertiesSchema = z2.object({
51
51
  name: z2.string().trim().min(1).max(120),
52
52
  description: z2.string().trim().max(1e3).default("")
@@ -107,7 +107,7 @@ var pointHistoryPageSchema = z2.object({
107
107
  });
108
108
 
109
109
  // src/engagement.ts
110
- import { z as z3 } from "zod";
110
+ import * as z3 from "zod";
111
111
  var amount = z3.number().int().safe().nonnegative();
112
112
  var engagementBudgetSchema = z3.strictObject({
113
113
  scope: z3.enum(["member", "project"]),
@@ -264,7 +264,7 @@ var engagementDeploymentEntrySchema = z3.discriminatedUnion("kind", [
264
264
  ]);
265
265
 
266
266
  // src/profiles.ts
267
- import { z as z4 } from "zod";
267
+ import * as z4 from "zod";
268
268
  var count = z4.number().int().nonnegative().safe();
269
269
  var profileVisibilitySchema = z4.enum([
270
270
  "private",
@@ -400,7 +400,7 @@ var AVATAR_UPLOAD_LIMIT = 5 * 1024 * 1024;
400
400
  var avatarUploadTypes = ["image/jpeg", "image/png", "image/webp"];
401
401
 
402
402
  // src/leaderboards.ts
403
- import { z as z5 } from "zod";
403
+ import * as z5 from "zod";
404
404
  var integer = z5.number().int().safe();
405
405
  var timestamp = integer.nonnegative().max(864e13);
406
406
  var leaderboardWindowSchema = z5.discriminatedUnion("kind", [
@@ -621,6 +621,17 @@ var leaderboardExclusionSchema = z5.object({
621
621
  excluded: z5.boolean(),
622
622
  reason: z5.string().trim().min(1).max(1e3)
623
623
  }).strict();
624
+ var leaderboardExclusionGroupSchema = z5.object({
625
+ leaderboard: identifier,
626
+ group: identifier,
627
+ generated: z5.boolean(),
628
+ boundAt: timestamp.nullable()
629
+ });
630
+ var leaderboardExclusionGroupBindingSchema = z5.object({
631
+ actionId: identifier,
632
+ group: identifier,
633
+ reason: z5.string().trim().min(1).max(1e3)
634
+ }).strict();
624
635
  var leaderboardGroupSchema = z5.object({
625
636
  actionId: identifier,
626
637
  member: identifier,
@@ -664,7 +675,7 @@ var leaderboardSettlementApprovalSchema = z5.object({
664
675
  }).strict();
665
676
 
666
677
  // src/referrals.ts
667
- import { z as z6 } from "zod";
678
+ import * as z6 from "zod";
668
679
  var rewardSchema = z6.union([pointsRewardSchema, tierRewardSchema]);
669
680
  var amount2 = z6.number().int().safe().nonnegative();
670
681
  var reason = z6.string().trim().min(1).max(1e3);
@@ -825,7 +836,7 @@ var referralManagementSchema = z6.object({
825
836
  });
826
837
 
827
838
  // src/offers.ts
828
- import { z as z7 } from "zod";
839
+ import * as z7 from "zod";
829
840
  var quantity = z7.number().int().safe().nonnegative();
830
841
  var offerPriceSchema = pointsRewardSchema.extend({
831
842
  amount: z7.number().int().positive().max(1e4)
@@ -994,6 +1005,8 @@ export {
994
1005
  pointsResultSchema,
995
1006
  pointsAccountSchema,
996
1007
  leaderboardExclusionSchema,
1008
+ leaderboardExclusionGroupSchema,
1009
+ leaderboardExclusionGroupBindingSchema,
997
1010
  leaderboardGroupSchema,
998
1011
  leaderboardSettlementStatusSchema,
999
1012
  leaderboardSettlementSummarySchema,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isRequestError
3
- } from "./chunk-6UFXPKLA.js";
3
+ } from "./chunk-BVEWY2ZL.js";
4
4
 
5
5
  // src/request-lifetime.ts
6
6
  var PARTICIPANT_TIMEOUT = 15e3;
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  createRelayClient
3
- } from "./chunk-LR2HLHIF.js";
3
+ } from "./chunk-FHOEVR3S.js";
4
4
  import {
5
5
  RelayErrorCode,
6
6
  asRelayError,
7
7
  clientError,
8
8
  cosmosChain
9
- } from "./chunk-6UFXPKLA.js";
9
+ } from "./chunk-BVEWY2ZL.js";
10
10
 
11
11
  // src/base58.ts
12
12
  var alphabet = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  capabilityFailureSchema
3
- } from "./chunk-MC6V6VMG.js";
3
+ } from "./chunk-4OC7REYX.js";
4
4
  import {
5
5
  contentPerformanceSnapshotSchema,
6
6
  decisionSchema,
@@ -8,10 +8,10 @@ import {
8
8
  rewardBundleSchema,
9
9
  settingsValuesSchema,
10
10
  trackerTriggerContextSchema
11
- } from "./chunk-6UFXPKLA.js";
11
+ } from "./chunk-BVEWY2ZL.js";
12
12
 
13
13
  // src/server/attempt-captures.ts
14
- import { z } from "zod";
14
+ import * as z from "zod";
15
15
  var timestamp = z.number().int().nonnegative().safe();
16
16
  var capturedFactSchema = z.object({
17
17
  /** The call's position in the run, from 0. */
@@ -28,6 +28,13 @@ var participantRoutes = [
28
28
  { method: "GET", path: "/v1/me/experience" },
29
29
  { method: "POST", path: "/v1/me/attempts" },
30
30
  { method: "POST", path: `/v1/attempts/:attempt${id}/retry` },
31
+ { method: "GET", path: `/v1/me/quests/:quest${id}/submission` },
32
+ { method: "POST", path: `/v1/me/quests/:quest${id}/submission` },
33
+ { method: "GET", path: `/v1/me/submissions/:submission${id}` },
34
+ { method: "POST", path: `/v1/me/submissions/:submission${id}` },
35
+ { method: "POST", path: `/v1/me/submissions/:submission${id}/submit` },
36
+ { method: "POST", path: `/v1/me/submissions/:submission${id}/discard` },
37
+ { method: "POST", path: `/v1/me/submissions/:submission${id}/evidence` },
31
38
  { method: "POST", path: "/v1/me/evidence" },
32
39
  { method: "POST", path: "/v1/me/collection-pass" },
33
40
  { method: "GET", path: "/v1/me/entitlements" },