@domino-sdk/relay 1.56.0 → 1.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +100 -0
- package/dist/{accounts-DRPENuZe.d.ts → accounts-DoabriBX.d.ts} +21 -7
- package/dist/{attempt-captures-CxxO7DeD.d.ts → attempt-captures-W2dgzGqE.d.ts} +1 -1
- package/dist/authoring.d.ts +323 -39
- package/dist/authoring.js +312 -18
- package/dist/{automatic-outcomes-DxW_v5Wc.d.ts → automatic-outcomes-Cmou89IS.d.ts} +1 -1
- package/dist/avatar.d.ts +1 -2
- package/dist/browser.d.ts +19 -11
- package/dist/browser.js +12 -10
- package/dist/{capability-error-DSd8EMQC.d.ts → capability-error-DufwG3G0.d.ts} +21 -7
- package/dist/{chunk-OTITLABX.js → chunk-2FHNY52R.js} +8 -2
- package/dist/{chunk-QNQNKIAA.js → chunk-422J3QRW.js} +12 -2
- package/dist/{chunk-INSWI2VZ.js → chunk-4OFH4BNX.js} +1 -1
- package/dist/{chunk-KBVH4XZC.js → chunk-6ZG7WNYX.js} +1 -1
- package/dist/{chunk-BHHUSBSD.js → chunk-GBSDAD3N.js} +1627 -887
- package/dist/{chunk-W5U2WXG3.js → chunk-KUPVQXUJ.js} +2 -2
- package/dist/{chunk-G6XVBYH7.js → chunk-KWFY7L7X.js} +4 -4
- package/dist/{chunk-BJYMTCWG.js → chunk-MJEJQH5A.js} +18 -6
- package/dist/{chunk-ULQU7KC4.js → chunk-N3LJ6GFK.js} +1 -5
- package/dist/{chunk-ABJ4G47X.js → chunk-N7YOS4ZU.js} +1 -1
- package/dist/{chunk-MNU6UPXY.js → chunk-OTEUP2SG.js} +1 -1
- package/dist/{chunk-NK6EER33.js → chunk-VVRQQRMQ.js} +12 -12
- package/dist/{chunk-H2MD6E7Z.js → chunk-VWMIA2TT.js} +8 -2
- package/dist/{chunk-RBPMT53S.js → chunk-XQKUJL7H.js} +25 -5
- package/dist/{chunk-CXKXPB7K.js → chunk-Y2IGFLD2.js} +36 -11
- package/dist/{chunk-VSHV7FEA.js → chunk-YNW2ZUUP.js} +56 -153
- package/dist/{chunk-CK7HO32Z.js → chunk-YOAPPIWN.js} +2 -2
- package/dist/{client-bX3oTpRu.d.ts → client-Cw1pB5sv.d.ts} +121 -117
- package/dist/{deployments-D3lxfQMB.d.ts → deployments-DI-W7fBq.d.ts} +1105 -182
- package/dist/{groups-DPE004_V.d.ts → groups-9Jm3peq3.d.ts} +14 -7
- package/dist/index.d.ts +10 -11
- package/dist/index.js +9 -9
- package/dist/{integrations-CcD5NPEA.d.ts → integrations-CmIkP1Gi.d.ts} +48 -32
- package/dist/internal.d.ts +10 -10
- package/dist/internal.js +8 -8
- package/dist/{offers-CtzMeB7O.d.ts → offers-CqXfMIxq.d.ts} +7 -2
- package/dist/{pages-BlLqB8ZQ.d.ts → pages-Bti7g5mX.d.ts} +184 -10
- package/dist/{participant-activity-iciCEs_8.d.ts → participant-activity-DHL8QYks.d.ts} +4 -0
- package/dist/portal-proxy.js +3 -3
- package/dist/react/index.d.ts +74 -74
- package/dist/react/index.js +10 -10
- package/dist/runtime/authoring.js +1 -1
- package/dist/runtime/chunks/ADUMK6CR.js +1 -0
- package/dist/runtime/chunks/EWU4OKSY.js +62 -0
- package/dist/runtime/manifest.json +5 -5
- package/dist/runtime/schema.js +1 -1
- package/dist/runtime/zod.js +1 -1
- package/dist/{schema-C4m9RhCR.d.ts → schema-CwbRkmlr.d.ts} +324 -35
- package/dist/schema.d.ts +854 -437
- package/dist/schema.js +103 -25
- package/dist/server/index.d.ts +10 -10
- package/dist/server/index.js +711 -81
- package/dist/{submission-input-wTiYGdgA.d.ts → submission-input-D9EGH_yb.d.ts} +2 -2
- package/dist/{telegram-browser-Bh3i0HiH.d.ts → telegram-browser-CTJh4Ro_.d.ts} +4 -4
- package/dist/testing.d.ts +89 -9
- package/dist/testing.js +218 -13
- package/dist/{transport-CnKA-_RL.d.ts → transport-B8Ss5lcz.d.ts} +9189 -2009
- package/dist/wallet-DZWL7lJH.d.ts +972 -0
- package/dist/{x-1czZFVUW.d.ts → x-KFJD2x8y.d.ts} +3 -3
- package/package.json +2 -2
- package/dist/profiles-BoOK03cR.d.ts +0 -299
- package/dist/runtime/chunks/IDOMZWRY.js +0 -40
- package/dist/runtime/chunks/NDB42VFF.js +0 -1
- package/dist/util.d-w9f9t3ua.d.ts +0 -5
- package/dist/wallet-Ac7OFpOr.d.ts +0 -228
package/dist/server/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
attemptCaptureSchema,
|
|
3
3
|
capturedFactSchema
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-OTEUP2SG.js";
|
|
5
5
|
import {
|
|
6
6
|
activityTypeSchema,
|
|
7
7
|
activityTypes,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
publishDeploymentSchema,
|
|
28
28
|
rejectDeploymentSchema,
|
|
29
29
|
submitDeploymentSchema
|
|
30
|
-
} from "../chunk-
|
|
30
|
+
} from "../chunk-Y2IGFLD2.js";
|
|
31
31
|
import {
|
|
32
32
|
analyticsBreakdowns,
|
|
33
33
|
analyticsCatalog,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
analyticsRanges,
|
|
43
43
|
analyticsReadSchema,
|
|
44
44
|
dashboardDefinitionSchema
|
|
45
|
-
} from "../chunk-
|
|
45
|
+
} from "../chunk-N3LJ6GFK.js";
|
|
46
46
|
import "../chunk-4OC7REYX.js";
|
|
47
47
|
import {
|
|
48
48
|
DEFAULT_MANAGEMENT_TIMEOUT,
|
|
@@ -63,22 +63,22 @@ import {
|
|
|
63
63
|
participantExchangeSchema,
|
|
64
64
|
questConfiguration,
|
|
65
65
|
sequenceCursorSchema
|
|
66
|
-
} from "../chunk-
|
|
66
|
+
} from "../chunk-KWFY7L7X.js";
|
|
67
67
|
import {
|
|
68
68
|
parseImageExtraction,
|
|
69
69
|
parseImageResult
|
|
70
|
-
} from "../chunk-
|
|
70
|
+
} from "../chunk-KUPVQXUJ.js";
|
|
71
71
|
import {
|
|
72
72
|
imageAssetArtifactSchema,
|
|
73
73
|
xUserLookupInputSchema,
|
|
74
74
|
xUserSchema,
|
|
75
75
|
xUsernameSchema
|
|
76
|
-
} from "../chunk-
|
|
76
|
+
} from "../chunk-YOAPPIWN.js";
|
|
77
77
|
import {
|
|
78
78
|
sourceDataSchema,
|
|
79
79
|
sourceRoles,
|
|
80
80
|
validateQuestShape
|
|
81
|
-
} from "../chunk-
|
|
81
|
+
} from "../chunk-VWMIA2TT.js";
|
|
82
82
|
import {
|
|
83
83
|
isIntegrationParticipantPath,
|
|
84
84
|
isParticipantRoute,
|
|
@@ -87,7 +87,7 @@ import {
|
|
|
87
87
|
} from "../chunk-MHPKEVEW.js";
|
|
88
88
|
import {
|
|
89
89
|
withActionId
|
|
90
|
-
} from "../chunk-
|
|
90
|
+
} from "../chunk-4OFH4BNX.js";
|
|
91
91
|
import {
|
|
92
92
|
allocateQuestSchema,
|
|
93
93
|
allocatedQuestSchema,
|
|
@@ -97,6 +97,7 @@ import {
|
|
|
97
97
|
collectionPreviewSchema,
|
|
98
98
|
collectionResolveSchema,
|
|
99
99
|
creatorAccountProviderSchema,
|
|
100
|
+
discordRoleRewardsSchema,
|
|
100
101
|
memberEnrollmentInputSchema,
|
|
101
102
|
publishQuestDraftSchema,
|
|
102
103
|
questCatalogSchema,
|
|
@@ -107,7 +108,7 @@ import {
|
|
|
107
108
|
rewardDeliveryQuerySchema,
|
|
108
109
|
rewardDeliverySchema,
|
|
109
110
|
saveQuestDraftSchema
|
|
110
|
-
} from "../chunk-
|
|
111
|
+
} from "../chunk-XQKUJL7H.js";
|
|
111
112
|
import {
|
|
112
113
|
badgeMutationResultSchema,
|
|
113
114
|
badgeMutationSchema,
|
|
@@ -155,7 +156,7 @@ import {
|
|
|
155
156
|
referralQualificationSchema,
|
|
156
157
|
referralRewardResolutionSchema,
|
|
157
158
|
referralSuspensionSchema
|
|
158
|
-
} from "../chunk-
|
|
159
|
+
} from "../chunk-MJEJQH5A.js";
|
|
159
160
|
import {
|
|
160
161
|
createPointLedgerSchema,
|
|
161
162
|
managedPointLedgerSchema,
|
|
@@ -164,16 +165,14 @@ import {
|
|
|
164
165
|
pointLedgerSchema,
|
|
165
166
|
profileModerationSchema,
|
|
166
167
|
profileSettingsInputSchema,
|
|
167
|
-
profileSettingsSchema
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
import "../chunk-KBVH4XZC.js";
|
|
173
|
-
import "../chunk-ABJ4G47X.js";
|
|
174
|
-
import "../chunk-QNQNKIAA.js";
|
|
168
|
+
profileSettingsSchema
|
|
169
|
+
} from "../chunk-YNW2ZUUP.js";
|
|
170
|
+
import "../chunk-6ZG7WNYX.js";
|
|
171
|
+
import "../chunk-N7YOS4ZU.js";
|
|
172
|
+
import "../chunk-422J3QRW.js";
|
|
175
173
|
import {
|
|
176
174
|
CompletionSourceKind,
|
|
175
|
+
acceptAnywaySchema,
|
|
177
176
|
addGroupMemberSchema,
|
|
178
177
|
appIdentityKindSchema,
|
|
179
178
|
attemptSchema,
|
|
@@ -201,6 +200,7 @@ import {
|
|
|
201
200
|
eventSchema,
|
|
202
201
|
evmAddressSchema,
|
|
203
202
|
evmChainIdSchema,
|
|
203
|
+
groupArchiveInputSchema,
|
|
204
204
|
groupMemberPageSchema,
|
|
205
205
|
groupMemberSchema,
|
|
206
206
|
groupPageQuerySchema,
|
|
@@ -208,13 +208,16 @@ import {
|
|
|
208
208
|
identifier,
|
|
209
209
|
knownResponse,
|
|
210
210
|
lazyResponseReaders,
|
|
211
|
+
lifecycleReasonSchema,
|
|
211
212
|
linkedWalletSchema,
|
|
212
213
|
managedGroupSchema,
|
|
214
|
+
managedTrackerCreateSchema,
|
|
213
215
|
managementStateQuerySchema,
|
|
214
216
|
memberCampaignEnrollmentInputSchema,
|
|
215
217
|
memberCampaignWithdrawalInputSchema,
|
|
216
218
|
memberIdentitySchema,
|
|
217
219
|
memberProgressSchema,
|
|
220
|
+
offsetDateTimeSchema,
|
|
218
221
|
pageCursorSchema,
|
|
219
222
|
pageQuerySchema,
|
|
220
223
|
pickupAvailabilitySchema,
|
|
@@ -234,10 +237,12 @@ import {
|
|
|
234
237
|
stockItemSchema,
|
|
235
238
|
streakProgressSchema,
|
|
236
239
|
submitSchema,
|
|
240
|
+
telegramChatConnectionSchema,
|
|
241
|
+
telegramChatIdSchema,
|
|
242
|
+
telegramChatsSchema,
|
|
237
243
|
trackerContentReadSchema,
|
|
238
244
|
trackerContentSchema,
|
|
239
245
|
trackerControlSchema,
|
|
240
|
-
trackerCreateSchema,
|
|
241
246
|
trackerDataIssue,
|
|
242
247
|
trackerDataIssues,
|
|
243
248
|
trackerIngestResultSchema,
|
|
@@ -261,7 +266,7 @@ import {
|
|
|
261
266
|
walletSignInNetworksSchema,
|
|
262
267
|
walletUnlinkInputSchema,
|
|
263
268
|
whereSchemaIssue
|
|
264
|
-
} from "../chunk-
|
|
269
|
+
} from "../chunk-GBSDAD3N.js";
|
|
265
270
|
|
|
266
271
|
// src/server/identity-links.ts
|
|
267
272
|
import * as z from "zod";
|
|
@@ -357,10 +362,18 @@ var state2 = {
|
|
|
357
362
|
*/
|
|
358
363
|
signIn: z2.boolean().nullable()
|
|
359
364
|
};
|
|
365
|
+
var account = {
|
|
366
|
+
/**
|
|
367
|
+
* True for an X, Discord or Telegram account a member import attached on the organization's
|
|
368
|
+
* word, until the member links that provider's account through Domino. Absent from Relay
|
|
369
|
+
* versions without it.
|
|
370
|
+
*/
|
|
371
|
+
imported: z2.boolean().optional()
|
|
372
|
+
};
|
|
360
373
|
var memberIdentityStateSchema = z2.discriminatedUnion("kind", [
|
|
361
374
|
walletIdentitySelectorSchema.strip().extend(state2),
|
|
362
|
-
oauthIdentitySelectorSchema.strip().extend(state2),
|
|
363
|
-
telegramIdentitySelectorSchema.strip().extend(state2),
|
|
375
|
+
oauthIdentitySelectorSchema.strip().extend({ ...state2, ...account }),
|
|
376
|
+
telegramIdentitySelectorSchema.strip().extend({ ...state2, ...account }),
|
|
364
377
|
appIdentitySelectorSchema.strip().extend(state2)
|
|
365
378
|
]);
|
|
366
379
|
var memberIdentityStatePageSchema = z2.object({
|
|
@@ -472,6 +485,25 @@ var leaderboardSettlementExportSchema = z4.object({
|
|
|
472
485
|
})
|
|
473
486
|
)
|
|
474
487
|
});
|
|
488
|
+
var csvField = (value) => {
|
|
489
|
+
const text = value == null ? "" : String(value);
|
|
490
|
+
return /[",\r\n]/.test(text) ? `"${text.replaceAll('"', '""')}"` : text;
|
|
491
|
+
};
|
|
492
|
+
function settlementPayoutCsv(exported) {
|
|
493
|
+
const unit = exported.pool === null ? "" : exported.pool.unit === "points" ? "points" : exported.pool.unit.code;
|
|
494
|
+
return [
|
|
495
|
+
["member", "score", "rank", "share", "amount", "unit", "wallets"],
|
|
496
|
+
...exported.rows.map((row) => [
|
|
497
|
+
row.member,
|
|
498
|
+
row.score,
|
|
499
|
+
row.rank,
|
|
500
|
+
row.share,
|
|
501
|
+
row.amount,
|
|
502
|
+
row.share === null ? "" : unit,
|
|
503
|
+
row.wallets.map((wallet) => `${wallet.network ?? wallet.chain}:${wallet.address}`).join(" ")
|
|
504
|
+
])
|
|
505
|
+
].map((fields) => fields.map(csvField).join(",")).join("\n");
|
|
506
|
+
}
|
|
475
507
|
|
|
476
508
|
// src/server/inventory-items.ts
|
|
477
509
|
import * as z5 from "zod";
|
|
@@ -552,7 +584,10 @@ var testMemberSchema = z7.object({
|
|
|
552
584
|
test: z7.literal(true),
|
|
553
585
|
/** Current project-calendar date (YYYY-MM-DD), computed by the server. */
|
|
554
586
|
today: z7.iso.date().optional(),
|
|
555
|
-
/**
|
|
587
|
+
/**
|
|
588
|
+
* Number of calendar days advanced with `days`; absent means zero for older servers. Hours,
|
|
589
|
+
* minutes and `to` leave it unchanged, so read the member's date from `today`.
|
|
590
|
+
*/
|
|
556
591
|
offsetDays: z7.number().int().min(0).optional(),
|
|
557
592
|
/** Linked wallet addresses, by chain then newest first; absent from older servers. */
|
|
558
593
|
wallets: z7.array(testMemberWalletSchema).optional(),
|
|
@@ -590,6 +625,19 @@ var testMemberAdvanceSchema = z7.object({
|
|
|
590
625
|
actionId: identifier,
|
|
591
626
|
days: z7.number().int().min(1).max(30)
|
|
592
627
|
}).strict();
|
|
628
|
+
var testMemberClockAdvanceSchema = z7.union([
|
|
629
|
+
testMemberAdvanceSchema,
|
|
630
|
+
z7.object({ actionId: identifier, hours: z7.number().int().min(1).max(720) }).strict(),
|
|
631
|
+
z7.object({
|
|
632
|
+
actionId: identifier,
|
|
633
|
+
minutes: z7.number().int().min(1).max(43200)
|
|
634
|
+
}).strict(),
|
|
635
|
+
z7.object({
|
|
636
|
+
actionId: identifier,
|
|
637
|
+
/** An ISO 8601 instant with an offset, such as `2026-10-10T00:00:00+02:00`. */
|
|
638
|
+
to: z7.iso.datetime({ offset: true })
|
|
639
|
+
}).strict()
|
|
640
|
+
]);
|
|
593
641
|
var testMemberResetResultSchema = z7.object({
|
|
594
642
|
member: identifier,
|
|
595
643
|
deleted: z7.literal(true)
|
|
@@ -739,7 +787,7 @@ var testMemberHistorySchema = z7.object({
|
|
|
739
787
|
import * as z8 from "zod";
|
|
740
788
|
var importTimeSchema = z8.union([
|
|
741
789
|
z8.number().int().nonnegative().safe(),
|
|
742
|
-
|
|
790
|
+
offsetDateTimeSchema().transform((value) => Date.parse(value))
|
|
743
791
|
]);
|
|
744
792
|
var importWalletSchema = z8.discriminatedUnion("chain", [
|
|
745
793
|
z8.object({
|
|
@@ -763,6 +811,14 @@ var importXSchema = z8.object({
|
|
|
763
811
|
kind: z8.literal("x"),
|
|
764
812
|
subject: z8.string().regex(/^[1-9][0-9]{0,19}$/, "Use the numeric X user ID")
|
|
765
813
|
}).strict();
|
|
814
|
+
var importTelegramSchema = z8.object({
|
|
815
|
+
kind: z8.literal("telegram"),
|
|
816
|
+
subject: z8.string().regex(/^[1-9][0-9]{0,19}$/, "Use the numeric Telegram user ID")
|
|
817
|
+
}).strict();
|
|
818
|
+
var importDiscordSchema = z8.object({
|
|
819
|
+
kind: z8.literal("discord"),
|
|
820
|
+
subject: z8.string().regex(/^[1-9][0-9]{0,19}$/, "Use the numeric Discord user ID")
|
|
821
|
+
}).strict();
|
|
766
822
|
var importAppIdentitySchema = z8.object({ kind: appIdentityKindSchema, subject: z8.string().min(1).max(256) }).strict();
|
|
767
823
|
var memberImportIdentitySchema = z8.union([
|
|
768
824
|
importAppIdentitySchema,
|
|
@@ -773,10 +829,32 @@ var memberImportAccountSchema = z8.union([
|
|
|
773
829
|
importWalletSchema,
|
|
774
830
|
importXSchema
|
|
775
831
|
]);
|
|
832
|
+
var memberImportVouchedAccountSchema = z8.union([
|
|
833
|
+
importWalletSchema,
|
|
834
|
+
importXSchema,
|
|
835
|
+
importTelegramSchema,
|
|
836
|
+
importDiscordSchema
|
|
837
|
+
]);
|
|
776
838
|
var memberImportActionSchema = z8.object({
|
|
777
839
|
at: importTimeSchema,
|
|
778
840
|
key: z8.string().min(1).max(200).optional()
|
|
779
841
|
}).strict();
|
|
842
|
+
var memberImportReferralSchema = z8.object({
|
|
843
|
+
/**
|
|
844
|
+
* The inviter: the `ref` of another row of this import, or the sign-in identity of a member
|
|
845
|
+
* who already exists in this environment.
|
|
846
|
+
*/
|
|
847
|
+
inviter: z8.union([
|
|
848
|
+
z8.string().trim().min(1).max(200),
|
|
849
|
+
memberImportIdentitySchema
|
|
850
|
+
]),
|
|
851
|
+
/** When the member accepted the invitation. */
|
|
852
|
+
acceptedAt: importTimeSchema,
|
|
853
|
+
/** Referral programs, by authoring key or ID, the member qualified in, and when. */
|
|
854
|
+
qualified: z8.array(
|
|
855
|
+
z8.object({ program: z8.string().min(1).max(200), at: importTimeSchema }).strict()
|
|
856
|
+
).max(50).default([])
|
|
857
|
+
}).strict();
|
|
780
858
|
var memberImportRowSchema = z8.object({
|
|
781
859
|
/** The member's ID on the platform they come from. Unique within an import. */
|
|
782
860
|
ref: z8.string().trim().min(1).max(200),
|
|
@@ -795,7 +873,11 @@ var memberImportRowSchema = z8.object({
|
|
|
795
873
|
quest: z8.string().min(1).max(200),
|
|
796
874
|
actions: z8.array(memberImportActionSchema).min(1).max(3660)
|
|
797
875
|
}).strict()
|
|
798
|
-
).max(200).default([])
|
|
876
|
+
).max(200).default([]),
|
|
877
|
+
referral: memberImportReferralSchema.optional()
|
|
878
|
+
}).strict();
|
|
879
|
+
var memberImportFullRowSchema = memberImportRowSchema.extend({
|
|
880
|
+
accounts: z8.array(memberImportVouchedAccountSchema).max(20).default([])
|
|
799
881
|
}).strict();
|
|
800
882
|
var memberImportCreateSchema = z8.object({
|
|
801
883
|
actionId: identifier,
|
|
@@ -803,6 +885,7 @@ var memberImportCreateSchema = z8.object({
|
|
|
803
885
|
source: z8.string().trim().min(1).max(100)
|
|
804
886
|
}).strict();
|
|
805
887
|
var memberImportRowsInputSchema = z8.object({ rows: z8.array(memberImportRowSchema).min(1).max(500) }).strict();
|
|
888
|
+
var memberImportFullRowsInputSchema = z8.object({ rows: z8.array(memberImportFullRowSchema).min(1).max(500) }).strict();
|
|
806
889
|
var MemberImportRefusalCode = {
|
|
807
890
|
/** An account or identity belongs to another member in the project. */
|
|
808
891
|
AccountLinkedElsewhere: "account-linked-elsewhere",
|
|
@@ -810,8 +893,12 @@ var MemberImportRefusalCode = {
|
|
|
810
893
|
IdentityUnlinked: "identity-unlinked",
|
|
811
894
|
/** An earlier row of the import names the same account. */
|
|
812
895
|
DuplicateAccount: "duplicate-account",
|
|
813
|
-
/** The member already has another X account selected. */
|
|
896
|
+
/** The row names two X accounts, or the member already has another X account selected. */
|
|
814
897
|
XAccountSelected: "x-account-selected",
|
|
898
|
+
/** The row names two Telegram accounts, or the member already has another one selected. */
|
|
899
|
+
TelegramAccountSelected: "telegram-account-selected",
|
|
900
|
+
/** The row names two Discord accounts, or the member already has another one selected. */
|
|
901
|
+
DiscordAccountSelected: "discord-account-selected",
|
|
815
902
|
/** The member would hold more wallets of a chain family than a member can link. */
|
|
816
903
|
LimitReached: "limit-reached",
|
|
817
904
|
UnknownLedger: "unknown-ledger",
|
|
@@ -826,8 +913,20 @@ var MemberImportRefusalCode = {
|
|
|
826
913
|
FutureAction: "future-action",
|
|
827
914
|
/** The row's sign-in wallet or X account is linked to its member without sign-in. */
|
|
828
915
|
SignInDisabled: "sign-in-disabled",
|
|
829
|
-
/** The row names one point ledger or
|
|
830
|
-
DuplicateEntry: "duplicate-entry"
|
|
916
|
+
/** The row names one point ledger, quest or referral program twice, by any of its names. */
|
|
917
|
+
DuplicateEntry: "duplicate-entry",
|
|
918
|
+
/** The inviter is no row of this import, and no member of the environment signs in with it. */
|
|
919
|
+
UnknownInviter: "unknown-inviter",
|
|
920
|
+
/** The row names its own member as the inviter. */
|
|
921
|
+
SelfReferral: "self-referral",
|
|
922
|
+
/** The member already has an inviter. An import never replaces one. */
|
|
923
|
+
InviterAlreadyAccepted: "inviter-already-accepted",
|
|
924
|
+
/** The inviter was invited, directly or through others, by this row's member. */
|
|
925
|
+
ReferralCycle: "referral-cycle",
|
|
926
|
+
/** The row that names the inviter was refused, so the inviter is never imported. */
|
|
927
|
+
InviterRefused: "inviter-refused",
|
|
928
|
+
/** No referral program of that key or ID in this environment, or it is archived. */
|
|
929
|
+
UnknownReferralProgram: "unknown-referral-program"
|
|
831
930
|
};
|
|
832
931
|
var refusalCodeSchema = z8.string();
|
|
833
932
|
var memberImportRefusalSchema = z8.object({
|
|
@@ -871,11 +970,79 @@ var memberImportSummarySchema = z8.object({
|
|
|
871
970
|
actions: z8.array(
|
|
872
971
|
z8.object({ quest: z8.string(), total: z8.number().int().nonnegative() })
|
|
873
972
|
),
|
|
973
|
+
/**
|
|
974
|
+
* Accepted referrals the ready rows record, and their qualifications by program as the rows
|
|
975
|
+
* name it. Absent from a summary written before imports carried referrals.
|
|
976
|
+
*/
|
|
977
|
+
referrals: z8.object({
|
|
978
|
+
accepted: z8.number().int().nonnegative(),
|
|
979
|
+
qualified: z8.array(
|
|
980
|
+
z8.object({
|
|
981
|
+
program: z8.string(),
|
|
982
|
+
total: z8.number().int().nonnegative()
|
|
983
|
+
})
|
|
984
|
+
)
|
|
985
|
+
}).optional(),
|
|
874
986
|
/** Refused rows, by refusal code. A row can have several. */
|
|
875
987
|
refusals: z8.array(
|
|
876
988
|
z8.object({ code: refusalCodeSchema, rows: z8.number().int().nonnegative() })
|
|
877
989
|
)
|
|
878
990
|
});
|
|
991
|
+
var memberImportRevertInputSchema = z8.object({
|
|
992
|
+
actionId: identifier,
|
|
993
|
+
reason: z8.string().trim().min(1).max(500)
|
|
994
|
+
}).strict();
|
|
995
|
+
var memberImportRevertOutcomeSchema = z8.object({
|
|
996
|
+
reversed: z8.object({
|
|
997
|
+
/** Applied rows the revert went through. */
|
|
998
|
+
rows: z8.number().int().nonnegative(),
|
|
999
|
+
/** Opening balance entries reversed. */
|
|
1000
|
+
entries: z8.number().int().nonnegative(),
|
|
1001
|
+
/** Imported completions revoked. */
|
|
1002
|
+
completions: z8.number().int().nonnegative(),
|
|
1003
|
+
/** Links the rows created that the revert removed. */
|
|
1004
|
+
links: z8.number().int().nonnegative()
|
|
1005
|
+
}),
|
|
1006
|
+
/**
|
|
1007
|
+
* Imported points the revert could not take back, by member and point ledger: the member had
|
|
1008
|
+
* spent or reserved them. A revert takes only free points, as a completion's revocation does,
|
|
1009
|
+
* so no balance goes below zero and Relay records no debt.
|
|
1010
|
+
*/
|
|
1011
|
+
unreversedPoints: z8.array(
|
|
1012
|
+
z8.object({
|
|
1013
|
+
member: identifier,
|
|
1014
|
+
ledger: identifier,
|
|
1015
|
+
amount: z8.number().int().positive()
|
|
1016
|
+
})
|
|
1017
|
+
),
|
|
1018
|
+
/**
|
|
1019
|
+
* Links the rows created that stay, because the member relied on them since: `signed-in` with
|
|
1020
|
+
* it, or `proved` a vouched wallet. `kind` is `wallet`, the provider (`x`, `telegram`,
|
|
1021
|
+
* `discord`) or `app:<name>`; `account` is the address or subject.
|
|
1022
|
+
*/
|
|
1023
|
+
keptLinks: z8.array(
|
|
1024
|
+
z8.object({
|
|
1025
|
+
member: identifier,
|
|
1026
|
+
kind: z8.string(),
|
|
1027
|
+
account: z8.string(),
|
|
1028
|
+
reason: z8.string()
|
|
1029
|
+
})
|
|
1030
|
+
),
|
|
1031
|
+
/**
|
|
1032
|
+
* True when rows were applied before imports recorded the links they created: those rows'
|
|
1033
|
+
* links all stay, and only their balances and completions were reversed.
|
|
1034
|
+
*/
|
|
1035
|
+
linksUntracked: z8.boolean()
|
|
1036
|
+
});
|
|
1037
|
+
var memberImportRevertSchema = z8.object({
|
|
1038
|
+
reason: z8.string(),
|
|
1039
|
+
requestedAt: z8.number().int(),
|
|
1040
|
+
requestedBy: z8.string().nullable(),
|
|
1041
|
+
/** Applied rows reverted so far. */
|
|
1042
|
+
rows: z8.number().int().nonnegative(),
|
|
1043
|
+
revertedAt: z8.number().int().nullable(),
|
|
1044
|
+
outcome: memberImportRevertOutcomeSchema.nullable()
|
|
1045
|
+
});
|
|
879
1046
|
var memberImportSchema = z8.object({
|
|
880
1047
|
id: identifier,
|
|
881
1048
|
source: z8.string(),
|
|
@@ -890,7 +1057,7 @@ var memberImportSchema = z8.object({
|
|
|
890
1057
|
rows: z8.number().int().nonnegative(),
|
|
891
1058
|
/** The latest check's summary, or null before the first check and after rows change. */
|
|
892
1059
|
summary: memberImportSummarySchema.nullable(),
|
|
893
|
-
/** While applying and after: rows applied and refused so far. */
|
|
1060
|
+
/** While applying and after, stopped included: rows applied and refused so far. */
|
|
894
1061
|
progress: z8.object({
|
|
895
1062
|
applied: z8.number().int().nonnegative(),
|
|
896
1063
|
refused: z8.number().int().nonnegative()
|
|
@@ -901,7 +1068,12 @@ var memberImportSchema = z8.object({
|
|
|
901
1068
|
appliedAt: z8.number().int().nullable(),
|
|
902
1069
|
appliedBy: z8.string().nullable(),
|
|
903
1070
|
canceledAt: z8.number().int().nullable(),
|
|
904
|
-
canceledBy: z8.string().nullable()
|
|
1071
|
+
canceledBy: z8.string().nullable(),
|
|
1072
|
+
/** Set when the import was stopped while applying; it then reads as `applied` with `appliedAt` null. */
|
|
1073
|
+
stoppedAt: z8.number().int().nullish(),
|
|
1074
|
+
stoppedBy: z8.string().nullish(),
|
|
1075
|
+
/** Set once a revert was asked for; the import still reads as `applied`. */
|
|
1076
|
+
revert: memberImportRevertSchema.nullish()
|
|
905
1077
|
});
|
|
906
1078
|
var memberImportPageSchema = z8.object({
|
|
907
1079
|
items: z8.array(memberImportSchema),
|
|
@@ -1062,13 +1234,31 @@ var resourceLifecycleInputSchema = z10.object({
|
|
|
1062
1234
|
kind: resourceLifecycleKindSchema,
|
|
1063
1235
|
resource: identifier,
|
|
1064
1236
|
archived: z10.boolean(),
|
|
1065
|
-
reason:
|
|
1237
|
+
reason: lifecycleReasonSchema,
|
|
1066
1238
|
expectedArchivedAt: z10.number().int().nonnegative().nullable().optional()
|
|
1067
1239
|
}).strict();
|
|
1068
1240
|
var resourceLifecycleResultSchema = z10.object({
|
|
1069
1241
|
resource: managedResourceSchema,
|
|
1070
1242
|
changed: z10.boolean()
|
|
1071
1243
|
});
|
|
1244
|
+
var managedOfferSchema = managedResourceSchema.extend({
|
|
1245
|
+
kind: z10.literal("offer")
|
|
1246
|
+
});
|
|
1247
|
+
var managedResourceListSchema = z10.object({
|
|
1248
|
+
resources: z10.array(managedResourceSchema),
|
|
1249
|
+
offers: z10.array(managedOfferSchema).default([])
|
|
1250
|
+
});
|
|
1251
|
+
var offerLifecycleResultSchema = z10.object({
|
|
1252
|
+
resource: managedOfferSchema,
|
|
1253
|
+
changed: z10.boolean()
|
|
1254
|
+
});
|
|
1255
|
+
var offerLifecycleInputSchema = z10.strictObject({
|
|
1256
|
+
actionId: z10.string().uuid(),
|
|
1257
|
+
offer: identifier,
|
|
1258
|
+
archived: z10.boolean(),
|
|
1259
|
+
reason: z10.string().trim().min(1).max(500),
|
|
1260
|
+
expectedArchivedAt: z10.number().int().nonnegative().nullable().optional()
|
|
1261
|
+
});
|
|
1072
1262
|
var resourceLifecyclePaths = {
|
|
1073
1263
|
tracker: "/trackers",
|
|
1074
1264
|
referral: "/referral-programs",
|
|
@@ -1407,6 +1597,10 @@ function nextScheduleRun(schedule, after) {
|
|
|
1407
1597
|
return next.getTime();
|
|
1408
1598
|
}
|
|
1409
1599
|
var appScheduleStateSchema = z14.enum(["active", "paused", "archived"]);
|
|
1600
|
+
var appScheduleStateInputSchema = z14.object({
|
|
1601
|
+
state: appScheduleStateSchema,
|
|
1602
|
+
reason: lifecycleReasonSchema.optional()
|
|
1603
|
+
}).strict();
|
|
1410
1604
|
var APP_SCHEDULE_RESULT_BYTES = 16384;
|
|
1411
1605
|
var appScheduleDiagnosticSchema = z14.object({
|
|
1412
1606
|
level: z14.enum(["error", "warning", "info"]),
|
|
@@ -1537,6 +1731,46 @@ ${body}`)
|
|
|
1537
1731
|
|
|
1538
1732
|
// src/server/starters.ts
|
|
1539
1733
|
import * as z15 from "zod";
|
|
1734
|
+
var starters = [
|
|
1735
|
+
{
|
|
1736
|
+
id: "campaign",
|
|
1737
|
+
title: "Campaign tour",
|
|
1738
|
+
summary: "A neutral quest app with a guided tour of every quest kind. The blank canvas for anything."
|
|
1739
|
+
},
|
|
1740
|
+
{
|
|
1741
|
+
id: "classic",
|
|
1742
|
+
title: "Classic questboard",
|
|
1743
|
+
summary: "The familiar Domino portal: quests in a grid grouped by section, a claim page, points, and a leaderboard."
|
|
1744
|
+
},
|
|
1745
|
+
{
|
|
1746
|
+
id: "waitlist",
|
|
1747
|
+
title: "Waitlist",
|
|
1748
|
+
summary: "Collect sign-ups before launch. People move up the line by inviting friends."
|
|
1749
|
+
},
|
|
1750
|
+
{
|
|
1751
|
+
id: "referral",
|
|
1752
|
+
title: "Referral program",
|
|
1753
|
+
summary: "Give every member an invite link and reward them when friends join and qualify."
|
|
1754
|
+
},
|
|
1755
|
+
{
|
|
1756
|
+
id: "discord",
|
|
1757
|
+
title: "Discord activation",
|
|
1758
|
+
summary: "Turn new Discord members into regulars with quests for joining, introducing themselves, and taking part, rewarded with roles."
|
|
1759
|
+
},
|
|
1760
|
+
{
|
|
1761
|
+
id: "loyalty",
|
|
1762
|
+
title: "Loyalty program",
|
|
1763
|
+
summary: "Members earn points in a campaign, qualify into a members' group, and spend points on offers, some for members only."
|
|
1764
|
+
},
|
|
1765
|
+
{
|
|
1766
|
+
id: "api",
|
|
1767
|
+
title: "API",
|
|
1768
|
+
summary: "A headless Worker with typed routes and interactive API docs, for plugging Domino into your own product."
|
|
1769
|
+
}
|
|
1770
|
+
];
|
|
1771
|
+
var offeredStarterSchema = z15.string().refine((id) => starters.some((starter) => starter.id === id), {
|
|
1772
|
+
error: `Unknown starter. Choose one of: ${starters.map((starter) => starter.id).join(", ")}.`
|
|
1773
|
+
});
|
|
1540
1774
|
var starterTemplates = [
|
|
1541
1775
|
{
|
|
1542
1776
|
id: "campaign",
|
|
@@ -1810,6 +2044,10 @@ var repositorySchema = z16.object({
|
|
|
1810
2044
|
defaultBranch: z16.string(),
|
|
1811
2045
|
status: z16.enum(["provisioning", "ready"])
|
|
1812
2046
|
});
|
|
2047
|
+
var repositoryCreateSchema = z16.object({
|
|
2048
|
+
/** Omitted: the starter chosen at project setup, else `campaign`. */
|
|
2049
|
+
starter: offeredStarterSchema.optional()
|
|
2050
|
+
}).strict();
|
|
1813
2051
|
var createRepositorySchema = z16.object({
|
|
1814
2052
|
/** Omitted: the starter chosen at project setup, else `campaign`. */
|
|
1815
2053
|
starter: starterIdSchema.optional()
|
|
@@ -1922,10 +2160,18 @@ var stagingAccessInputSchema = z16.discriminatedUnion("mode", [
|
|
|
1922
2160
|
password: z16.string().min(8).max(128)
|
|
1923
2161
|
}).strict()
|
|
1924
2162
|
]);
|
|
1925
|
-
var
|
|
1926
|
-
|
|
1927
|
-
"
|
|
1928
|
-
)
|
|
2163
|
+
var stagingOrigin = "https://staging.invalid";
|
|
2164
|
+
var stagingPathSchema = z16.string().max(2048).refine((path) => {
|
|
2165
|
+
if (!path.startsWith("/") || path.startsWith("//") || path.includes("\\") || // oxlint-disable-next-line no-control-regex
|
|
2166
|
+
/[\u0000-\u001f\u007f]/.test(path)) {
|
|
2167
|
+
return false;
|
|
2168
|
+
}
|
|
2169
|
+
try {
|
|
2170
|
+
return new URL(path, stagingOrigin).origin === stagingOrigin;
|
|
2171
|
+
} catch {
|
|
2172
|
+
return false;
|
|
2173
|
+
}
|
|
2174
|
+
}, "Expected a path on the staging host");
|
|
1929
2175
|
var stagingLinkSchema = z16.object({
|
|
1930
2176
|
url: z16.string().url(),
|
|
1931
2177
|
expiresAt: z16.number()
|
|
@@ -1984,12 +2230,13 @@ var artifactFields = {
|
|
|
1984
2230
|
}).strict()
|
|
1985
2231
|
).max(500)
|
|
1986
2232
|
};
|
|
2233
|
+
var inlineCode = () => z16.unknown().optional().transform((value) => value);
|
|
1987
2234
|
var buildArtifactsSchema = z16.discriminatedUnion("format", [
|
|
1988
2235
|
z16.object({
|
|
1989
2236
|
format: z16.literal(1),
|
|
1990
2237
|
...artifactFields,
|
|
1991
|
-
quests:
|
|
1992
|
-
catalog:
|
|
2238
|
+
quests: inlineCode(),
|
|
2239
|
+
catalog: inlineCode()
|
|
1993
2240
|
}).strict(),
|
|
1994
2241
|
z16.object({
|
|
1995
2242
|
format: z16.literal(2),
|
|
@@ -2192,6 +2439,13 @@ var projectSchema = z19.object({
|
|
|
2192
2439
|
path: ["creator"]
|
|
2193
2440
|
}
|
|
2194
2441
|
);
|
|
2442
|
+
var projectCreateInputSchema = z19.object({
|
|
2443
|
+
actionId: identifier,
|
|
2444
|
+
name: z19.string().trim().min(1).max(80),
|
|
2445
|
+
setup: projectSetupSchema.optional(),
|
|
2446
|
+
/** The starter a new hosted app begins from, with `setup.mode` "new". */
|
|
2447
|
+
starter: offeredStarterSchema.optional()
|
|
2448
|
+
}).strict();
|
|
2195
2449
|
var projectInputSchema = z19.object({
|
|
2196
2450
|
actionId: identifier,
|
|
2197
2451
|
name: z19.string().trim().min(1).max(80),
|
|
@@ -2200,7 +2454,7 @@ var projectInputSchema = z19.object({
|
|
|
2200
2454
|
starter: starterIdSchema.optional()
|
|
2201
2455
|
}).strict();
|
|
2202
2456
|
var projectUpdateInputSchema = z19.union([
|
|
2203
|
-
z19.object({ name:
|
|
2457
|
+
z19.object({ name: projectCreateInputSchema.shape.name }).strict(),
|
|
2204
2458
|
z19.object({
|
|
2205
2459
|
slug: projectSchema.shape.slug,
|
|
2206
2460
|
confirm: z19.string().min(1).max(80)
|
|
@@ -2309,12 +2563,87 @@ var completionRevocationSchema = z19.object({
|
|
|
2309
2563
|
),
|
|
2310
2564
|
streakMilestone: z19.boolean()
|
|
2311
2565
|
});
|
|
2566
|
+
var completionRestoreSchema = z19.object({
|
|
2567
|
+
actionId: identifier,
|
|
2568
|
+
reason: z19.string().trim().min(1).max(500)
|
|
2569
|
+
}).strict();
|
|
2570
|
+
var RestoredEntitlementOutcome = {
|
|
2571
|
+
/** The revocation voided it, and it is available again. */
|
|
2572
|
+
Restored: "restored",
|
|
2573
|
+
/** The revocation lowered or flagged it: its earned tier is the completion's again. */
|
|
2574
|
+
Raised: "raised",
|
|
2575
|
+
/** It changed since the revocation (an operator restored, voided or corrected it), so it stays. */
|
|
2576
|
+
Kept: "kept"
|
|
2577
|
+
};
|
|
2578
|
+
var RestoredDeliveryOutcome = {
|
|
2579
|
+
/** The grant had not reached Discord, and it is queued again. */
|
|
2580
|
+
Requeued: "requeued",
|
|
2581
|
+
/** The grant counts again for reconciliation, and its delivery status stays. */
|
|
2582
|
+
Kept: "kept"
|
|
2583
|
+
};
|
|
2584
|
+
var RestoredReferralOutcome = {
|
|
2585
|
+
/** The member qualifies on this completion again. */
|
|
2586
|
+
Qualified: "qualified",
|
|
2587
|
+
/** The program is disabled or gone, or the referral is suspended, so nothing changed. */
|
|
2588
|
+
Kept: "kept"
|
|
2589
|
+
};
|
|
2590
|
+
var openOutcome = z19.string().min(1).max(64);
|
|
2591
|
+
var completionRestorationSchema = z19.object({
|
|
2592
|
+
completion: identifier,
|
|
2593
|
+
/** The quest ID, or the board ID when `source.kind` is `leaderboard`. */
|
|
2594
|
+
quest: identifier,
|
|
2595
|
+
member: identifier,
|
|
2596
|
+
source: completionSourceSchema.optional(),
|
|
2597
|
+
restoredAt: z19.number(),
|
|
2598
|
+
points: z19.array(
|
|
2599
|
+
z19.object({
|
|
2600
|
+
entry: identifier,
|
|
2601
|
+
balance: identifier,
|
|
2602
|
+
reversal: identifier,
|
|
2603
|
+
amount: z19.number().int()
|
|
2604
|
+
})
|
|
2605
|
+
),
|
|
2606
|
+
badges: z19.array(z19.object({ badge: identifier })),
|
|
2607
|
+
groups: z19.array(z19.object({ group: identifier, added: z19.boolean() })),
|
|
2608
|
+
entitlements: z19.array(
|
|
2609
|
+
z19.object({
|
|
2610
|
+
entitlement: identifier,
|
|
2611
|
+
reward: identifier,
|
|
2612
|
+
outcome: openOutcome,
|
|
2613
|
+
status: z19.string()
|
|
2614
|
+
})
|
|
2615
|
+
),
|
|
2616
|
+
deliveries: z19.array(
|
|
2617
|
+
z19.object({
|
|
2618
|
+
delivery: z19.string(),
|
|
2619
|
+
roleId: z19.string(),
|
|
2620
|
+
outcome: openOutcome
|
|
2621
|
+
})
|
|
2622
|
+
),
|
|
2623
|
+
referrals: z19.array(
|
|
2624
|
+
z19.object({
|
|
2625
|
+
program: identifier,
|
|
2626
|
+
outcome: openOutcome
|
|
2627
|
+
})
|
|
2628
|
+
),
|
|
2629
|
+
streakMilestone: z19.boolean()
|
|
2630
|
+
});
|
|
2312
2631
|
var accessSchema = z19.object({
|
|
2313
2632
|
actor: z19.string(),
|
|
2314
2633
|
organization: z19.string(),
|
|
2315
2634
|
admin: z19.boolean(),
|
|
2316
2635
|
local: z19.boolean(),
|
|
2317
|
-
projects: z19.array(projectSchema)
|
|
2636
|
+
projects: z19.array(projectSchema),
|
|
2637
|
+
/** The credential's own kind and scope, when it is an organization automation key. */
|
|
2638
|
+
credential: z19.object({
|
|
2639
|
+
kind: z19.string(),
|
|
2640
|
+
id: z19.string(),
|
|
2641
|
+
name: z19.string(),
|
|
2642
|
+
/** The projects it reaches; null for every project of the organization. */
|
|
2643
|
+
projects: z19.array(z19.string()).nullable(),
|
|
2644
|
+
createProjects: z19.boolean(),
|
|
2645
|
+
permissions: permissionListSchema
|
|
2646
|
+
}).optional()
|
|
2318
2647
|
});
|
|
2319
2648
|
var querySchema = z19.object({
|
|
2320
2649
|
q: z19.string().max(200).default(""),
|
|
@@ -2479,7 +2808,12 @@ var managedTelegramAccountSchema = z19.discriminatedUnion("status", [
|
|
|
2479
2808
|
status: z19.literal("connected"),
|
|
2480
2809
|
/** The numeric Telegram user ID. */
|
|
2481
2810
|
subject: z19.string().min(1),
|
|
2482
|
-
linkedAt: z19.number()
|
|
2811
|
+
linkedAt: z19.number(),
|
|
2812
|
+
/**
|
|
2813
|
+
* True when a member import attached the account with the organization's word for it, not the
|
|
2814
|
+
* member's proof. Absent from Relay versions without it.
|
|
2815
|
+
*/
|
|
2816
|
+
imported: z19.boolean().optional()
|
|
2483
2817
|
}),
|
|
2484
2818
|
managedTelegramAccountBaseSchema.extend({
|
|
2485
2819
|
status: z19.literal("disconnected")
|
|
@@ -2505,8 +2839,9 @@ var managedWalletSchema = linkedWalletSchema.extend({
|
|
|
2505
2839
|
});
|
|
2506
2840
|
var managedMemberIdentitySchema = memberIdentitySchema.extend({
|
|
2507
2841
|
/**
|
|
2508
|
-
* True for an X account a member import attached, until the member links
|
|
2509
|
-
* through
|
|
2842
|
+
* True for an X or Discord account a member import attached, until the member links that
|
|
2843
|
+
* provider's account, or signs in with the X account, through Domino. Absent from Relay versions
|
|
2844
|
+
* without imports.
|
|
2510
2845
|
*/
|
|
2511
2846
|
imported: z19.boolean().optional(),
|
|
2512
2847
|
/**
|
|
@@ -2569,6 +2904,17 @@ var participantSignInSchema = z19.object({
|
|
|
2569
2904
|
login: z19.boolean(),
|
|
2570
2905
|
miniAppBotId: telegramBotIdSchema.nullable()
|
|
2571
2906
|
}).optional(),
|
|
2907
|
+
/**
|
|
2908
|
+
* The creator-account providers, such as `youtube`, and whether Domino configured each, so
|
|
2909
|
+
* members can link accounts that trackers like `youtube.shorts()` read. Absent from older Relay
|
|
2910
|
+
* versions.
|
|
2911
|
+
*/
|
|
2912
|
+
creatorAccounts: z19.array(
|
|
2913
|
+
z19.object({
|
|
2914
|
+
provider: creatorAccountProviderSchema,
|
|
2915
|
+
configured: z19.boolean()
|
|
2916
|
+
})
|
|
2917
|
+
).optional(),
|
|
2572
2918
|
updatedAt: z19.number().nullable(),
|
|
2573
2919
|
updatedBy: z19.string().nullable()
|
|
2574
2920
|
});
|
|
@@ -2582,12 +2928,24 @@ var completionRevocationShortfallSchema = z19.object({
|
|
|
2582
2928
|
revokedAt: z19.number().int().nonnegative().safe(),
|
|
2583
2929
|
unreversedPoints: z19.record(identifier, z19.number().int().positive().safe())
|
|
2584
2930
|
});
|
|
2931
|
+
var revokedCompletionSchema = z19.object({
|
|
2932
|
+
completion: identifier,
|
|
2933
|
+
quest: identifier,
|
|
2934
|
+
/** The completion key: its occurrence, such as `once` or a day. */
|
|
2935
|
+
key: z19.string(),
|
|
2936
|
+
revokedAt: z19.number().int().nonnegative().safe(),
|
|
2937
|
+
/** Why it was revoked, and what the revoke did, which a restore re-applies. */
|
|
2938
|
+
reason: z19.string().optional(),
|
|
2939
|
+
revocation: completionRevocationSchema.optional()
|
|
2940
|
+
});
|
|
2585
2941
|
var memberDetailSchema = z19.object({
|
|
2586
2942
|
snapshot: snapshotSchema,
|
|
2587
2943
|
member: memberSchema,
|
|
2588
2944
|
progress: memberProgressSchema,
|
|
2589
2945
|
/** Up to 25 revoked completions with an unreversed point remainder, newest first. */
|
|
2590
2946
|
revocationShortfalls: z19.array(completionRevocationShortfallSchema).default([]),
|
|
2947
|
+
/** Up to 25 revoked completions, newest first. Relay older than restore leaves it out. */
|
|
2948
|
+
revokedCompletions: z19.array(revokedCompletionSchema).optional(),
|
|
2591
2949
|
/** Current and historical campaign enrollment state, including inactive enrollments. */
|
|
2592
2950
|
campaignEnrollments: z19.array(campaignEnrollmentSchema).default([]),
|
|
2593
2951
|
passes: z19.array(
|
|
@@ -2614,7 +2972,17 @@ var memberDetailSchema = z19.object({
|
|
|
2614
2972
|
* The creator accounts the member linked (a YouTube channel), whose content managed tracker
|
|
2615
2973
|
* sources attribute to them. Absent from Relay versions without creator accounts.
|
|
2616
2974
|
*/
|
|
2617
|
-
creatorAccounts: z19.array(managedCreatorAccountSchema).optional()
|
|
2975
|
+
creatorAccounts: z19.array(managedCreatorAccountSchema).optional(),
|
|
2976
|
+
/**
|
|
2977
|
+
* Who invited the member, when they accepted, and the member import that recorded it, or null
|
|
2978
|
+
* when nobody invited them. Absent from Relay versions before imported referrals.
|
|
2979
|
+
*/
|
|
2980
|
+
referral: z19.object({
|
|
2981
|
+
inviter: identifier,
|
|
2982
|
+
acceptedAt: z19.number().int().nonnegative(),
|
|
2983
|
+
suspended: z19.boolean(),
|
|
2984
|
+
import: identifier.nullable()
|
|
2985
|
+
}).nullable().optional()
|
|
2618
2986
|
});
|
|
2619
2987
|
var managedMemberProgressSchema = z19.object({
|
|
2620
2988
|
member: identifier,
|
|
@@ -2682,6 +3050,44 @@ var issuedServiceKeySchema = serviceKeySchema.extend({
|
|
|
2682
3050
|
secret: z19.string().uuid(),
|
|
2683
3051
|
token: z19.string()
|
|
2684
3052
|
});
|
|
3053
|
+
var automationKeyPermissionSchema = z19.enum([
|
|
3054
|
+
"read",
|
|
3055
|
+
"publish",
|
|
3056
|
+
"inventory",
|
|
3057
|
+
"points",
|
|
3058
|
+
"ingest",
|
|
3059
|
+
"enroll"
|
|
3060
|
+
]);
|
|
3061
|
+
var automationKeyInputSchema = z19.object({
|
|
3062
|
+
name: z19.string().trim().min(1).max(80),
|
|
3063
|
+
permissions: z19.array(automationKeyPermissionSchema).min(1),
|
|
3064
|
+
/** The projects it reaches. Omit it for every project of the organization, current and future. */
|
|
3065
|
+
projects: z19.array(identifier).min(1).max(100).optional(),
|
|
3066
|
+
/** Whether it may create projects. A project it creates joins its `projects` list. */
|
|
3067
|
+
createProjects: z19.boolean().default(false),
|
|
3068
|
+
/** Days until the first secret expires. Omit it for a key that never expires. */
|
|
3069
|
+
expiresInDays: z19.number().int().min(1).max(3650).optional()
|
|
3070
|
+
}).strict();
|
|
3071
|
+
var automationKeySchema = z19.object({
|
|
3072
|
+
id: z19.string().uuid(),
|
|
3073
|
+
organization: z19.string(),
|
|
3074
|
+
name: z19.string(),
|
|
3075
|
+
permissions: permissionListSchema,
|
|
3076
|
+
/** The projects it reaches; null for every project of the organization. */
|
|
3077
|
+
projects: z19.array(z19.string()).nullable(),
|
|
3078
|
+
createProjects: z19.boolean(),
|
|
3079
|
+
/** The Clerk user ID of the administrator who created it. */
|
|
3080
|
+
createdBy: z19.string(),
|
|
3081
|
+
createdAt: z19.number(),
|
|
3082
|
+
/** The latest use of any of its secrets, revoked ones included; null when none was used. */
|
|
3083
|
+
lastUsedAt: z19.number().nullable(),
|
|
3084
|
+
/** Its working secrets, oldest first. Any of them authenticates the key. */
|
|
3085
|
+
secrets: z19.array(credentialSecretSchema)
|
|
3086
|
+
});
|
|
3087
|
+
var issuedAutomationKeySchema = automationKeySchema.extend({
|
|
3088
|
+
secret: z19.string().uuid(),
|
|
3089
|
+
token: z19.string()
|
|
3090
|
+
});
|
|
2685
3091
|
var teamSchema = z19.array(
|
|
2686
3092
|
z19.object({ id: z19.string(), label: z19.string() })
|
|
2687
3093
|
);
|
|
@@ -2753,6 +3159,7 @@ var managedAttemptSchema = z19.object({
|
|
|
2753
3159
|
attempt: attemptSchema,
|
|
2754
3160
|
release: publishedReleaseSchema.nullable(),
|
|
2755
3161
|
events: z19.array(eventSchema),
|
|
3162
|
+
supersededBy: z19.string().nullable().optional(),
|
|
2756
3163
|
person: personSchema
|
|
2757
3164
|
});
|
|
2758
3165
|
var managedEntitlementQuerySchema = z19.strictObject({
|
|
@@ -2938,6 +3345,31 @@ function managementClient(options) {
|
|
|
2938
3345
|
typeof target === "string" ? call : inputOrCall
|
|
2939
3346
|
);
|
|
2940
3347
|
}
|
|
3348
|
+
function setAppScheduleState(state3, inputOrCall, call) {
|
|
3349
|
+
const reasoned = call !== void 0 || inputOrCall !== void 0 && "reason" in inputOrCall;
|
|
3350
|
+
return request(
|
|
3351
|
+
"/schedules/state",
|
|
3352
|
+
appScheduleListSchema,
|
|
3353
|
+
appScheduleStateInputSchema.parse({
|
|
3354
|
+
...reasoned ? inputOrCall : {},
|
|
3355
|
+
state: state3
|
|
3356
|
+
}),
|
|
3357
|
+
"PUT",
|
|
3358
|
+
reasoned ? call : inputOrCall
|
|
3359
|
+
);
|
|
3360
|
+
}
|
|
3361
|
+
function archiveManagedGroup(verb) {
|
|
3362
|
+
function change(group, inputOrCall, call) {
|
|
3363
|
+
const reasoned = call !== void 0 || inputOrCall !== void 0 && "reason" in inputOrCall;
|
|
3364
|
+
return post(
|
|
3365
|
+
`/groups/${groupKey(group)}/${verb}`,
|
|
3366
|
+
managedGroupSchema,
|
|
3367
|
+
reasoned ? groupArchiveInputSchema.parse(inputOrCall) : {},
|
|
3368
|
+
reasoned ? call : inputOrCall
|
|
3369
|
+
);
|
|
3370
|
+
}
|
|
3371
|
+
return change;
|
|
3372
|
+
}
|
|
2941
3373
|
function archiveManagedPointLedger(ledger, inputOrCall, call) {
|
|
2942
3374
|
const input = inputOrCall && "reason" in inputOrCall ? resourceArchiveInputSchema.parse(withActionId(inputOrCall)) : {};
|
|
2943
3375
|
const options2 = inputOrCall && "reason" in inputOrCall ? call : inputOrCall;
|
|
@@ -3015,22 +3447,25 @@ function managementClient(options) {
|
|
|
3015
3447
|
},
|
|
3016
3448
|
trackers: {
|
|
3017
3449
|
/**
|
|
3018
|
-
* Creates
|
|
3019
|
-
*
|
|
3020
|
-
*
|
|
3021
|
-
*
|
|
3450
|
+
* Creates a tracker as data in test, with the same validation as `defineTracker`; requires
|
|
3451
|
+
* `publish`. Name its source with `source`, such as `{ kind: "discord-messages", text: true }`,
|
|
3452
|
+
* or an X search with `query` alone. An X tracker's first collection searches from
|
|
3453
|
+
* `window.start`. Live refuses it with `promotion-required`: the tracker reaches live through
|
|
3454
|
+
* a promotion. A key a deployment already publishes is refused with `tracker-owned-by-code`.
|
|
3022
3455
|
*/
|
|
3023
3456
|
create: (input, call) => create(
|
|
3024
3457
|
"/trackers",
|
|
3025
3458
|
trackerStatusSchema,
|
|
3026
|
-
|
|
3459
|
+
managedTrackerCreateSchema,
|
|
3027
3460
|
input,
|
|
3028
3461
|
call
|
|
3029
3462
|
),
|
|
3030
3463
|
/**
|
|
3031
|
-
* Changes a tracker created with `create`, in test; fields left out keep their value.
|
|
3032
|
-
*
|
|
3033
|
-
*
|
|
3464
|
+
* Changes a tracker created with `create`, in test; fields left out keep their value. `source`
|
|
3465
|
+
* replaces the source's settings but never its kind (`validation-failed`). A new query or
|
|
3466
|
+
* window collects from now on and never searches the past, and turning Discord message text
|
|
3467
|
+
* off erases the text already stored. A tracker defined in code changes only through a
|
|
3468
|
+
* deployment (`tracker-owned-by-code`).
|
|
3034
3469
|
*/
|
|
3035
3470
|
update: (reference, input, call) => post(
|
|
3036
3471
|
`/trackers/${identifier.parse(reference)}/update`,
|
|
@@ -3512,20 +3947,11 @@ function managementClient(options) {
|
|
|
3512
3947
|
),
|
|
3513
3948
|
/**
|
|
3514
3949
|
* Freezes a group's membership. Its members still count for prerequisites, leaderboards
|
|
3515
|
-
* and referral rules.
|
|
3950
|
+
* and referral rules. Pass `{ reason }` to record why in the audit log.
|
|
3516
3951
|
*/
|
|
3517
|
-
archive: (
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
{},
|
|
3521
|
-
call
|
|
3522
|
-
),
|
|
3523
|
-
unarchive: (group, call) => post(
|
|
3524
|
-
`/groups/${groupKey(group)}/unarchive`,
|
|
3525
|
-
managedGroupSchema,
|
|
3526
|
-
{},
|
|
3527
|
-
call
|
|
3528
|
-
),
|
|
3952
|
+
archive: archiveManagedGroup("archive"),
|
|
3953
|
+
/** Lets a group's membership change again, with an optional `{ reason }` for the audit log. */
|
|
3954
|
+
unarchive: archiveManagedGroup("unarchive"),
|
|
3529
3955
|
/** A group's current members by member ID. Pass `nextCursor` back as `cursor`. */
|
|
3530
3956
|
members: (group, query = {}, call) => get(
|
|
3531
3957
|
`/groups/${groupKey(group)}/members${queryString(groupPageQuerySchema.parse(query))}`,
|
|
@@ -3927,6 +4353,24 @@ function managementClient(options) {
|
|
|
3927
4353
|
staffDecisionSchema.parse(withActionId(input)),
|
|
3928
4354
|
call
|
|
3929
4355
|
),
|
|
4356
|
+
/**
|
|
4357
|
+
* Accepts a rejected attempt anyway, with a reason, for any member; requires `review`
|
|
4358
|
+
* permission. The evaluator's or a reviewer's rejection stays in the attempt's events, its
|
|
4359
|
+
* retry cooldown ends, and the acceptance pays as a reviewer's approval would, with the
|
|
4360
|
+
* normal accepted events and webhook. Only the member's latest attempt on a quest that isn't
|
|
4361
|
+
* archived (409 `attempt-superseded`, `quest-archived`); a cap the acceptance would break is
|
|
4362
|
+
* refused, not bypassed (409 `completion-cooldown`, `budget-exhausted`, `completion-revoked`,
|
|
4363
|
+
* `already-completed`). Replaying the action ID returns the first result.
|
|
4364
|
+
*/
|
|
4365
|
+
acceptAnyway: (input, call) => {
|
|
4366
|
+
const { attempt, ...body } = input;
|
|
4367
|
+
return post(
|
|
4368
|
+
`/attempts/${identifier.parse(attempt)}/accept-anyway`,
|
|
4369
|
+
attemptSchema,
|
|
4370
|
+
acceptAnywaySchema.parse(withActionId(body)),
|
|
4371
|
+
call
|
|
4372
|
+
);
|
|
4373
|
+
},
|
|
3930
4374
|
/** Evaluates a failed attempt again under a new generation; requires `review` permission. */
|
|
3931
4375
|
retry: (attempt, call) => post(
|
|
3932
4376
|
`/attempts/${identifier.parse(attempt)}/retry`,
|
|
@@ -3966,6 +4410,26 @@ function managementClient(options) {
|
|
|
3966
4410
|
completionRevokeSchema.parse(withActionId(body)),
|
|
3967
4411
|
call
|
|
3968
4412
|
);
|
|
4413
|
+
},
|
|
4414
|
+
/**
|
|
4415
|
+
* Restores a revoked completion with a reason; requires `review` permission. In one
|
|
4416
|
+
* transaction it clears the revocation and re-applies what the revocation recorded: awards
|
|
4417
|
+
* back the points it reversed (not those it could not reverse), re-awards its badges, re-adds
|
|
4418
|
+
* its group memberships, restores the tiered rewards it voided and raises those it lowered,
|
|
4419
|
+
* queues its stopped Discord role grants again, re-qualifies its referrals, and restores a
|
|
4420
|
+
* streak milestone. Budgets stay spent. Fails with 409 `completion-not-revoked` when the
|
|
4421
|
+
* completion counts already, and with 409 `occurrence-taken` when the revocation freed the
|
|
4422
|
+
* occurrence and another completion holds it now. Replaying the action ID returns the first
|
|
4423
|
+
* result.
|
|
4424
|
+
*/
|
|
4425
|
+
restore: (input, call) => {
|
|
4426
|
+
const { completion, ...body } = input;
|
|
4427
|
+
return post(
|
|
4428
|
+
`/completions/${identifier.parse(completion)}/restore`,
|
|
4429
|
+
completionRestorationSchema,
|
|
4430
|
+
completionRestoreSchema.parse(withActionId(body)),
|
|
4431
|
+
call
|
|
4432
|
+
);
|
|
3969
4433
|
}
|
|
3970
4434
|
},
|
|
3971
4435
|
/** Staff handover of a member's reward entitlement; requires `handover` permission. */
|
|
@@ -4027,6 +4491,20 @@ function managementClient(options) {
|
|
|
4027
4491
|
entitlementCorrectionSchema.parse(withActionId(input)),
|
|
4028
4492
|
call
|
|
4029
4493
|
),
|
|
4494
|
+
/**
|
|
4495
|
+
* Restores an entitlement an operator voided, at the `revision` the operator saw, with a
|
|
4496
|
+
* reason. It is available again at the tier an accepted completion still earns, with any
|
|
4497
|
+
* referral review the void settled. Fails with 409 `entitlement-status` when it isn't void;
|
|
4498
|
+
* when a completion revocation voided it, or no accepted completion still earns it, with the
|
|
4499
|
+
* revoked `completion` to restore instead; when canceling a redemption voided it; and for a
|
|
4500
|
+
* referral reward voided before voids kept their referral reviews.
|
|
4501
|
+
*/
|
|
4502
|
+
restore: (entitlement, input, call) => post(
|
|
4503
|
+
`/entitlements/${identifier.parse(entitlement)}/restore`,
|
|
4504
|
+
entitlementSchema,
|
|
4505
|
+
entitlementCorrectionSchema.parse(withActionId(input)),
|
|
4506
|
+
call
|
|
4507
|
+
),
|
|
4030
4508
|
/**
|
|
4031
4509
|
* Corrects a collection recorded by mistake, at the `revision` the operator saw, with a
|
|
4032
4510
|
* reason. The entitlement is available again and any pickup size it held returns to stock.
|
|
@@ -4141,6 +4619,25 @@ function managementClient(options) {
|
|
|
4141
4619
|
)
|
|
4142
4620
|
},
|
|
4143
4621
|
offers: {
|
|
4622
|
+
/**
|
|
4623
|
+
* Archive an offer in test, with a reason the audit log records: members stop seeing it and
|
|
4624
|
+
* redeeming it fails with `offer-paused`, while its redemptions stay cancelable and it stays
|
|
4625
|
+
* archived when its code deploys again. Live gets the change through a promotion. Requires
|
|
4626
|
+
* `publish` permission.
|
|
4627
|
+
*/
|
|
4628
|
+
archive: (offer, input, call) => post(
|
|
4629
|
+
`/offers/${identifier.parse(offer)}/archive`,
|
|
4630
|
+
offerLifecycleResultSchema,
|
|
4631
|
+
resourceArchiveInputSchema.parse(withActionId(input)),
|
|
4632
|
+
call
|
|
4633
|
+
),
|
|
4634
|
+
/** Restore an archived offer in test. Requires `publish` permission. */
|
|
4635
|
+
unarchive: (offer, input, call) => post(
|
|
4636
|
+
`/offers/${identifier.parse(offer)}/unarchive`,
|
|
4637
|
+
offerLifecycleResultSchema,
|
|
4638
|
+
resourceArchiveInputSchema.parse(withActionId(input)),
|
|
4639
|
+
call
|
|
4640
|
+
),
|
|
4144
4641
|
pause: (offer, input, call) => post(
|
|
4145
4642
|
`/offers/${identifier.parse(offer)}/pause`,
|
|
4146
4643
|
offerSchema,
|
|
@@ -4182,7 +4679,7 @@ function managementClient(options) {
|
|
|
4182
4679
|
},
|
|
4183
4680
|
readiness: (call) => get("/readiness", readinessSchema, call),
|
|
4184
4681
|
access: (call) => get("/access", accessSchema, call),
|
|
4185
|
-
createProject: (input, call) => create("/projects", projectSchema,
|
|
4682
|
+
createProject: (input, call) => create("/projects", projectSchema, projectCreateInputSchema, input, call),
|
|
4186
4683
|
updateProject: (input, call) => request(
|
|
4187
4684
|
"/project",
|
|
4188
4685
|
projectSchema,
|
|
@@ -4272,6 +4769,47 @@ function managementClient(options) {
|
|
|
4272
4769
|
call
|
|
4273
4770
|
)
|
|
4274
4771
|
},
|
|
4772
|
+
/**
|
|
4773
|
+
* Organization automation keys (`dak_`): credentials for a headless agent or CI across the
|
|
4774
|
+
* organization's projects, owned by no person. They write in test only. Only an organization
|
|
4775
|
+
* administrator in Console manages them.
|
|
4776
|
+
*/
|
|
4777
|
+
automationKeys: {
|
|
4778
|
+
list: (call) => get("/automation-keys", z19.array(automationKeySchema), call),
|
|
4779
|
+
/** The secret `token` is in this response only. */
|
|
4780
|
+
create: (input, call) => post(
|
|
4781
|
+
"/automation-keys",
|
|
4782
|
+
issuedAutomationKeySchema,
|
|
4783
|
+
automationKeyInputSchema.parse(input),
|
|
4784
|
+
call
|
|
4785
|
+
),
|
|
4786
|
+
/**
|
|
4787
|
+
* Rotation: issues another secret. The key's other secrets keep working until you revoke
|
|
4788
|
+
* them with `revokeSecret`. The new `token` is in this response only.
|
|
4789
|
+
*/
|
|
4790
|
+
addSecret: (id, input = {}, call) => post(
|
|
4791
|
+
`/automation-keys/${z19.string().uuid().parse(id)}/secrets`,
|
|
4792
|
+
issuedAutomationKeySchema,
|
|
4793
|
+
credentialSecretInputSchema.parse(input),
|
|
4794
|
+
call
|
|
4795
|
+
),
|
|
4796
|
+
/** Stops one secret working. A key's last secret cannot be revoked; revoke the key instead. */
|
|
4797
|
+
revokeSecret: (id, secret, call) => request(
|
|
4798
|
+
`/automation-keys/${z19.string().uuid().parse(id)}/secrets/${z19.string().uuid().parse(secret)}`,
|
|
4799
|
+
automationKeySchema,
|
|
4800
|
+
void 0,
|
|
4801
|
+
"DELETE",
|
|
4802
|
+
call
|
|
4803
|
+
),
|
|
4804
|
+
/** Deletes the key; every secret stops working. */
|
|
4805
|
+
revoke: (id, call) => request(
|
|
4806
|
+
`/automation-keys/${z19.string().uuid().parse(id)}`,
|
|
4807
|
+
z19.null(),
|
|
4808
|
+
void 0,
|
|
4809
|
+
"DELETE",
|
|
4810
|
+
call
|
|
4811
|
+
)
|
|
4812
|
+
},
|
|
4275
4813
|
/** Who holds which roles on the client's project; organization administrators only. */
|
|
4276
4814
|
grants: {
|
|
4277
4815
|
list: (call) => get("/grants", z19.array(grantRecordSchema), call),
|
|
@@ -4473,11 +5011,7 @@ function managementClient(options) {
|
|
|
4473
5011
|
questTypes: resourceArchiveMethods("quest-type"),
|
|
4474
5012
|
images: resourceArchiveMethods("image"),
|
|
4475
5013
|
resources: {
|
|
4476
|
-
list: (call) => get(
|
|
4477
|
-
"/resources",
|
|
4478
|
-
z19.object({ resources: z19.array(managedResourceSchema) }),
|
|
4479
|
-
call
|
|
4480
|
-
),
|
|
5014
|
+
list: (call) => get("/resources", managedResourceListSchema, call),
|
|
4481
5015
|
/** @deprecated Use the resource archive/unarchive methods. Removed in 2.0.0. */
|
|
4482
5016
|
lifecycle: (input, call) => post(
|
|
4483
5017
|
"/resources/lifecycle",
|
|
@@ -4515,6 +5049,12 @@ function managementClient(options) {
|
|
|
4515
5049
|
),
|
|
4516
5050
|
/** Operations of the Discord role reward kind on assignments it delivered. */
|
|
4517
5051
|
discordRoles: {
|
|
5052
|
+
/**
|
|
5053
|
+
* Every Discord role the project's reward deliveries grant in this environment, with the
|
|
5054
|
+
* quests that requested it and its deliveries counted by status. Unlike `rewardDeliveries`,
|
|
5055
|
+
* it covers the whole history, so a role granted only long ago still appears.
|
|
5056
|
+
*/
|
|
5057
|
+
list: (call) => get("/reward-deliveries/roles", discordRoleRewardsSchema, call),
|
|
4518
5058
|
/**
|
|
4519
5059
|
* Hands the role assignment a delivery made to an external administrator or bot: Relay stops
|
|
4520
5060
|
* removing it automatically, in every project and environment that shares the assignment.
|
|
@@ -4581,11 +5121,15 @@ function managementClient(options) {
|
|
|
4581
5121
|
testMemberAcceptAnywaySchema.parse(withActionId(input)),
|
|
4582
5122
|
call
|
|
4583
5123
|
),
|
|
4584
|
-
/**
|
|
5124
|
+
/**
|
|
5125
|
+
* Move the member's clock forward by 1–30 project-calendar days, 1–720 hours, 1–43200
|
|
5126
|
+
* minutes, or `to` a later instant; at most 90 days ahead of real time. Reset deletes the
|
|
5127
|
+
* member.
|
|
5128
|
+
*/
|
|
4585
5129
|
advance: (member, input, call) => post(
|
|
4586
5130
|
`/test-members/${identifier.parse(member)}/clock`,
|
|
4587
5131
|
testMemberSchema,
|
|
4588
|
-
|
|
5132
|
+
testMemberClockAdvanceSchema.parse(withActionId(input)),
|
|
4589
5133
|
call
|
|
4590
5134
|
),
|
|
4591
5135
|
/**
|
|
@@ -4660,7 +5204,8 @@ function managementClient(options) {
|
|
|
4660
5204
|
* this project and environment. Add rows, `check` them (the dry run), read the summary and the
|
|
4661
5205
|
* refused rows, then `apply`. Checking and applying run in the background: read the import
|
|
4662
5206
|
* until its status is `checked` or `applied`. Needs `publish` permission. In live, only a
|
|
4663
|
-
* person signed in to Console applies an import; keys and CLI sessions prepare
|
|
5207
|
+
* person signed in to Console applies an import; keys and CLI sessions prepare, check, cancel,
|
|
5208
|
+
* stop and revert it.
|
|
4664
5209
|
*/
|
|
4665
5210
|
memberImports: {
|
|
4666
5211
|
create: (input, call) => post(
|
|
@@ -4692,7 +5237,7 @@ function managementClient(options) {
|
|
|
4692
5237
|
addRows: (id, rows, call) => post(
|
|
4693
5238
|
`/member-imports/${identifier.parse(id)}/rows`,
|
|
4694
5239
|
memberImportSchema,
|
|
4695
|
-
|
|
5240
|
+
memberImportFullRowsInputSchema.parse({ rows }),
|
|
4696
5241
|
call
|
|
4697
5242
|
),
|
|
4698
5243
|
/** Starts the dry run: every row is checked against the project, and nothing changes. */
|
|
@@ -4715,6 +5260,31 @@ function managementClient(options) {
|
|
|
4715
5260
|
memberImportSchema,
|
|
4716
5261
|
{},
|
|
4717
5262
|
call
|
|
5263
|
+
),
|
|
5264
|
+
/**
|
|
5265
|
+
* Stops an applying import: the row being applied finishes, no further row is applied, and
|
|
5266
|
+
* the import reads as `applied` with `appliedAt` null and `stoppedAt` set. Its remaining rows
|
|
5267
|
+
* stay `ready`; a stopped import can't be applied again, so import the rest in a new import. Stopping a stopped import changes nothing.
|
|
5268
|
+
*/
|
|
5269
|
+
stop: (id, call) => post(
|
|
5270
|
+
`/member-imports/${identifier.parse(id)}/stop`,
|
|
5271
|
+
memberImportSchema,
|
|
5272
|
+
{},
|
|
5273
|
+
call
|
|
5274
|
+
),
|
|
5275
|
+
/**
|
|
5276
|
+
* Starts reverting an applied or stopped import, in the background: each applied row's
|
|
5277
|
+
* opening balances are reversed as far as the member still has the points, its imported
|
|
5278
|
+
* completions revoked, and the links it created removed unless the member signed in with
|
|
5279
|
+
* one since. Members stay in the project. Read the import until `revert.revertedAt` is set;
|
|
5280
|
+
* `revert.outcome` then lists the points members had spent and the links kept. An import is
|
|
5281
|
+
* reverted once; the same `actionId` answers the import again.
|
|
5282
|
+
*/
|
|
5283
|
+
revert: (id, input, call) => post(
|
|
5284
|
+
`/member-imports/${identifier.parse(id)}/revert`,
|
|
5285
|
+
memberImportSchema,
|
|
5286
|
+
memberImportRevertInputSchema.parse(withActionId(input)),
|
|
5287
|
+
call
|
|
4718
5288
|
)
|
|
4719
5289
|
},
|
|
4720
5290
|
/** The project's members, as operators see them. */
|
|
@@ -5022,13 +5592,8 @@ function managementClient(options) {
|
|
|
5022
5592
|
{},
|
|
5023
5593
|
call
|
|
5024
5594
|
),
|
|
5025
|
-
|
|
5026
|
-
|
|
5027
|
-
appScheduleListSchema,
|
|
5028
|
-
{ state: appScheduleStateSchema.parse(state3) },
|
|
5029
|
-
"PUT",
|
|
5030
|
-
call
|
|
5031
|
-
),
|
|
5595
|
+
/** Activates, pauses or archives the project's schedules, with an optional audited reason. */
|
|
5596
|
+
setState: setAppScheduleState,
|
|
5032
5597
|
recover: (name, input, call) => post(
|
|
5033
5598
|
`/schedules/${appScheduleNameSchema.parse(name)}/recover`,
|
|
5034
5599
|
appScheduleListSchema,
|
|
@@ -5480,6 +6045,9 @@ var managementResponseSchemas = lazyResponseReaders({
|
|
|
5480
6045
|
get completionRevocationSchema() {
|
|
5481
6046
|
return knownResponse(completionRevocationSchema);
|
|
5482
6047
|
},
|
|
6048
|
+
get completionRestorationSchema() {
|
|
6049
|
+
return knownResponse(completionRestorationSchema);
|
|
6050
|
+
},
|
|
5483
6051
|
get contentPerformancePageSchema() {
|
|
5484
6052
|
return knownResponse(contentPerformancePageSchema);
|
|
5485
6053
|
},
|
|
@@ -5504,6 +6072,9 @@ var managementResponseSchemas = lazyResponseReaders({
|
|
|
5504
6072
|
get deploymentResultSchema() {
|
|
5505
6073
|
return knownResponse(deploymentResultSchema);
|
|
5506
6074
|
},
|
|
6075
|
+
get discordRoleRewardsSchema() {
|
|
6076
|
+
return knownResponse(discordRoleRewardsSchema);
|
|
6077
|
+
},
|
|
5507
6078
|
get engagementBoundaryPageSchema() {
|
|
5508
6079
|
return knownResponse(engagementBoundaryPageSchema);
|
|
5509
6080
|
},
|
|
@@ -5555,6 +6126,12 @@ var managementResponseSchemas = lazyResponseReaders({
|
|
|
5555
6126
|
get issuedServiceKeySchema() {
|
|
5556
6127
|
return knownResponse(issuedServiceKeySchema);
|
|
5557
6128
|
},
|
|
6129
|
+
get automationKeySchema() {
|
|
6130
|
+
return knownResponse(automationKeySchema);
|
|
6131
|
+
},
|
|
6132
|
+
get issuedAutomationKeySchema() {
|
|
6133
|
+
return knownResponse(issuedAutomationKeySchema);
|
|
6134
|
+
},
|
|
5558
6135
|
get leaderboardPageSchema() {
|
|
5559
6136
|
return knownResponse(leaderboardPageSchema);
|
|
5560
6137
|
},
|
|
@@ -5627,6 +6204,12 @@ var managementResponseSchemas = lazyResponseReaders({
|
|
|
5627
6204
|
get managedResourceSchema() {
|
|
5628
6205
|
return knownResponse(managedResourceSchema);
|
|
5629
6206
|
},
|
|
6207
|
+
get managedResourceListSchema() {
|
|
6208
|
+
return knownResponse(managedResourceListSchema);
|
|
6209
|
+
},
|
|
6210
|
+
get offerLifecycleResultSchema() {
|
|
6211
|
+
return knownResponse(offerLifecycleResultSchema);
|
|
6212
|
+
},
|
|
5630
6213
|
get managedStockItemSchema() {
|
|
5631
6214
|
return knownResponse(managedStockItemSchema);
|
|
5632
6215
|
},
|
|
@@ -5956,6 +6539,9 @@ var managementResponses = lazyResponseReaders({
|
|
|
5956
6539
|
get completionRevocationSchema() {
|
|
5957
6540
|
return responseSchema(completionRevocationSchema);
|
|
5958
6541
|
},
|
|
6542
|
+
get completionRestorationSchema() {
|
|
6543
|
+
return responseSchema(completionRestorationSchema);
|
|
6544
|
+
},
|
|
5959
6545
|
get contentPerformancePageSchema() {
|
|
5960
6546
|
return responseSchema(contentPerformancePageSchema);
|
|
5961
6547
|
},
|
|
@@ -5980,6 +6566,9 @@ var managementResponses = lazyResponseReaders({
|
|
|
5980
6566
|
get deploymentResultSchema() {
|
|
5981
6567
|
return responseSchema(deploymentResultSchema);
|
|
5982
6568
|
},
|
|
6569
|
+
get discordRoleRewardsSchema() {
|
|
6570
|
+
return responseSchema(discordRoleRewardsSchema);
|
|
6571
|
+
},
|
|
5983
6572
|
get engagementBoundaryPageSchema() {
|
|
5984
6573
|
return responseSchema(engagementBoundaryPageSchema);
|
|
5985
6574
|
},
|
|
@@ -6031,6 +6620,12 @@ var managementResponses = lazyResponseReaders({
|
|
|
6031
6620
|
get issuedServiceKeySchema() {
|
|
6032
6621
|
return responseSchema(issuedServiceKeySchema);
|
|
6033
6622
|
},
|
|
6623
|
+
get automationKeySchema() {
|
|
6624
|
+
return responseSchema(automationKeySchema);
|
|
6625
|
+
},
|
|
6626
|
+
get issuedAutomationKeySchema() {
|
|
6627
|
+
return responseSchema(issuedAutomationKeySchema);
|
|
6628
|
+
},
|
|
6034
6629
|
get leaderboardPageSchema() {
|
|
6035
6630
|
return responseSchema(leaderboardPageSchema);
|
|
6036
6631
|
},
|
|
@@ -6103,6 +6698,12 @@ var managementResponses = lazyResponseReaders({
|
|
|
6103
6698
|
get managedResourceSchema() {
|
|
6104
6699
|
return responseSchema(managedResourceSchema);
|
|
6105
6700
|
},
|
|
6701
|
+
get managedResourceListSchema() {
|
|
6702
|
+
return responseSchema(managedResourceListSchema);
|
|
6703
|
+
},
|
|
6704
|
+
get offerLifecycleResultSchema() {
|
|
6705
|
+
return responseSchema(offerLifecycleResultSchema);
|
|
6706
|
+
},
|
|
6106
6707
|
get managedStockItemSchema() {
|
|
6107
6708
|
return responseSchema(managedStockItemSchema);
|
|
6108
6709
|
},
|
|
@@ -6317,6 +6918,9 @@ export {
|
|
|
6317
6918
|
MemberImportRefusalCode,
|
|
6318
6919
|
PayoutSourceKind,
|
|
6319
6920
|
REFERRAL_INTEGRATION_REWARD_ERROR,
|
|
6921
|
+
RestoredDeliveryOutcome,
|
|
6922
|
+
RestoredEntitlementOutcome,
|
|
6923
|
+
RestoredReferralOutcome,
|
|
6320
6924
|
RevokedDeliveryOutcome,
|
|
6321
6925
|
RevokedEntitlementOutcome,
|
|
6322
6926
|
RevokedReferralOutcome,
|
|
@@ -6353,6 +6957,7 @@ export {
|
|
|
6353
6957
|
appScheduleRunSchema,
|
|
6354
6958
|
appScheduleRunsSchema,
|
|
6355
6959
|
appScheduleSchema,
|
|
6960
|
+
appScheduleStateInputSchema,
|
|
6356
6961
|
appScheduleStateSchema,
|
|
6357
6962
|
appSchedulesSchema,
|
|
6358
6963
|
appSecretDeclarationSchema,
|
|
@@ -6377,6 +6982,9 @@ export {
|
|
|
6377
6982
|
auditPageSchema,
|
|
6378
6983
|
auditQuerySchema,
|
|
6379
6984
|
auditRecordSchema,
|
|
6985
|
+
automationKeyInputSchema,
|
|
6986
|
+
automationKeyPermissionSchema,
|
|
6987
|
+
automationKeySchema,
|
|
6380
6988
|
balanceCheckSchema,
|
|
6381
6989
|
billingCheckoutInputSchema,
|
|
6382
6990
|
billingIntervals,
|
|
@@ -6395,6 +7003,8 @@ export {
|
|
|
6395
7003
|
capturedFactSchema,
|
|
6396
7004
|
commitSchema,
|
|
6397
7005
|
compareAppMigrations,
|
|
7006
|
+
completionRestorationSchema,
|
|
7007
|
+
completionRestoreSchema,
|
|
6398
7008
|
completionRevocationSchema,
|
|
6399
7009
|
completionRevocationShortfallSchema,
|
|
6400
7010
|
completionRevokeSchema,
|
|
@@ -6428,6 +7038,7 @@ export {
|
|
|
6428
7038
|
environmentSchema,
|
|
6429
7039
|
grantRecordSchema,
|
|
6430
7040
|
grantSchema,
|
|
7041
|
+
groupArchiveInputSchema,
|
|
6431
7042
|
groupMemberPageSchema,
|
|
6432
7043
|
groupMemberSchema,
|
|
6433
7044
|
groupPageQuerySchema,
|
|
@@ -6456,6 +7067,7 @@ export {
|
|
|
6456
7067
|
isIntegrationParticipantPath,
|
|
6457
7068
|
isManagementError,
|
|
6458
7069
|
isParticipantRoute,
|
|
7070
|
+
issuedAutomationKeySchema,
|
|
6459
7071
|
issuedServiceKeySchema,
|
|
6460
7072
|
issuedTokenSchema,
|
|
6461
7073
|
leaderboardSettlementExportSchema,
|
|
@@ -6480,11 +7092,13 @@ export {
|
|
|
6480
7092
|
managedMemberProgressSchema,
|
|
6481
7093
|
managedMemberQuerySchema,
|
|
6482
7094
|
managedOAuthAccountSchema,
|
|
7095
|
+
managedOfferSchema,
|
|
6483
7096
|
managedPointHistoryPageSchema,
|
|
6484
7097
|
managedQuestEnrollmentPageSchema,
|
|
6485
7098
|
managedQuestEnrollmentSchema,
|
|
6486
7099
|
managedReleasePageSchema,
|
|
6487
7100
|
managedReleaseQuerySchema,
|
|
7101
|
+
managedResourceListSchema,
|
|
6488
7102
|
managedResourceSchema,
|
|
6489
7103
|
managedStockItemSchema,
|
|
6490
7104
|
managedTelegramAccountSchema,
|
|
@@ -6508,10 +7122,16 @@ export {
|
|
|
6508
7122
|
memberImportAccountSchema,
|
|
6509
7123
|
memberImportActionSchema,
|
|
6510
7124
|
memberImportCreateSchema,
|
|
7125
|
+
memberImportFullRowSchema,
|
|
7126
|
+
memberImportFullRowsInputSchema,
|
|
6511
7127
|
memberImportIdentitySchema,
|
|
6512
7128
|
memberImportListQuerySchema,
|
|
6513
7129
|
memberImportPageSchema,
|
|
7130
|
+
memberImportReferralSchema,
|
|
6514
7131
|
memberImportRefusalSchema,
|
|
7132
|
+
memberImportRevertInputSchema,
|
|
7133
|
+
memberImportRevertOutcomeSchema,
|
|
7134
|
+
memberImportRevertSchema,
|
|
6515
7135
|
memberImportRowPageSchema,
|
|
6516
7136
|
memberImportRowQuerySchema,
|
|
6517
7137
|
memberImportRowResultSchema,
|
|
@@ -6519,6 +7139,7 @@ export {
|
|
|
6519
7139
|
memberImportRowsInputSchema,
|
|
6520
7140
|
memberImportSchema,
|
|
6521
7141
|
memberImportSummarySchema,
|
|
7142
|
+
memberImportVouchedAccountSchema,
|
|
6522
7143
|
memberLookupSchema,
|
|
6523
7144
|
memberOAuthUnlinkInputSchema,
|
|
6524
7145
|
memberSchema,
|
|
@@ -6528,6 +7149,9 @@ export {
|
|
|
6528
7149
|
metricsSchema,
|
|
6529
7150
|
nextScheduleRun,
|
|
6530
7151
|
oauthIdentitySelectorSchema,
|
|
7152
|
+
offerLifecycleInputSchema,
|
|
7153
|
+
offerLifecycleResultSchema,
|
|
7154
|
+
offeredStarterSchema,
|
|
6531
7155
|
operationInputSchema,
|
|
6532
7156
|
operationSchema,
|
|
6533
7157
|
operatorUserSchema,
|
|
@@ -6544,6 +7168,7 @@ export {
|
|
|
6544
7168
|
personSchema,
|
|
6545
7169
|
pointLedgerPropertiesSchema,
|
|
6546
7170
|
projectBillingSchema,
|
|
7171
|
+
projectCreateInputSchema,
|
|
6547
7172
|
projectDeletionInputSchema,
|
|
6548
7173
|
projectDeletionSchema,
|
|
6549
7174
|
projectInputSchema,
|
|
@@ -6577,12 +7202,14 @@ export {
|
|
|
6577
7202
|
referralRewardResolutionSchema,
|
|
6578
7203
|
referralSuspensionSchema,
|
|
6579
7204
|
removeGroupMemberSchema,
|
|
7205
|
+
repositoryCreateSchema,
|
|
6580
7206
|
repositorySchema,
|
|
6581
7207
|
resourceArchiveInputSchema,
|
|
6582
7208
|
resourceLifecycleInputSchema,
|
|
6583
7209
|
resourceLifecycleKindSchema,
|
|
6584
7210
|
resourceLifecyclePaths,
|
|
6585
7211
|
resourceLifecycleResultSchema,
|
|
7212
|
+
revokedCompletionSchema,
|
|
6586
7213
|
rolePermissions,
|
|
6587
7214
|
roleSchema,
|
|
6588
7215
|
scheduleResult,
|
|
@@ -6590,6 +7217,7 @@ export {
|
|
|
6590
7217
|
sequenceCursorSchema,
|
|
6591
7218
|
serviceKeyInputSchema,
|
|
6592
7219
|
serviceKeySchema,
|
|
7220
|
+
settlementPayoutCsv,
|
|
6593
7221
|
sourceDataSchema,
|
|
6594
7222
|
sourceRoles,
|
|
6595
7223
|
stageRequestSchema,
|
|
@@ -6604,6 +7232,7 @@ export {
|
|
|
6604
7232
|
stagingPathSchema,
|
|
6605
7233
|
starterIdSchema,
|
|
6606
7234
|
starterTemplates,
|
|
7235
|
+
starters,
|
|
6607
7236
|
stockAdditionSchema,
|
|
6608
7237
|
stockInputSchema,
|
|
6609
7238
|
teamSchema,
|
|
@@ -6615,6 +7244,7 @@ export {
|
|
|
6615
7244
|
testMemberAccountUnlinkSchema,
|
|
6616
7245
|
testMemberActionSchema,
|
|
6617
7246
|
testMemberAdvanceSchema,
|
|
7247
|
+
testMemberClockAdvanceSchema,
|
|
6618
7248
|
testMemberCreateSchema,
|
|
6619
7249
|
testMemberDiscordMessageSchema,
|
|
6620
7250
|
testMemberDiscordReactionSchema,
|