@domino-sdk/relay 1.68.0 → 1.70.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 (78) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/build.mjs +3 -0
  3. package/dist/{accounts-DnpKoJCo.d.ts → accounts-B49TGZLk.d.ts} +25 -5
  4. package/dist/{action-9Xl0StBg.d.ts → action-BDFKqGlH.d.ts} +3 -2
  5. package/dist/{attempt-captures-DMNFMYFb.d.ts → attempt-captures-Dn-oGE1o.d.ts} +4 -3
  6. package/dist/authoring.d.ts +218 -43
  7. package/dist/authoring.js +76 -18
  8. package/dist/{automatic-outcomes-CQ3vpiQl.d.ts → automatic-outcomes-DeRyox-X.d.ts} +11 -3
  9. package/dist/avatar.d.ts +2 -1
  10. package/dist/browser.d.ts +15 -14
  11. package/dist/browser.js +11 -11
  12. package/dist/{capability-error-CuI_F7yM.d.ts → capability-error-db7kO8-P.d.ts} +2 -1
  13. package/dist/{catalog-BLGie8Lh.d.ts → catalog-CR_2iacf.d.ts} +11 -3
  14. package/dist/{chunk-5AKD4ZF3.js → chunk-25WA4XYZ.js} +9 -3
  15. package/dist/{chunk-6UBFSMCM.js → chunk-2GVGZ7AN.js} +1 -1
  16. package/dist/{chunk-SD74HD75.js → chunk-3DUNFRKJ.js} +9 -9
  17. package/dist/{chunk-7YSVZA7A.js → chunk-4BBDHTBF.js} +1 -1
  18. package/dist/{chunk-6YTSRWRB.js → chunk-4VDRNYUG.js} +83 -11
  19. package/dist/{chunk-P4TPW4SY.js → chunk-5RLIPTL7.js} +1 -1
  20. package/dist/{chunk-MEUAJIVO.js → chunk-BJ2W5ZVQ.js} +2 -2
  21. package/dist/{chunk-KKHENO57.js → chunk-FHOKCBTJ.js} +2 -2
  22. package/dist/{chunk-DDJN2T5A.js → chunk-HICAGUT5.js} +1 -1
  23. package/dist/{chunk-VRZZB7CQ.js → chunk-LDO5GP7G.js} +1 -1
  24. package/dist/{chunk-TYZFVL73.js → chunk-NOQSKRSS.js} +4 -4
  25. package/dist/{chunk-75KF633N.js → chunk-OKKZPDCQ.js} +1 -1
  26. package/dist/{chunk-4JSPMFO2.js → chunk-RSZAYW3T.js} +2 -2
  27. package/dist/{chunk-HXTKI34N.js → chunk-RYUM6X2K.js} +1 -1
  28. package/dist/{chunk-EXZVWQOQ.js → chunk-SDWG7CWQ.js} +2 -2
  29. package/dist/{chunk-R3MNZKNJ.js → chunk-SELJYCYY.js} +1 -1
  30. package/dist/{chunk-DNPDR4Z7.js → chunk-UKUIE2ND.js} +6 -6
  31. package/dist/{chunk-IW46TW3A.js → chunk-VNEJH4NT.js} +26 -2
  32. package/dist/{chunk-55WJVFWC.js → chunk-XD6EUA27.js} +2 -2
  33. package/dist/{chunk-CZ7NQ7W7.js → chunk-XZCTCSDG.js} +3 -3
  34. package/dist/{client-BMif22WQ.d.ts → client-gJEheT2C.d.ts} +33 -11
  35. package/dist/{dashboards-DMk-vL1q.d.ts → dashboards-DZaB94sz.d.ts} +6 -5
  36. package/dist/{deployments-BCr418BX.d.ts → deployments-QVGxC-fT.d.ts} +530 -337
  37. package/dist/{host-environment-FN4zg3hw.d.ts → host-environment-DUw5-Cvj.d.ts} +2 -1
  38. package/dist/{identity-integration-r76xaAax.d.ts → identity-integration-BAJdzbdl.d.ts} +3 -2
  39. package/dist/index.d.ts +16 -15
  40. package/dist/index.js +10 -10
  41. package/dist/internal.d.ts +34 -19
  42. package/dist/internal.js +40 -14
  43. package/dist/{limits-ByVRQePO.d.ts → limits-UawUbr0S.d.ts} +3 -2
  44. package/dist/{offers-xcPbYaEv.d.ts → offers-0hqbnogq.d.ts} +4 -3
  45. package/dist/{participant-activity-DXRq4s6K.d.ts → participant-activity-BznrcePT.d.ts} +2 -1
  46. package/dist/{participant-rewards-BcWkBRn_.d.ts → participant-rewards-s5Gn23qb.d.ts} +23 -1
  47. package/dist/portal-proxy.d.ts +7 -4
  48. package/dist/portal-proxy.js +14 -17
  49. package/dist/profiles-CLDKZVFx.d.ts +370 -0
  50. package/dist/react/index.d.ts +50 -31
  51. package/dist/react/index.js +12 -11
  52. package/dist/{request-error-D_dUPLwo.d.ts → request-error-C24SY7n9.d.ts} +2 -1
  53. package/dist/{reward-deliveries-0VvT6LMj.d.ts → reward-deliveries-ARvt1UXb.d.ts} +3 -2
  54. package/dist/runtime/authoring.js +1 -1
  55. package/dist/runtime/chunks/447P2VLY.js +1 -0
  56. package/dist/runtime/manifest.json +3 -3
  57. package/dist/runtime/schema.js +1 -1
  58. package/dist/schema.d.ts +258 -176
  59. package/dist/schema.js +18 -8
  60. package/dist/server/index.d.ts +15 -14
  61. package/dist/server/index.js +47 -48
  62. package/dist/{sign-in-providers-C5_753DZ.d.ts → sign-in-providers-DCiufSGG.d.ts} +4 -3
  63. package/dist/solana.d.ts +142 -26
  64. package/dist/solana.js +449 -114
  65. package/dist/{streaks-0YuipsUQ.d.ts → streaks-MAqKHbHC.d.ts} +2 -1
  66. package/dist/{submission-input-CaL8drIh.d.ts → submission-input-C0DLv5Dj.d.ts} +4 -3
  67. package/dist/{telegram-browser-DLtHPRBI.d.ts → telegram-browser-yx9WuNLX.d.ts} +8 -7
  68. package/dist/telegram.d.ts +14 -12
  69. package/dist/telegram.js +2 -2
  70. package/dist/testing.d.ts +24 -15
  71. package/dist/testing.js +6 -6
  72. package/dist/{tracker-data-CAK942sx.d.ts → tracker-data-CUopgomU.d.ts} +198 -3
  73. package/dist/{transport-CkidqTOk.d.ts → transport-e0uY1R7z.d.ts} +3415 -2233
  74. package/dist/vite.d.ts +2 -1
  75. package/dist/{wallet-DQtJelQQ.d.ts → wallet-CJTULM0Q.d.ts} +54 -375
  76. package/dist/{wallet-browser-dpmr22Xv.d.ts → wallet-browser-DScvrvIj.d.ts} +3 -2
  77. package/package.json +6 -3
  78. package/dist/runtime/chunks/2UDZ6TPL.js +0 -1
package/dist/authoring.js CHANGED
@@ -6,14 +6,14 @@ import {
6
6
  sourceDataSchema,
7
7
  sourceRoles,
8
8
  validateQuestShape
9
- } from "./chunk-HXTKI34N.js";
9
+ } from "./chunk-RYUM6X2K.js";
10
10
  import {
11
11
  defineDashboard,
12
12
  tiktokVideoBodySchema,
13
13
  tiktokVideoMetrics,
14
14
  youtubeShortBodySchema,
15
15
  youtubeShortMetrics
16
- } from "./chunk-MEUAJIVO.js";
16
+ } from "./chunk-BJ2W5ZVQ.js";
17
17
  import {
18
18
  CapabilityError,
19
19
  capabilityErrorCodes
@@ -24,7 +24,7 @@ import {
24
24
  engagementScoreSchema,
25
25
  offerAuthoringSchema,
26
26
  referralAuthoringSchema
27
- } from "./chunk-55WJVFWC.js";
27
+ } from "./chunk-XD6EUA27.js";
28
28
  import {
29
29
  announcementSchema,
30
30
  authorBudgetSchema,
@@ -62,6 +62,7 @@ import {
62
62
  isBoundSetting,
63
63
  isContractCall,
64
64
  isContractEvent,
65
+ isEvmAddress,
65
66
  isEvmChainId,
66
67
  isNftCollection,
67
68
  isSolanaNetwork,
@@ -120,6 +121,9 @@ import {
120
121
  walletBalancesNamespace,
121
122
  walletNftSampleSchema,
122
123
  walletNftsNamespace,
124
+ walletProgramAccountSampleSchema,
125
+ walletProgramAccountSourceSchema,
126
+ walletProgramAccountsNamespace,
123
127
  walletProgramActivityNamespace,
124
128
  walletProgramActivitySchema,
125
129
  walletProgramActivitySourceSchema,
@@ -130,10 +134,12 @@ import {
130
134
  whereSettings,
131
135
  xSearchSourceSchema,
132
136
  youtubeShortsNamespace
133
- } from "./chunk-6YTSRWRB.js";
137
+ } from "./chunk-4VDRNYUG.js";
134
138
  import {
135
- parseDefinition
136
- } from "./chunk-IW46TW3A.js";
139
+ namedSchemaFailure,
140
+ parseDefinition,
141
+ parseField
142
+ } from "./chunk-VNEJH4NT.js";
137
143
 
138
144
  // src/builders.ts
139
145
  import * as z from "zod";
@@ -496,7 +502,7 @@ function walletBalanceSource(query) {
496
502
  return { chain: chain === "solana" ? solanaMainnet : chain, token: given };
497
503
  }
498
504
  if (typeof chain === "string" && isEvmChainId(chain)) {
499
- if (given !== null && !/^0x[0-9a-fA-F]{40}$/.test(given)) {
505
+ if (given !== null && !isEvmAddress(given)) {
500
506
  throw new Error(
501
507
  "wallet.balances() on an EVM chain takes an ERC-20 contract address: 0x and 40 hex digits"
502
508
  );
@@ -601,6 +607,31 @@ var wallet = {
601
607
  ...source,
602
608
  stake: stake.data
603
609
  });
610
+ },
611
+ programAccounts(query) {
612
+ const {
613
+ chain = "solana",
614
+ idl,
615
+ ...rest
616
+ } = query;
617
+ const programAccount = walletProgramAccountSourceSchema.safeParse({
618
+ ...rest,
619
+ chain: chain === "solana" ? solanaMainnet : chain,
620
+ ...idl === void 0 ? {} : { idl: { program: rest.program, source: "pasted", idl } }
621
+ });
622
+ if (!programAccount.success) {
623
+ throw new Error(
624
+ `wallet.programAccounts() ${programAccount.error.issues[0].path.join(".")}: ${programAccount.error.issues[0].message}`
625
+ );
626
+ }
627
+ const source = customSource(walletProgramAccountsNamespace, {
628
+ identities: ["wallet"],
629
+ data: walletProgramAccountSampleSchema
630
+ });
631
+ return customSourceSchema.parse({
632
+ ...source,
633
+ programAccount: programAccount.data
634
+ });
604
635
  }
605
636
  };
606
637
  var pointLedgers = () => ({
@@ -748,7 +779,7 @@ var settings = {
748
779
  * on mainnet or `"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1/nft:<address>"` on devnet. Relay checks
749
780
  * it when the collection is published or edited: an EVM chain must be one `ctx.wallet.balance()`
750
781
  * reads and the contract must report the standard through ERC-165 `supportsInterface`; a Solana
751
- * address must be a Core collection or a Metaplex collection NFT on its cluster. Typed as the query's collection, so it passes to
782
+ * address must be a Core collection, a Metaplex collection NFT or a Token-2022 token group's mint on its cluster. Typed as the query's collection, so it passes to
752
783
  * `ctx.wallet.nfts({ collection })` as it is.
753
784
  */
754
785
  nft(options) {
@@ -1146,6 +1177,12 @@ var completionPolicies = { once, keyed, streak, progress, perStation };
1146
1177
  function questBuilder(template) {
1147
1178
  return function defineQuest2(definition) {
1148
1179
  const key = authoringKey(definition);
1180
+ const name = `${template ? "Quest type" : "Quest"} "${key}"`;
1181
+ if (definition.rewards === void 0) {
1182
+ throw new Error(
1183
+ `${name}: rewards is missing. Return [] for a quest that gives none.`
1184
+ );
1185
+ }
1149
1186
  const integrationModules = [
1150
1187
  ...new Set(
1151
1188
  (definition.integrations ?? []).map(
@@ -1239,13 +1276,30 @@ function questBuilder(template) {
1239
1276
  }
1240
1277
  }
1241
1278
  function describe(input) {
1242
- const settings2 = definition.settings.parse(input);
1279
+ try {
1280
+ return describeWith(input);
1281
+ } catch (error) {
1282
+ throw namedSchemaFailure(name, error);
1283
+ }
1284
+ }
1285
+ function describeWith(input) {
1286
+ const { performance } = definition;
1287
+ const settings2 = parseField(
1288
+ "settings",
1289
+ () => definition.settings.parse(input)
1290
+ );
1243
1291
  const values = parseSettings(fields, settings2);
1244
- const rewards = rewardBundleSchema.parse(
1245
- typeof definition.rewards === "function" ? definition.rewards({ settings: settings2 }) : definition.rewards
1292
+ const rewards = parseField(
1293
+ "rewards",
1294
+ () => rewardBundleSchema.parse(
1295
+ typeof definition.rewards === "function" ? definition.rewards({ settings: settings2 }) : definition.rewards
1296
+ )
1246
1297
  );
1247
- const announcements = z3.array(announcementSchema).max(3, "A quest posts at most three announcements").parse(
1248
- (typeof definition.announcements === "function" ? definition.announcements({ settings: settings2 }) : definition.announcements) ?? []
1298
+ const announcements = parseField(
1299
+ "announcements",
1300
+ () => z3.array(announcementSchema).max(3, "A quest posts at most three announcements").parse(
1301
+ (typeof definition.announcements === "function" ? definition.announcements({ settings: settings2 }) : definition.announcements) ?? []
1302
+ )
1249
1303
  );
1250
1304
  const trackerTrigger3 = definition.trigger.kind === "automatic" && definition.trigger.tracker !== void 0;
1251
1305
  for (const announcement of announcements) {
@@ -1291,11 +1345,14 @@ function questBuilder(template) {
1291
1345
  ...announcements.length ? { announcements } : {},
1292
1346
  humanReview: definition.review?.({ settings: settings2 })?.enabled ?? true,
1293
1347
  trigger: definition.trigger,
1294
- ...definition.performance ? {
1295
- performance: contentPerformancePolicySchema.parse({
1296
- metrics: definition.performance.metrics,
1297
- maxAgeMs: definition.performance.maxAgeMs
1298
- })
1348
+ ...performance ? {
1349
+ performance: parseField(
1350
+ "performance",
1351
+ () => contentPerformancePolicySchema.parse({
1352
+ metrics: performance.metrics,
1353
+ maxAgeMs: performance.maxAgeMs
1354
+ })
1355
+ )
1299
1356
  } : {},
1300
1357
  integrations,
1301
1358
  // Written only when it holds a module `integrations` lacks, so a quest declaring known
@@ -1486,6 +1543,7 @@ export {
1486
1543
  invoked,
1487
1544
  isContractCall,
1488
1545
  isContractEvent,
1546
+ isEvmAddress,
1489
1547
  isEvmChainId,
1490
1548
  isNftCollection,
1491
1549
  isSolanaProgram,
@@ -1,6 +1,6 @@
1
1
  import * as z from 'zod';
2
- import { b as AttemptStatus, Y as RewardType } from './accounts-DnpKoJCo.js';
3
- import { S as SkipEnrollment } from './tracker-data-CAK942sx.js';
2
+ import { b as AttemptStatus, Y as RewardType } from './accounts-B49TGZLk.js';
3
+ import { S as SkipEnrollment } from './tracker-data-CUopgomU.js';
4
4
 
5
5
  declare const collectionCodeSchema: z.ZodString;
6
6
  declare const collectionPassSchema: z.ZodObject<{
@@ -39,6 +39,7 @@ declare const collectionPreviewSchema: z.ZodObject<{
39
39
  fulfillment: z.ZodObject<{
40
40
  kind: z.ZodString;
41
41
  }, z.core.$loose>;
42
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
43
  }, z.core.$loose>;
43
44
  earnedTier: z.ZodString;
44
45
  tier: z.ZodString;
@@ -66,6 +67,7 @@ declare const collectionPreviewSchema: z.ZodObject<{
66
67
  fulfillment: z.ZodObject<{
67
68
  kind: z.ZodString;
68
69
  }, z.core.$loose>;
70
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
69
71
  }, z.core.$loose>;
70
72
  earnedTier: z.ZodString;
71
73
  tier: z.ZodString;
@@ -100,6 +102,7 @@ declare const collectionPreviewSchema: z.ZodObject<{
100
102
  fulfillment: z.ZodObject<{
101
103
  kind: z.ZodString;
102
104
  }, z.core.$loose>;
105
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
103
106
  }, z.core.$loose>;
104
107
  earnedTier: z.ZodString;
105
108
  tier: z.ZodString;
@@ -122,6 +125,7 @@ declare const collectionPreviewSchema: z.ZodObject<{
122
125
  fulfillment: z.ZodObject<{
123
126
  kind: z.ZodString;
124
127
  }, z.core.$loose>;
128
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
125
129
  }, z.core.$loose>;
126
130
  earnedTier: z.ZodString;
127
131
  tier: z.ZodString;
@@ -143,6 +147,7 @@ declare const collectionPreviewSchema: z.ZodObject<{
143
147
  fulfillment: z.ZodObject<{
144
148
  kind: z.ZodString;
145
149
  }, z.core.$loose>;
150
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
146
151
  }, z.core.$loose>;
147
152
  earnedTier: z.ZodString;
148
153
  tier: z.ZodString;
@@ -169,6 +174,7 @@ declare const collectionPreviewSchema: z.ZodObject<{
169
174
  [x: string]: unknown;
170
175
  kind: string;
171
176
  };
177
+ key?: string | null | undefined;
172
178
  };
173
179
  earnedTier: string;
174
180
  tier: string;
@@ -195,6 +201,7 @@ declare const collectionPreviewSchema: z.ZodObject<{
195
201
  [x: string]: unknown;
196
202
  kind: string;
197
203
  };
204
+ key?: string | null | undefined;
198
205
  };
199
206
  earnedTier: string;
200
207
  tier: string;
@@ -985,4 +992,5 @@ declare const automaticSchedulingRetrySchema: z.ZodObject<{
985
992
  reason: z.ZodString;
986
993
  }, z.core.$strict>;
987
994
 
988
- export { type AutomaticCatchUpPreview as A, counterHistorySchema as B, type CollectionPass as C, counterModerationResultSchema as D, counterModerationSchema as E, counterPolicySchema as F, counterProgressSchema as G, counterWindowSchema as H, isRetryableAutomaticOutcome as I, type AutomaticEvent as a, type AutomaticOutcome as b, type CounterAchievement as c, type CounterPolicy as d, type CounterProgress as e, automaticCatchUpConfirmSchema as f, automaticCatchUpInputSchema as g, automaticCatchUpPreviewSchema as h, automaticCatchUpResultSchema as i, automaticEventSchema as j, automaticOutcomePageSchema as k, automaticOutcomeQuerySchema as l, automaticOutcomeSchema as m, automaticSchedulingPageSchema as n, automaticSchedulingQuerySchema as o, automaticSchedulingRetrySchema as p, automaticSchedulingSchema as q, collectionBeginSchema as r, collectionCodeSchema as s, collectionPassSchema as t, collectionPreviewSchema as u, collectionResolveSchema as v, counterAchievementSchema as w, counterContributionSchema as x, counterGoalSchema as y, counterHistoryQuerySchema as z };
995
+ export { counterHistorySchema as B, counterModerationResultSchema as D, counterModerationSchema as E, counterPolicySchema as F, counterProgressSchema as G, counterWindowSchema as H, isRetryableAutomaticOutcome as I, automaticCatchUpConfirmSchema as f, automaticCatchUpInputSchema as g, automaticCatchUpPreviewSchema as h, automaticCatchUpResultSchema as i, automaticEventSchema as j, automaticOutcomePageSchema as k, automaticOutcomeQuerySchema as l, automaticOutcomeSchema as m, automaticSchedulingPageSchema as n, automaticSchedulingQuerySchema as o, automaticSchedulingRetrySchema as p, automaticSchedulingSchema as q, collectionBeginSchema as r, collectionCodeSchema as s, collectionPassSchema as t, collectionPreviewSchema as u, collectionResolveSchema as v, counterAchievementSchema as w, counterContributionSchema as x, counterGoalSchema as y, counterHistoryQuerySchema as z };
996
+ export type { AutomaticCatchUpPreview as A, CollectionPass as C, AutomaticEvent as a, AutomaticOutcome as b, CounterAchievement as c, CounterPolicy as d, CounterProgress as e };
package/dist/avatar.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { P as ProfileAvatar, L as LinkedWallet } from './wallet-DQtJelQQ.js';
1
+ import { LinkedWallet } from './index.js';
2
+ import { ProfileAvatar } from './index.js';
2
3
  import 'zod';
3
4
 
4
5
  /**
package/dist/browser.d.ts CHANGED
@@ -1,18 +1,19 @@
1
- import { o as SubmissionStore, f as RelayClientOptions, R as RelayClient } from './client-BMif22WQ.js';
2
- export { C as CosmosChains, D as DiscoveredWallet, E as Eip1193Provider, K as KeplrLike, S as SignInWallet, a as SolanaInjectedProvider, b as StandardWallet, c as StandardWalletAccount, d as cosmosChainList, e as cosmosSigner, f as discoverCosmosWallets, g as discoverEvmWallets, h as discoverSignInWallets, i as discoverSolanaWallets, j as evmSigner, s as solanaSigner, w as walletStandardSolanaSigner } from './wallet-browser-dpmr22Xv.js';
3
- export { E as EmailSignInOption, O as OAuthSignInOption, P as ProviderSignInOption, S as SignInClient, a as SignInIcon, b as SignInMethods, c as SignInOption, d as SignInOptions, e as SignInUnavailable, T as TelegramSignInOption, W as WalletSignInOption, s as signInOptions, t as telegramMiniAppInitData } from './telegram-browser-DLtHPRBI.js';
4
- export { H as HostEnvironment, g as getHostEnvironment } from './host-environment-FN4zg3hw.js';
5
- import { M as MemberSummary } from './participant-activity-DXRq4s6K.js';
6
- import './accounts-DnpKoJCo.js';
1
+ import { SubmissionStore, RelayClientOptions, RelayClient } from './index.js';
2
+ export { C as CosmosChains, D as DiscoveredWallet, E as Eip1193Provider, K as KeplrLike, S as SignInWallet, a as SolanaInjectedProvider, b as StandardWallet, c as StandardWalletAccount, d as cosmosChainList, e as cosmosSigner, f as discoverCosmosWallets, g as discoverEvmWallets, h as discoverSignInWallets, i as discoverSolanaWallets, j as evmSigner, s as solanaSigner, w as walletStandardSolanaSigner } from './wallet-browser-DScvrvIj.js';
3
+ export { E as EmailSignInOption, O as OAuthSignInOption, P as ProviderSignInOption, S as SignInClient, a as SignInIcon, b as SignInMethods, c as SignInOption, d as SignInOptions, e as SignInUnavailable, T as TelegramSignInOption, W as WalletSignInOption, s as signInOptions, t as telegramMiniAppInitData } from './telegram-browser-yx9WuNLX.js';
4
+ export { H as HostEnvironment, g as getHostEnvironment } from './host-environment-DUw5-Cvj.js';
5
+ import { MemberSummary } from './index.js';
6
+ import './accounts-B49TGZLk.js';
7
7
  import 'zod';
8
- import './tracker-data-CAK942sx.js';
9
- import './wallet-DQtJelQQ.js';
10
- import './submission-input-CaL8drIh.js';
11
- import './request-error-D_dUPLwo.js';
12
- import './reward-deliveries-0VvT6LMj.js';
13
- import './catalog-BLGie8Lh.js';
14
- import './action-9Xl0StBg.js';
15
- import './sign-in-providers-C5_753DZ.js';
8
+ import './tracker-data-CUopgomU.js';
9
+ import './wallet-CJTULM0Q.js';
10
+ import './submission-input-C0DLv5Dj.js';
11
+ import './request-error-C24SY7n9.js';
12
+ import './reward-deliveries-ARvt1UXb.js';
13
+ import './catalog-CR_2iacf.js';
14
+ import './action-BDFKqGlH.js';
15
+ import './sign-in-providers-DCiufSGG.js';
16
+ import './profiles-CLDKZVFx.js';
16
17
 
17
18
  /**
18
19
  * The member's time at the real instant `at` (default now), in epoch milliseconds: what an app
package/dist/browser.js CHANGED
@@ -12,23 +12,23 @@ import {
12
12
  signInOptions,
13
13
  solanaSigner,
14
14
  walletStandardSolanaSigner
15
- } from "./chunk-CZ7NQ7W7.js";
15
+ } from "./chunk-XZCTCSDG.js";
16
16
  import {
17
17
  telegramMiniAppInitData
18
18
  } from "./chunk-FWLQ5XCS.js";
19
- import "./chunk-SD74HD75.js";
20
- import "./chunk-P4TPW4SY.js";
21
- import "./chunk-VRZZB7CQ.js";
19
+ import "./chunk-3DUNFRKJ.js";
20
+ import "./chunk-5RLIPTL7.js";
21
+ import "./chunk-LDO5GP7G.js";
22
22
  import {
23
23
  getHostEnvironment
24
24
  } from "./chunk-VAGGGB6B.js";
25
- import "./chunk-7YSVZA7A.js";
26
- import "./chunk-KKHENO57.js";
27
- import "./chunk-R3MNZKNJ.js";
28
- import "./chunk-6UBFSMCM.js";
29
- import "./chunk-55WJVFWC.js";
30
- import "./chunk-6YTSRWRB.js";
31
- import "./chunk-IW46TW3A.js";
25
+ import "./chunk-4BBDHTBF.js";
26
+ import "./chunk-FHOKCBTJ.js";
27
+ import "./chunk-SELJYCYY.js";
28
+ import "./chunk-2GVGZ7AN.js";
29
+ import "./chunk-XD6EUA27.js";
30
+ import "./chunk-4VDRNYUG.js";
31
+ import "./chunk-VNEJH4NT.js";
32
32
  export {
33
33
  browserSubmissionStore,
34
34
  cosmosChainList,
@@ -293,4 +293,5 @@ declare class CapabilityError extends Error {
293
293
  static from(failure: CapabilityFailure): CapabilityError;
294
294
  }
295
295
 
296
- export { type AuthorBudget as A, type Budget as B, CapabilityError as C, type KnownCapabilityErrorCode as K, type MemberCompletion as M, type ResourceSource as R, type TikTokVideoBody as T, type YouTubeShortBody as Y, type Announcement as a, type CapabilityErrorCode as b, type TikTokVideoMetric as c, type YouTubeShortMetric as d, capabilityErrorCodes as e, type CapabilityFailure as f, type ResourceOption as g, announcementSchema as h, announcementTextSchema as i, authorBudgetSchema as j, budgetSchema as k, capabilityFailureSchema as l, completionKeySchema as m, completionPolicySchema as n, discordAnnouncementSchema as o, maxMemberCompletions as p, memberCompletionSchema as q, resourceOptionsSchema as r, resourceRequestSchema as s, resourceSourceSchema as t, telegramAnnouncementSchema as u, tiktokVideoBodySchema as v, tiktokVideoMetrics as w, youtubeShortMetrics as x, youtubeShortBodySchema as y };
296
+ export { CapabilityError as C, capabilityErrorCodes as e, announcementSchema as h, announcementTextSchema as i, authorBudgetSchema as j, budgetSchema as k, capabilityFailureSchema as l, completionKeySchema as m, completionPolicySchema as n, discordAnnouncementSchema as o, maxMemberCompletions as p, memberCompletionSchema as q, resourceOptionsSchema as r, resourceRequestSchema as s, resourceSourceSchema as t, telegramAnnouncementSchema as u, tiktokVideoBodySchema as v, tiktokVideoMetrics as w, youtubeShortMetrics as x, youtubeShortBodySchema as y };
297
+ export type { AuthorBudget as A, Budget as B, KnownCapabilityErrorCode as K, MemberCompletion as M, ResourceSource as R, TikTokVideoBody as T, YouTubeShortBody as Y, Announcement as a, CapabilityErrorCode as b, TikTokVideoMetric as c, YouTubeShortMetric as d, CapabilityFailure as f, ResourceOption as g };
@@ -1,5 +1,5 @@
1
- import { b as AttemptStatus, W as AttemptCodeSource, V as KnownAttemptActionKind, X as IntegrationModuleProvider, Y as RewardType, Z as questDescriptionSchema } from './accounts-DnpKoJCo.js';
2
- import { u as SolanaIdlSource } from './wallet-DQtJelQQ.js';
1
+ import { b as AttemptStatus, W as AttemptCodeSource, V as KnownAttemptActionKind, X as IntegrationModuleProvider, Y as RewardType, Z as questDescriptionSchema } from './accounts-B49TGZLk.js';
2
+ import { S as SolanaIdlSource } from './wallet-CJTULM0Q.js';
3
3
  import * as z from 'zod';
4
4
 
5
5
  /**
@@ -3703,6 +3703,7 @@ declare const questExperienceSchema: z.ZodObject<{
3703
3703
  fulfillment: z.ZodObject<{
3704
3704
  kind: z.ZodString;
3705
3705
  }, z.core.$loose>;
3706
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3706
3707
  }, z.core.$loose>;
3707
3708
  earnedTier: z.ZodString;
3708
3709
  tier: z.ZodString;
@@ -3730,6 +3731,7 @@ declare const questExperienceSchema: z.ZodObject<{
3730
3731
  fulfillment: z.ZodObject<{
3731
3732
  kind: z.ZodString;
3732
3733
  }, z.core.$loose>;
3734
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3733
3735
  }, z.core.$loose>;
3734
3736
  earnedTier: z.ZodString;
3735
3737
  tier: z.ZodString;
@@ -3764,6 +3766,7 @@ declare const questExperienceSchema: z.ZodObject<{
3764
3766
  fulfillment: z.ZodObject<{
3765
3767
  kind: z.ZodString;
3766
3768
  }, z.core.$loose>;
3769
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3767
3770
  }, z.core.$loose>;
3768
3771
  earnedTier: z.ZodString;
3769
3772
  tier: z.ZodString;
@@ -3786,6 +3789,7 @@ declare const questExperienceSchema: z.ZodObject<{
3786
3789
  fulfillment: z.ZodObject<{
3787
3790
  kind: z.ZodString;
3788
3791
  }, z.core.$loose>;
3792
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3789
3793
  }, z.core.$loose>;
3790
3794
  earnedTier: z.ZodString;
3791
3795
  tier: z.ZodString;
@@ -3807,6 +3811,7 @@ declare const questExperienceSchema: z.ZodObject<{
3807
3811
  fulfillment: z.ZodObject<{
3808
3812
  kind: z.ZodString;
3809
3813
  }, z.core.$loose>;
3814
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3810
3815
  }, z.core.$loose>;
3811
3816
  earnedTier: z.ZodString;
3812
3817
  tier: z.ZodString;
@@ -3833,6 +3838,7 @@ declare const questExperienceSchema: z.ZodObject<{
3833
3838
  [x: string]: unknown;
3834
3839
  kind: string;
3835
3840
  };
3841
+ key?: string | null | undefined;
3836
3842
  };
3837
3843
  earnedTier: string;
3838
3844
  tier: string;
@@ -3859,6 +3865,7 @@ declare const questExperienceSchema: z.ZodObject<{
3859
3865
  [x: string]: unknown;
3860
3866
  kind: string;
3861
3867
  };
3868
+ key?: string | null | undefined;
3862
3869
  };
3863
3870
  earnedTier: string;
3864
3871
  tier: string;
@@ -5640,4 +5647,5 @@ declare const allocatedQuestSchema: z.ZodObject<{
5640
5647
  id: z.ZodString;
5641
5648
  }, z.core.$strip>;
5642
5649
 
5643
- export { type QuestInteraction as Q, type QuestRewardView as a, type QuestView as b, type QuestCatalog as c, type QuestDraft as d, type QuestInstance as e, allocateQuestSchema as f, allocatedQuestSchema as g, catalogDeploymentPreviewSchema as h, catalogDeploymentSchema as i, collectionSlotDeclarationSchema as j, collectionSlotSchema as k, collectionViewSchema as l, interactionSchema as m, questCatalogSchema as n, questCollectionSchema as o, publishQuestDraftSchema as p, questExperienceSchema as q, questDraftChangesSchema as r, questDraftSchema as s, questInstanceSchema as t, questInteraction as u, questPublicationPreviewSchema as v, questRewardViewSchema as w, questTypeVersionSchema as x, questViewSchema as y, saveQuestDraftSchema as z };
5650
+ export { allocateQuestSchema as f, allocatedQuestSchema as g, catalogDeploymentPreviewSchema as h, catalogDeploymentSchema as i, collectionSlotDeclarationSchema as j, collectionSlotSchema as k, collectionViewSchema as l, interactionSchema as m, questCatalogSchema as n, questCollectionSchema as o, publishQuestDraftSchema as p, questExperienceSchema as q, questDraftChangesSchema as r, questDraftSchema as s, questInstanceSchema as t, questInteraction as u, questPublicationPreviewSchema as v, questRewardViewSchema as w, questTypeVersionSchema as x, questViewSchema as y, saveQuestDraftSchema as z };
5651
+ export type { QuestInteraction as Q, QuestRewardView as a, QuestView as b, QuestCatalog as c, QuestDraft as d, QuestInstance as e };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  imageAssetArtifactSchema
3
- } from "./chunk-DDJN2T5A.js";
3
+ } from "./chunk-HICAGUT5.js";
4
4
  import {
5
5
  authScopeSchema,
6
6
  exchangeResultSchema
7
- } from "./chunk-6UBFSMCM.js";
7
+ } from "./chunk-2GVGZ7AN.js";
8
8
  import {
9
9
  appIdentityKindSchema,
10
10
  cosmosAddressSchema,
@@ -17,7 +17,7 @@ import {
17
17
  openIdentityKindSchema,
18
18
  pageCursorSchema,
19
19
  solanaAddressSchema
20
- } from "./chunk-6YTSRWRB.js";
20
+ } from "./chunk-4VDRNYUG.js";
21
21
 
22
22
  // src/credential-secrets.ts
23
23
  import * as z from "zod";
@@ -623,6 +623,7 @@ ${body}`)
623
623
  return null;
624
624
  }
625
625
  const parsed = scheduledInvocationSchema.safeParse(
626
+ // A signed body that isn't JSON fails the schema and is refused.
626
627
  await new Response(body).json().catch(() => null)
627
628
  );
628
629
  if (!parsed.success || Math.abs(Date.now() - parsed.data.startedAt) > 6e4) {
@@ -664,6 +665,11 @@ var starters = [
664
665
  title: "Loyalty program",
665
666
  summary: "Members earn points in a campaign, qualify into a members' group, and spend points on offers, some for members only."
666
667
  },
668
+ {
669
+ id: "badge",
670
+ title: "Breakpoint badge game",
671
+ summary: "A game for the Breakpoint 2026 badge in Lua, played in the browser on the badge's own firmware, with points and a leaderboard for every round."
672
+ },
667
673
  {
668
674
  id: "api",
669
675
  title: "API",
@@ -19,7 +19,7 @@ import {
19
19
  storedQuestDescriptionSchema,
20
20
  storedReviewModeSchema,
21
21
  tieredRewardReferenceSchema
22
- } from "./chunk-6YTSRWRB.js";
22
+ } from "./chunk-4VDRNYUG.js";
23
23
 
24
24
  // src/participant-activity.ts
25
25
  import * as z from "zod";
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  createRelayAction,
3
3
  withActionId
4
- } from "./chunk-P4TPW4SY.js";
4
+ } from "./chunk-5RLIPTL7.js";
5
5
  import {
6
6
  setPluginTransport
7
- } from "./chunk-VRZZB7CQ.js";
7
+ } from "./chunk-LDO5GP7G.js";
8
8
  import {
9
9
  createHttpExchange,
10
10
  untilAborted,
11
11
  withQuery
12
- } from "./chunk-7YSVZA7A.js";
12
+ } from "./chunk-4BBDHTBF.js";
13
13
  import {
14
14
  PARTICIPANT_TIMEOUT,
15
15
  lifetime,
16
16
  retrying,
17
17
  validTimeout
18
- } from "./chunk-KKHENO57.js";
18
+ } from "./chunk-FHOKCBTJ.js";
19
19
  import {
20
20
  authProvidersSchema,
21
21
  collectionPassSchema,
@@ -34,7 +34,7 @@ import {
34
34
  questOutcomeSchema,
35
35
  rewardDeliveriesSchema,
36
36
  rewardDeliveryQuerySchema
37
- } from "./chunk-R3MNZKNJ.js";
37
+ } from "./chunk-SELJYCYY.js";
38
38
  import {
39
39
  exchangeResultSchema,
40
40
  exchangeSchema,
@@ -44,7 +44,7 @@ import {
44
44
  participantSessionSchema,
45
45
  questExperienceSchema,
46
46
  sessionMember
47
- } from "./chunk-6UBFSMCM.js";
47
+ } from "./chunk-2GVGZ7AN.js";
48
48
  import {
49
49
  engagementBoundaryPageSchema,
50
50
  engagementPageQuerySchema,
@@ -55,7 +55,7 @@ import {
55
55
  referralDefinitionSchema,
56
56
  referralHistorySchema,
57
57
  referralSummarySchema
58
- } from "./chunk-55WJVFWC.js";
58
+ } from "./chunk-XD6EUA27.js";
59
59
  import {
60
60
  AVATAR_UPLOAD_LIMIT,
61
61
  accountConnectionSchema,
@@ -113,7 +113,7 @@ import {
113
113
  walletTransactionChallengeSchema,
114
114
  walletTransactionProofSchema,
115
115
  walletUnlinkInputSchema
116
- } from "./chunk-6YTSRWRB.js";
116
+ } from "./chunk-4VDRNYUG.js";
117
117
  import {
118
118
  RelayError,
119
119
  RelayErrorCode,
@@ -121,7 +121,7 @@ import {
121
121
  isRelayError,
122
122
  isRequestError,
123
123
  parseInput
124
- } from "./chunk-IW46TW3A.js";
124
+ } from "./chunk-VNEJH4NT.js";
125
125
 
126
126
  // src/legacy-submissions.ts
127
127
  import * as z from "zod";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  clientIdentity,
3
3
  retryAfter
4
- } from "./chunk-KKHENO57.js";
4
+ } from "./chunk-FHOKCBTJ.js";
5
5
 
6
6
  // src/http-exchange.ts
7
7
  var uncertainStatuses = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([500, 502, 504]))();