@domino-sdk/relay 1.61.0 → 1.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +276 -8
- package/README.md +3 -2
- package/dist/{schema-CZ6Rj0ZF.d.ts → accounts-nz3mzfRQ.d.ts} +3146 -1765
- package/dist/action-9Xl0StBg.d.ts +33 -0
- package/dist/{attempt-captures-DYnJVkfg.d.ts → attempt-captures-DMi8oR9T.d.ts} +1 -1
- package/dist/authoring.d.ts +171 -49
- package/dist/authoring.js +158 -49
- package/dist/{automatic-outcomes-If88LR9f.d.ts → automatic-outcomes-C_LLQU1p.d.ts} +15 -1
- package/dist/avatar.d.ts +1 -1
- package/dist/browser.d.ts +15 -11
- package/dist/browser.js +18 -12
- package/dist/capability-error-CuI_F7yM.d.ts +296 -0
- package/dist/{pages-K7-KjSXw.d.ts → catalog-BaTOKpNw.d.ts} +56 -567
- package/dist/{chunk-XBV2CK2H.js → chunk-3RFP6GT5.js} +15 -3
- package/dist/{chunk-VURRFVNP.js → chunk-4GQW43UU.js} +239 -361
- package/dist/chunk-4NOFSGAL.js +320 -0
- package/dist/{chunk-24I4R732.js → chunk-5XLZ34PV.js} +34 -19
- package/dist/{chunk-L77O64I4.js → chunk-7X67QLPB.js} +43 -43
- package/dist/{chunk-RHBS5FJL.js → chunk-7Z4SZ6YM.js} +3 -3
- package/dist/{chunk-QEAS4ZGS.js → chunk-AQOL3SK5.js} +1 -1
- package/dist/chunk-EHUSD3O2.js +377 -0
- package/dist/chunk-FO2LCZTL.js +19 -0
- package/dist/{chunk-DYXDZFKA.js → chunk-FU5CGNTR.js} +166 -178
- package/dist/chunk-FWLQ5XCS.js +21 -0
- package/dist/chunk-GLH6MEI2.js +193 -0
- package/dist/chunk-ICXZZNPS.js +199 -0
- package/dist/{chunk-ZDJLPN4L.js → chunk-ID3BZXFZ.js} +2696 -2693
- package/dist/chunk-KP2MCX3R.js +587 -0
- package/dist/{chunk-SKGTNTLF.js → chunk-LZWXCBUB.js} +213 -297
- package/dist/chunk-MTKRIQEU.js +31 -0
- package/dist/{chunk-4OC7REYX.js → chunk-MWMCQLCG.js} +3 -3
- package/dist/{chunk-PPB7HALD.js → chunk-N4BDKS6Y.js} +27 -26
- package/dist/{chunk-5I54XBK2.js → chunk-N4LNEGQX.js} +2 -2
- package/dist/chunk-NQDEWJWE.js +554 -0
- package/dist/chunk-QR6HH4DI.js +508 -0
- package/dist/chunk-TLSQETTY.js +41 -0
- package/dist/{chunk-MHPKEVEW.js → chunk-U66GUVSG.js} +7 -2
- package/dist/{chunk-KDR2VAJP.js → chunk-UYVJZR33.js} +2 -2
- package/dist/chunk-UZ765UGH.js +18 -0
- package/dist/{chunk-7A4J67ZL.js → chunk-VWQGWGCH.js} +7 -7
- package/dist/chunk-W7YSMSGC.js +725 -0
- package/dist/{client-C51w7fMb.d.ts → client-DHmG7rn6.d.ts} +126 -93
- package/dist/{announcements-CHx3-HBw.d.ts → dashboards-CLemT6kj.d.ts} +14 -137
- package/dist/{deployments-kWoHFaqj.d.ts → deployments-DTULi7dF.d.ts} +450 -18
- package/dist/identity-integration-DOeNZaxF.d.ts +1271 -0
- package/dist/index.d.ts +13 -11
- package/dist/index.js +16 -11
- package/dist/internal.d.ts +29 -13
- package/dist/internal.js +57 -17
- package/dist/{integrations-B3y36OaB.d.ts → limits-kNzYdZ00.d.ts} +464 -53
- package/dist/{offers-BoV4ryUc.d.ts → offers-CYeN_I0Y.d.ts} +22 -4
- package/dist/{participant-activity-DHL8QYks.d.ts → participant-activity-D-Drp24G.d.ts} +16 -3
- package/dist/portal-proxy.d.ts +75 -2
- package/dist/portal-proxy.js +153 -25
- package/dist/react/index.d.ts +214 -27
- package/dist/react/index.js +196 -42
- package/dist/{action-DBzILFx9.d.ts → request-error-D_dUPLwo.d.ts} +1 -31
- package/dist/reward-deliveries-drp-x1G-.d.ts +782 -0
- package/dist/runtime/authoring.js +1 -1
- package/dist/runtime/chunks/UGDV5W4N.js +1 -0
- package/dist/runtime/manifest.json +3 -3
- package/dist/runtime/schema.js +1 -1
- package/dist/schema.d.ts +330 -31
- package/dist/schema.js +147 -91
- package/dist/server/index.d.ts +14 -12
- package/dist/server/index.js +6425 -6260
- package/dist/sign-in-providers-B1Q9eDRm.d.ts +44 -0
- package/dist/submission-input-DZCbjQUH.d.ts +343 -0
- package/dist/{telegram-browser-BUceZIGZ.d.ts → telegram-browser-NL0Asmsi.d.ts} +46 -6
- package/dist/telegram.d.ts +64 -0
- package/dist/telegram.js +23 -0
- package/dist/testing.d.ts +326 -27
- package/dist/testing.js +440 -90
- package/dist/tracker-data-esm3WG8R.d.ts +1881 -0
- package/dist/{transport-BrX9pIGN.d.ts → transport-Czht_irp.d.ts} +43483 -38512
- package/dist/{wallet-CIqFoxdm.d.ts → wallet-B7e06v4m.d.ts} +32 -9
- package/package.json +5 -1
- package/dist/accounts-DoabriBX.d.ts +0 -306
- package/dist/capability-error-DufwG3G0.d.ts +0 -159
- package/dist/chunk-3Y3L2F54.js +0 -982
- package/dist/chunk-DHXDBAJF.js +0 -544
- package/dist/chunk-EN3M5Z4J.js +0 -13
- package/dist/chunk-QNUHWK7R.js +0 -602
- package/dist/chunk-SE4PFJPT.js +0 -247
- package/dist/groups-CqcA2Ycs.d.ts +0 -2827
- package/dist/runtime/chunks/5QVFB4TU.js +0 -1
- package/dist/submission-input-C54Q8yAD.d.ts +0 -146
- package/dist/x-D1PGi8Sq.d.ts +0 -331
package/dist/authoring.js
CHANGED
|
@@ -3,34 +3,38 @@ import {
|
|
|
3
3
|
parseUnits
|
|
4
4
|
} from "./chunk-V7UKZLHA.js";
|
|
5
5
|
import {
|
|
6
|
-
defineDashboard,
|
|
7
6
|
tiktokVideoBodySchema,
|
|
8
7
|
tiktokVideoMetrics,
|
|
9
8
|
youtubeShortBodySchema,
|
|
10
9
|
youtubeShortMetrics
|
|
11
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-TLSQETTY.js";
|
|
12
11
|
import {
|
|
13
12
|
CapabilityError,
|
|
14
13
|
capabilityErrorCodes
|
|
15
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-MWMCQLCG.js";
|
|
16
15
|
import {
|
|
17
16
|
sourceDataSchema,
|
|
18
17
|
sourceRoles,
|
|
19
18
|
validateQuestShape
|
|
20
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-7Z4SZ6YM.js";
|
|
20
|
+
import {
|
|
21
|
+
defineDashboard
|
|
22
|
+
} from "./chunk-FU5CGNTR.js";
|
|
21
23
|
import {
|
|
22
|
-
badgeDeclarationSchema,
|
|
23
|
-
defineOffer,
|
|
24
24
|
engagementDefinitionSchema,
|
|
25
25
|
engagementScoreInputSchema,
|
|
26
26
|
engagementScoreSchema,
|
|
27
|
-
|
|
28
|
-
parseDefinition,
|
|
27
|
+
offerAuthoringSchema,
|
|
29
28
|
referralAuthoringSchema
|
|
30
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-QR6HH4DI.js";
|
|
31
30
|
import {
|
|
31
|
+
badgeDeclarationSchema,
|
|
32
|
+
leaderboardAuthoringSchema,
|
|
32
33
|
pointLedgerDeclarationSchema
|
|
33
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-W7YSMSGC.js";
|
|
35
|
+
import {
|
|
36
|
+
parseDefinition
|
|
37
|
+
} from "./chunk-FO2LCZTL.js";
|
|
34
38
|
import {
|
|
35
39
|
announcementSchema,
|
|
36
40
|
authorBudgetSchema,
|
|
@@ -61,6 +65,7 @@ import {
|
|
|
61
65
|
groupReward,
|
|
62
66
|
identifier,
|
|
63
67
|
inGroup,
|
|
68
|
+
integrationModuleProviderSchema,
|
|
64
69
|
isAmount,
|
|
65
70
|
isBalanceChain,
|
|
66
71
|
isBoundSetting,
|
|
@@ -71,6 +76,7 @@ import {
|
|
|
71
76
|
isSolanaProgram,
|
|
72
77
|
ledgerKey,
|
|
73
78
|
ledgerSettingSchema,
|
|
79
|
+
limits,
|
|
74
80
|
maxWalletEventLogs,
|
|
75
81
|
maxWalletEventLookback,
|
|
76
82
|
maxWalletTransactionLookback,
|
|
@@ -121,10 +127,33 @@ import {
|
|
|
121
127
|
whereSettings,
|
|
122
128
|
xSearchSourceSchema,
|
|
123
129
|
youtubeShortsNamespace
|
|
124
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-ID3BZXFZ.js";
|
|
131
|
+
import "./chunk-GLH6MEI2.js";
|
|
125
132
|
|
|
126
133
|
// src/builders.ts
|
|
127
134
|
import * as z from "zod";
|
|
135
|
+
|
|
136
|
+
// src/quest-only-rewards.ts
|
|
137
|
+
function questOnlyRewardError(reward, surface) {
|
|
138
|
+
const definition = typeof reward === "object" && reward !== null && "kind" in reward && reward.kind === "tier" && "reward" in reward && typeof reward.reward === "object" && reward.reward !== null ? reward.reward : null;
|
|
139
|
+
if (definition && "badge" in definition && definition.badge !== void 0) {
|
|
140
|
+
return `Badge rewards can only be granted by quests or manually, not by ${surface}`;
|
|
141
|
+
}
|
|
142
|
+
if (definition && "group" in definition && definition.group !== void 0) {
|
|
143
|
+
return `Group membership rewards can only be granted by quests, not by ${surface}`;
|
|
144
|
+
}
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
function refuseQuestOnlyRewards(context, rewards, path, surface) {
|
|
148
|
+
for (const [index, reward] of rewards.entries()) {
|
|
149
|
+
const message = questOnlyRewardError(reward, surface);
|
|
150
|
+
if (message) {
|
|
151
|
+
context.addIssue({ code: "custom", message, path: [...path, index] });
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// src/builders.ts
|
|
128
157
|
function defineBadge(input) {
|
|
129
158
|
return resourceHandle(
|
|
130
159
|
"badge",
|
|
@@ -175,9 +204,43 @@ var questCompleted = (quest) => ({
|
|
|
175
204
|
kind: "quest",
|
|
176
205
|
quest
|
|
177
206
|
});
|
|
207
|
+
var offerBuilderSchema = /* @__PURE__ */ (() => offerAuthoringSchema.superRefine(
|
|
208
|
+
(offer, context) => {
|
|
209
|
+
const message = questOnlyRewardError(offer.reward, "offers");
|
|
210
|
+
if (message) {
|
|
211
|
+
context.addIssue({ code: "custom", message, path: ["reward"] });
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
))();
|
|
215
|
+
function defineOffer(input) {
|
|
216
|
+
return resourceHandle(
|
|
217
|
+
"offer",
|
|
218
|
+
parseDefinition("Offer", offerBuilderSchema, input)
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
var referralBuilderSchema = /* @__PURE__ */ (() => referralAuthoringSchema.superRefine(
|
|
222
|
+
(referral, context) => {
|
|
223
|
+
for (const side of ["inviter", "invitee"]) {
|
|
224
|
+
refuseQuestOnlyRewards(
|
|
225
|
+
context,
|
|
226
|
+
referral.rewards[side],
|
|
227
|
+
["rewards", side],
|
|
228
|
+
"referral programs"
|
|
229
|
+
);
|
|
230
|
+
}
|
|
231
|
+
for (const [index, milestone] of referral.milestones.entries()) {
|
|
232
|
+
refuseQuestOnlyRewards(
|
|
233
|
+
context,
|
|
234
|
+
milestone.rewards,
|
|
235
|
+
["milestones", index, "rewards"],
|
|
236
|
+
"referral programs"
|
|
237
|
+
);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
))();
|
|
178
241
|
function defineReferral(input) {
|
|
179
242
|
const { qualification, inviterGroup, milestones, bonuses, ...properties } = input;
|
|
180
|
-
const definition = parseDefinition("Referral",
|
|
243
|
+
const definition = parseDefinition("Referral", referralBuilderSchema, {
|
|
181
244
|
...properties,
|
|
182
245
|
qualification: qualification.kind === "quest" ? { kind: "quest", quest: qualification.quest.key } : qualification,
|
|
183
246
|
...inviterGroup ? { inviterGroup: identifier.parse(inviterGroup.key) } : {},
|
|
@@ -197,31 +260,50 @@ function defineReferral(input) {
|
|
|
197
260
|
function earned(options = {}) {
|
|
198
261
|
return { kind: "earned", ...options };
|
|
199
262
|
}
|
|
263
|
+
var leaderboardBuilderSchema = /* @__PURE__ */ (() => leaderboardAuthoringSchema.superRefine(
|
|
264
|
+
(board, context) => {
|
|
265
|
+
for (const [index, prize] of (board.settle?.prizes ?? []).entries()) {
|
|
266
|
+
refuseQuestOnlyRewards(
|
|
267
|
+
context,
|
|
268
|
+
prize.rewards,
|
|
269
|
+
["settle", "prizes", index, "rewards"],
|
|
270
|
+
"leaderboard prizes"
|
|
271
|
+
);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
))();
|
|
275
|
+
function leaderboardTiesWarning(board) {
|
|
276
|
+
const live = board.ties ?? "shared";
|
|
277
|
+
if (!board.settle || board.settle.ties === live) {
|
|
278
|
+
return null;
|
|
279
|
+
}
|
|
280
|
+
return `Leaderboard${board.key ? ` "${board.key}"` : ""} orders equal scores "${live}" in its live standings${board.ties === void 0 ? " (ties left out)" : ""} but "${board.settle.ties}" when it settles, so the ranks members see are not the ranks prizes pay. Set ties: "${board.settle.ties}" beside settle.ties to show the order prizes pay.`;
|
|
281
|
+
}
|
|
200
282
|
function defineLeaderboard(input) {
|
|
201
283
|
const { ledger, group, score, settle, ...properties } = input;
|
|
202
284
|
const pool = settle?.pool;
|
|
203
|
-
const definition = parseDefinition(
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
285
|
+
const definition = parseDefinition("Leaderboard", leaderboardBuilderSchema, {
|
|
286
|
+
...properties,
|
|
287
|
+
...settle ? {
|
|
288
|
+
settle: {
|
|
289
|
+
...settle,
|
|
290
|
+
prizes: settle.prizes ?? [],
|
|
291
|
+
...pool ? {
|
|
292
|
+
pool: {
|
|
293
|
+
...pool,
|
|
294
|
+
...pool.ledger === void 0 ? {} : { ledger: ledgerKey(pool.ledger) }
|
|
295
|
+
}
|
|
296
|
+
} : {}
|
|
297
|
+
}
|
|
298
|
+
} : {},
|
|
299
|
+
balance: ledgerKey(ledger),
|
|
300
|
+
...group ? { group: identifier.parse(group.key) } : {},
|
|
301
|
+
score: score?.kind === "earned" ? { ...score, quests: score.quests?.map((quest) => quest.key) } : score
|
|
302
|
+
});
|
|
303
|
+
const ties = leaderboardTiesWarning(definition);
|
|
304
|
+
if (ties) {
|
|
305
|
+
console.warn(ties);
|
|
306
|
+
}
|
|
225
307
|
return resourceHandle("leaderboard", definition);
|
|
226
308
|
}
|
|
227
309
|
var x = {
|
|
@@ -487,17 +569,25 @@ var settings = {
|
|
|
487
569
|
quizContentSchema.default(value).meta({ ...options, default: value, kind: "quiz" })
|
|
488
570
|
);
|
|
489
571
|
},
|
|
572
|
+
/**
|
|
573
|
+
* Free text. With `secret: true`, operators set the value in Console and it never leaves Relay:
|
|
574
|
+
* management responses, `domino deploy` and Console withhold it, and the quest's code reads it as
|
|
575
|
+
* usual. A secret setting has no default, so it reads `""` until an operator sets it.
|
|
576
|
+
*/
|
|
490
577
|
text(options) {
|
|
578
|
+
const { secret, ...rest } = options;
|
|
491
579
|
const field = {
|
|
492
|
-
...
|
|
580
|
+
...rest,
|
|
493
581
|
kind: "text",
|
|
494
|
-
|
|
582
|
+
default: "default" in options ? options.default : "",
|
|
583
|
+
minLength: options.minLength ?? (secret ? 0 : 1),
|
|
495
584
|
maxLength: options.maxLength ?? 2e3,
|
|
496
|
-
multiline: options.multiline ?? false
|
|
585
|
+
multiline: options.multiline ?? false,
|
|
586
|
+
...secret ? { secret } : {}
|
|
497
587
|
};
|
|
498
588
|
return setting(
|
|
499
589
|
"text",
|
|
500
|
-
|
|
590
|
+
textSettingSchema(field).default(field.default).meta(field)
|
|
501
591
|
);
|
|
502
592
|
},
|
|
503
593
|
/**
|
|
@@ -767,8 +857,8 @@ function manual(options) {
|
|
|
767
857
|
...options?.actor ? { actor: options.actor } : {}
|
|
768
858
|
};
|
|
769
859
|
}
|
|
770
|
-
var triggerDataSchemas = /* @__PURE__ */ new WeakMap();
|
|
771
|
-
var triggerContentMetrics = /* @__PURE__ */ new WeakMap();
|
|
860
|
+
var triggerDataSchemas = /* @__PURE__ */ (() => /* @__PURE__ */ new WeakMap())();
|
|
861
|
+
var triggerContentMetrics = /* @__PURE__ */ (() => /* @__PURE__ */ new WeakMap())();
|
|
772
862
|
function trackerTrigger(input, constructor) {
|
|
773
863
|
const {
|
|
774
864
|
tracker,
|
|
@@ -804,14 +894,17 @@ function trackerTrigger(input, constructor) {
|
|
|
804
894
|
const roles = sourceRoles(source);
|
|
805
895
|
if (!roles.includes(beneficiary)) {
|
|
806
896
|
throw new Error(
|
|
807
|
-
source.kind === "custom" ? `Tracker "${tracker.key}" has no "${beneficiary}" account: declare it in customSource(namespace, { accounts: ["${beneficiary}"] })` : `Tracker "${tracker.key}" pays ${roles.map((role) => `"${role}"`)
|
|
897
|
+
source.kind === "custom" ? `Tracker "${tracker.key}" has no "${beneficiary}" account: declare it in customSource(namespace, { accounts: ["${beneficiary}"] })` : `Tracker "${tracker.key}" pays ${new Intl.ListFormat("en", { type: "disjunction" }).format(roles.map((role) => `"${role}"`))}, not "${beneficiary}"`
|
|
808
898
|
);
|
|
809
899
|
}
|
|
810
900
|
const policy = trackerTriggerPolicySchema.parse({
|
|
811
901
|
tracker: tracker.key,
|
|
812
902
|
source: source.kind,
|
|
813
903
|
// A content item is decided by its first observation; later observations run its stage.
|
|
814
|
-
on: content2 ? "new-record" : on ?? defaultTriggerMode(
|
|
904
|
+
on: content2 ? "new-record" : on ?? defaultTriggerMode(
|
|
905
|
+
source.kind,
|
|
906
|
+
source.kind === "custom" ? source.namespace : void 0
|
|
907
|
+
),
|
|
815
908
|
...where ? { where } : {},
|
|
816
909
|
beneficiary,
|
|
817
910
|
// Defaults are left out too: "none", "activation", and "staff" ("claim" on content).
|
|
@@ -860,9 +953,10 @@ function defineBudget(definition) {
|
|
|
860
953
|
}
|
|
861
954
|
var budget = defineBudget;
|
|
862
955
|
var authorBudgets = (budgets = []) => budgets.filter((value) => value.scope === "author");
|
|
863
|
-
var keyed = (key) => ({
|
|
956
|
+
var keyed = (key, options = {}) => ({
|
|
864
957
|
kind: "keyed",
|
|
865
|
-
key
|
|
958
|
+
key,
|
|
959
|
+
...options.across ? { across: options.across } : {}
|
|
866
960
|
});
|
|
867
961
|
var progress = (definition) => {
|
|
868
962
|
const { distinct, ...policy } = definition;
|
|
@@ -958,13 +1052,17 @@ var completionPolicies = { once, keyed, streak, progress };
|
|
|
958
1052
|
function questBuilder(template) {
|
|
959
1053
|
return function defineQuest2(definition) {
|
|
960
1054
|
const key = authoringKey(definition);
|
|
961
|
-
const
|
|
1055
|
+
const integrationModules = [
|
|
962
1056
|
...new Set(
|
|
963
1057
|
(definition.integrations ?? []).map(
|
|
964
|
-
(module) =>
|
|
1058
|
+
(module) => integrationModuleProviderSchema.parse(module.provider)
|
|
965
1059
|
)
|
|
966
1060
|
)
|
|
967
1061
|
];
|
|
1062
|
+
const integrations = integrationModules.flatMap((provider) => {
|
|
1063
|
+
const known = evaluatorIntegrationProviderSchema.safeParse(provider);
|
|
1064
|
+
return known.success ? [known.data] : [];
|
|
1065
|
+
});
|
|
968
1066
|
const contentTrigger = definition.trigger.kind === "automatic" && definition.trigger.tracker?.content === true;
|
|
969
1067
|
const trackerTrigger2 = definition.trigger.kind === "automatic" && definition.trigger.tracker !== void 0;
|
|
970
1068
|
const declared = definition.completion;
|
|
@@ -1027,6 +1125,11 @@ function questBuilder(template) {
|
|
|
1027
1125
|
`Setting "${key2}" is not a quest setting: build it with a settings builder, such as settings.integer({ label, default, min, max })`
|
|
1028
1126
|
);
|
|
1029
1127
|
}
|
|
1128
|
+
if (field.data.kind === "text" && field.data.secret && field.data.default !== "") {
|
|
1129
|
+
throw new Error(
|
|
1130
|
+
`Secret setting "${key2}" must default to "": set its value in Console, not in source or deploy settings`
|
|
1131
|
+
);
|
|
1132
|
+
}
|
|
1030
1133
|
return [key2, field.data];
|
|
1031
1134
|
})
|
|
1032
1135
|
);
|
|
@@ -1099,13 +1202,17 @@ function questBuilder(template) {
|
|
|
1099
1202
|
})
|
|
1100
1203
|
} : {},
|
|
1101
1204
|
integrations,
|
|
1205
|
+
// Written only when it holds a module `integrations` lacks, so a quest declaring known
|
|
1206
|
+
// modules describes itself as SDKs before `integrationModules` did, and a Relay that
|
|
1207
|
+
// predates the field still accepts it.
|
|
1208
|
+
...integrationModules.length > integrations.length ? { integrationModules } : {},
|
|
1102
1209
|
// A content quest's completion is keyed by its content item, with a key Relay owns.
|
|
1103
1210
|
completion: !completion ? { kind: "keyed" } : completion.kind === "progress" ? {
|
|
1104
1211
|
kind: completion.kind,
|
|
1105
1212
|
goal: completion.goal,
|
|
1106
1213
|
window: completion.window,
|
|
1107
1214
|
repeat: completion.repeat
|
|
1108
|
-
} : completion.kind === "streak" ? completion : { kind: completion.kind },
|
|
1215
|
+
} : completion.kind === "streak" ? completion : completion.kind === "keyed" && completion.across ? { kind: completion.kind, across: completion.across } : { kind: completion.kind },
|
|
1109
1216
|
visibility: definition.visibility ?? "visible",
|
|
1110
1217
|
profile: definition.profile ?? { visible: false },
|
|
1111
1218
|
budgets: (definition.budgets ?? []).filter(
|
|
@@ -1234,8 +1341,8 @@ function ignoredCompletionKey(completion, key) {
|
|
|
1234
1341
|
return `progress(...) keys each contribution with its distinct(...) and ${ignored}: derive the key in distinct(...)`;
|
|
1235
1342
|
}
|
|
1236
1343
|
}
|
|
1237
|
-
var defineQuest = questBuilder(false);
|
|
1238
|
-
var defineQuestType = questBuilder(true);
|
|
1344
|
+
var defineQuest = /* @__PURE__ */ (() => questBuilder(false))();
|
|
1345
|
+
var defineQuestType = /* @__PURE__ */ (() => questBuilder(true))();
|
|
1239
1346
|
export {
|
|
1240
1347
|
CapabilityError,
|
|
1241
1348
|
automatic,
|
|
@@ -1280,6 +1387,8 @@ export {
|
|
|
1280
1387
|
isNftCollection,
|
|
1281
1388
|
isSolanaProgram,
|
|
1282
1389
|
keyed,
|
|
1390
|
+
leaderboardTiesWarning,
|
|
1391
|
+
limits,
|
|
1283
1392
|
manual,
|
|
1284
1393
|
maxWalletEventLogs,
|
|
1285
1394
|
maxWalletEventLookback,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as z from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { b as AttemptStatus, X as RewardType } from './accounts-nz3mzfRQ.js';
|
|
3
|
+
import { S as SkipEnrollment } from './tracker-data-esm3WG8R.js';
|
|
3
4
|
|
|
4
5
|
declare const collectionCodeSchema: z.ZodString;
|
|
5
6
|
declare const collectionPassSchema: z.ZodObject<{
|
|
@@ -472,6 +473,7 @@ declare const automaticOutcomeSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
472
473
|
quest: "quest";
|
|
473
474
|
tracker: "tracker";
|
|
474
475
|
}>>;
|
|
476
|
+
enrollment: z.ZodOptional<z.ZodType<SkipEnrollment, unknown, z.core.$ZodTypeInternals<SkipEnrollment, unknown>>>;
|
|
475
477
|
revision: z.ZodNumber;
|
|
476
478
|
createdAt: z.ZodNumber;
|
|
477
479
|
updatedAt: z.ZodNumber;
|
|
@@ -518,6 +520,7 @@ declare const automaticOutcomeSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
518
520
|
quest: "quest";
|
|
519
521
|
tracker: "tracker";
|
|
520
522
|
}>>;
|
|
523
|
+
enrollment: z.ZodOptional<z.ZodType<SkipEnrollment, unknown, z.core.$ZodTypeInternals<SkipEnrollment, unknown>>>;
|
|
521
524
|
revision: z.ZodNumber;
|
|
522
525
|
createdAt: z.ZodNumber;
|
|
523
526
|
updatedAt: z.ZodNumber;
|
|
@@ -578,6 +581,7 @@ declare const automaticOutcomePageSchema: z.ZodObject<{
|
|
|
578
581
|
quest: "quest";
|
|
579
582
|
tracker: "tracker";
|
|
580
583
|
}>>;
|
|
584
|
+
enrollment: z.ZodOptional<z.ZodType<SkipEnrollment, unknown, z.core.$ZodTypeInternals<SkipEnrollment, unknown>>>;
|
|
581
585
|
revision: z.ZodNumber;
|
|
582
586
|
createdAt: z.ZodNumber;
|
|
583
587
|
updatedAt: z.ZodNumber;
|
|
@@ -624,6 +628,7 @@ declare const automaticOutcomePageSchema: z.ZodObject<{
|
|
|
624
628
|
quest: "quest";
|
|
625
629
|
tracker: "tracker";
|
|
626
630
|
}>>;
|
|
631
|
+
enrollment: z.ZodOptional<z.ZodType<SkipEnrollment, unknown, z.core.$ZodTypeInternals<SkipEnrollment, unknown>>>;
|
|
627
632
|
revision: z.ZodNumber;
|
|
628
633
|
createdAt: z.ZodNumber;
|
|
629
634
|
updatedAt: z.ZodNumber;
|
|
@@ -678,6 +683,7 @@ declare const automaticCatchUpPreviewSchema: z.ZodObject<{
|
|
|
678
683
|
quest: "quest";
|
|
679
684
|
tracker: "tracker";
|
|
680
685
|
}>>;
|
|
686
|
+
enrollment: z.ZodOptional<z.ZodType<SkipEnrollment, unknown, z.core.$ZodTypeInternals<SkipEnrollment, unknown>>>;
|
|
681
687
|
revision: z.ZodNumber;
|
|
682
688
|
createdAt: z.ZodNumber;
|
|
683
689
|
updatedAt: z.ZodNumber;
|
|
@@ -724,6 +730,7 @@ declare const automaticCatchUpPreviewSchema: z.ZodObject<{
|
|
|
724
730
|
quest: "quest";
|
|
725
731
|
tracker: "tracker";
|
|
726
732
|
}>>;
|
|
733
|
+
enrollment: z.ZodOptional<z.ZodType<SkipEnrollment, unknown, z.core.$ZodTypeInternals<SkipEnrollment, unknown>>>;
|
|
727
734
|
revision: z.ZodNumber;
|
|
728
735
|
createdAt: z.ZodNumber;
|
|
729
736
|
updatedAt: z.ZodNumber;
|
|
@@ -734,6 +741,7 @@ declare const automaticCatchUpPreviewSchema: z.ZodObject<{
|
|
|
734
741
|
quest: "quest";
|
|
735
742
|
tracker: "tracker";
|
|
736
743
|
}>>;
|
|
744
|
+
enrollment: z.ZodOptional<z.ZodType<SkipEnrollment, unknown, z.core.$ZodTypeInternals<SkipEnrollment, unknown>>>;
|
|
737
745
|
attempt: z.ZodNullable<z.ZodString>;
|
|
738
746
|
wouldAdmit: z.ZodBoolean;
|
|
739
747
|
budgets: z.ZodArray<z.ZodObject<{
|
|
@@ -783,6 +791,10 @@ declare const automaticCatchUpPreviewSchema: z.ZodObject<{
|
|
|
783
791
|
action: z.ZodLiteral<"grant-role">;
|
|
784
792
|
roleId: z.ZodString;
|
|
785
793
|
}, z.core.$strict>]>>;
|
|
794
|
+
rewardEntries: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
795
|
+
type: z.ZodType<RewardType, unknown, z.core.$ZodTypeInternals<RewardType, unknown>>;
|
|
796
|
+
data: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
|
|
797
|
+
}, z.core.$strip>>>;
|
|
786
798
|
costs: z.ZodArray<z.ZodObject<{
|
|
787
799
|
budget: z.ZodString;
|
|
788
800
|
cost: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"dynamic">]>;
|
|
@@ -836,6 +848,7 @@ declare const automaticCatchUpResultSchema: z.ZodObject<{
|
|
|
836
848
|
quest: "quest";
|
|
837
849
|
tracker: "tracker";
|
|
838
850
|
}>>;
|
|
851
|
+
enrollment: z.ZodOptional<z.ZodType<SkipEnrollment, unknown, z.core.$ZodTypeInternals<SkipEnrollment, unknown>>>;
|
|
839
852
|
revision: z.ZodNumber;
|
|
840
853
|
createdAt: z.ZodNumber;
|
|
841
854
|
updatedAt: z.ZodNumber;
|
|
@@ -882,6 +895,7 @@ declare const automaticCatchUpResultSchema: z.ZodObject<{
|
|
|
882
895
|
quest: "quest";
|
|
883
896
|
tracker: "tracker";
|
|
884
897
|
}>>;
|
|
898
|
+
enrollment: z.ZodOptional<z.ZodType<SkipEnrollment, unknown, z.core.$ZodTypeInternals<SkipEnrollment, unknown>>>;
|
|
885
899
|
revision: z.ZodNumber;
|
|
886
900
|
createdAt: z.ZodNumber;
|
|
887
901
|
updatedAt: z.ZodNumber;
|
package/dist/avatar.d.ts
CHANGED
package/dist/browser.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { o as SubmissionStore, f as RelayClientOptions, R as RelayClient } from './client-
|
|
2
|
-
export { C as CosmosChains, D as DiscoveredWallet, E as Eip1193Provider, a as EmailSignInOption, K as KeplrLike, O as OAuthSignInOption, S as SignInClient, b as SignInIcon, c as SignInMethods, d as SignInOption, e as SignInOptions, f as SignInUnavailable, g as SignInWallet, h as SolanaInjectedProvider, i as StandardWallet, j as StandardWalletAccount, T as TelegramSignInOption, W as WalletSignInOption, k as cosmosChainList, l as cosmosSigner, m as discoverCosmosWallets, n as discoverEvmWallets, o as discoverSignInWallets, p as discoverSolanaWallets, q as evmSigner, s as signInOptions, r as solanaSigner, t as telegramMiniAppInitData, w as walletStandardSolanaSigner } from './telegram-browser-
|
|
1
|
+
import { o as SubmissionStore, f as RelayClientOptions, R as RelayClient } from './client-DHmG7rn6.js';
|
|
2
|
+
export { C as CosmosChains, D as DiscoveredWallet, E as Eip1193Provider, a as EmailSignInOption, K as KeplrLike, O as OAuthSignInOption, P as ProviderSignInOption, S as SignInClient, b as SignInIcon, c as SignInMethods, d as SignInOption, e as SignInOptions, f as SignInUnavailable, g as SignInWallet, h as SolanaInjectedProvider, i as StandardWallet, j as StandardWalletAccount, T as TelegramSignInOption, W as WalletSignInOption, k as cosmosChainList, l as cosmosSigner, m as discoverCosmosWallets, n as discoverEvmWallets, o as discoverSignInWallets, p as discoverSolanaWallets, q as evmSigner, s as signInOptions, r as solanaSigner, t as telegramMiniAppInitData, w as walletStandardSolanaSigner } from './telegram-browser-NL0Asmsi.js';
|
|
3
3
|
export { H as HostEnvironment, g as getHostEnvironment } from './host-environment-FN4zg3hw.js';
|
|
4
|
-
import { M as MemberSummary } from './participant-activity-
|
|
5
|
-
import './
|
|
4
|
+
import { M as MemberSummary } from './participant-activity-D-Drp24G.js';
|
|
5
|
+
import './accounts-nz3mzfRQ.js';
|
|
6
6
|
import 'zod';
|
|
7
|
-
import './
|
|
8
|
-
import './
|
|
9
|
-
import './submission-input-
|
|
10
|
-
import './
|
|
11
|
-
import './
|
|
12
|
-
import './
|
|
7
|
+
import './tracker-data-esm3WG8R.js';
|
|
8
|
+
import './wallet-B7e06v4m.js';
|
|
9
|
+
import './submission-input-DZCbjQUH.js';
|
|
10
|
+
import './request-error-D_dUPLwo.js';
|
|
11
|
+
import './reward-deliveries-drp-x1G-.js';
|
|
12
|
+
import './catalog-BaTOKpNw.js';
|
|
13
|
+
import './action-9Xl0StBg.js';
|
|
14
|
+
import './sign-in-providers-B1Q9eDRm.js';
|
|
13
15
|
|
|
14
16
|
/**
|
|
15
17
|
* The member's time at the real instant `at` (default now), in epoch milliseconds: what an app
|
|
@@ -18,7 +20,9 @@ import './accounts-DoabriBX.js';
|
|
|
18
20
|
* clock; read `/v1/me` again on `domino:test-state-changed`. Without `clock` (a Relay older than
|
|
19
21
|
* it) the member's time is real time.
|
|
20
22
|
*/
|
|
21
|
-
declare function memberTime(me:
|
|
23
|
+
declare function memberTime(me: {
|
|
24
|
+
clock?: MemberSummary["clock"];
|
|
25
|
+
}, at?: number): number;
|
|
22
26
|
|
|
23
27
|
/** Browser client with durable submission recovery; safe to construct during SSR. */
|
|
24
28
|
declare function createBrowserRelayClient(options: RelayClientOptions): RelayClient;
|
package/dist/browser.js
CHANGED
|
@@ -11,21 +11,27 @@ import {
|
|
|
11
11
|
memberTime,
|
|
12
12
|
signInOptions,
|
|
13
13
|
solanaSigner,
|
|
14
|
-
telegramMiniAppInitData,
|
|
15
14
|
walletStandardSolanaSigner
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-5XLZ34PV.js";
|
|
16
|
+
import {
|
|
17
|
+
telegramMiniAppInitData
|
|
18
|
+
} from "./chunk-FWLQ5XCS.js";
|
|
19
|
+
import "./chunk-LZWXCBUB.js";
|
|
20
|
+
import "./chunk-AQOL3SK5.js";
|
|
21
|
+
import "./chunk-MTKRIQEU.js";
|
|
22
|
+
import "./chunk-EHUSD3O2.js";
|
|
23
|
+
import "./chunk-4NOFSGAL.js";
|
|
24
|
+
import "./chunk-QR6HH4DI.js";
|
|
25
|
+
import "./chunk-W7YSMSGC.js";
|
|
22
26
|
import {
|
|
23
27
|
getHostEnvironment
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
28
|
+
} from "./chunk-UYVJZR33.js";
|
|
29
|
+
import "./chunk-ICXZZNPS.js";
|
|
30
|
+
import "./chunk-FO2LCZTL.js";
|
|
31
|
+
import "./chunk-3RFP6GT5.js";
|
|
32
|
+
import "./chunk-N4BDKS6Y.js";
|
|
33
|
+
import "./chunk-ID3BZXFZ.js";
|
|
34
|
+
import "./chunk-GLH6MEI2.js";
|
|
29
35
|
export {
|
|
30
36
|
browserSubmissionStore,
|
|
31
37
|
cosmosChainList,
|