@domino-sdk/relay 1.70.0 → 1.72.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 +28 -0
- package/dist/{accounts-B49TGZLk.d.ts → accounts-COLmXRbW.d.ts} +144 -11
- package/dist/{attempt-captures-Dn-oGE1o.d.ts → attempt-captures-CVl161qB.d.ts} +3 -2
- package/dist/authoring.d.ts +68 -25
- package/dist/authoring.js +12 -8
- package/dist/{automatic-outcomes-DeRyox-X.d.ts → automatic-outcomes-5l68PGr1.d.ts} +2 -2
- package/dist/browser.d.ts +9 -9
- package/dist/browser.js +11 -9
- package/dist/{catalog-CR_2iacf.d.ts → catalog-BR3g-1H9.d.ts} +41 -2
- package/dist/{chunk-NOQSKRSS.js → chunk-2UELTHW6.js} +12 -4
- package/dist/{chunk-SELJYCYY.js → chunk-3KKRXN5E.js} +1 -1
- package/dist/{chunk-4VDRNYUG.js → chunk-74SMLZZ5.js} +710 -677
- package/dist/{chunk-4BBDHTBF.js → chunk-ASBDB436.js} +1 -1
- package/dist/{chunk-3DUNFRKJ.js → chunk-BXUF3CRL.js} +32 -6
- package/dist/{chunk-BJ2W5ZVQ.js → chunk-CVJTIVAP.js} +1 -1
- package/dist/{chunk-FHOKCBTJ.js → chunk-ETGKC2SB.js} +1 -1
- package/dist/{chunk-XD6EUA27.js → chunk-FGZGL5PG.js} +1 -1
- package/dist/{chunk-OKKZPDCQ.js → chunk-GHBYWDEZ.js} +8 -1
- package/dist/{chunk-SDWG7CWQ.js → chunk-HN7DE2UN.js} +2 -2
- package/dist/{chunk-25WA4XYZ.js → chunk-I7XIBXT2.js} +74 -5
- package/dist/{chunk-UKUIE2ND.js → chunk-KIRXE37T.js} +6 -6
- package/dist/{chunk-VAGGGB6B.js → chunk-MDSSIOBC.js} +58 -1
- package/dist/{chunk-LZXDYSUH.js → chunk-PYZSCFMJ.js} +4 -0
- package/dist/{chunk-XZCTCSDG.js → chunk-QG6XVOOO.js} +153 -4
- package/dist/{chunk-2GVGZ7AN.js → chunk-TW4RABVS.js} +1 -1
- package/dist/{chunk-RYUM6X2K.js → chunk-UEVZ3TST.js} +29 -2
- package/dist/{chunk-HICAGUT5.js → chunk-VFHLMNYV.js} +1 -1
- package/dist/{chunk-RSZAYW3T.js → chunk-W6DBNBMT.js} +2 -2
- package/dist/{client-gJEheT2C.d.ts → client-B__hMWtK.d.ts} +104 -7
- package/dist/{dashboards-DZaB94sz.d.ts → dashboards-DXpjHnq-.d.ts} +3 -3
- package/dist/{deployments-QVGxC-fT.d.ts → deployments-CT2kQloT.d.ts} +199 -3
- package/dist/{identity-integration-BAJdzbdl.d.ts → identity-integration-ClX4oUAu.d.ts} +4 -4
- package/dist/index.d.ts +10 -10
- package/dist/index.js +7 -7
- package/dist/internal.d.ts +44 -26
- package/dist/internal.js +26 -50
- package/dist/{limits-UawUbr0S.d.ts → limits-B7wbnWhd.d.ts} +1 -1
- package/dist/{offers-0hqbnogq.d.ts → offers-D4pyeY9b.d.ts} +2 -2
- package/dist/portal-proxy.d.ts +2 -2
- package/dist/portal-proxy.js +10 -10
- package/dist/react/index.d.ts +31 -12
- package/dist/react/index.js +115 -41
- package/dist/{reward-deliveries-ARvt1UXb.d.ts → reward-deliveries-HGpj1VFz.d.ts} +1 -1
- package/dist/runtime/authoring.js +1 -1
- package/dist/runtime/chunks/A7G5P76B.js +1 -0
- package/dist/runtime/manifest.json +3 -3
- package/dist/runtime/schema.js +1 -1
- package/dist/schema.d.ts +40 -16
- package/dist/schema.js +7 -7
- package/dist/server/index.d.ts +12 -12
- package/dist/server/index.js +956 -576
- package/dist/{sign-in-providers-DCiufSGG.d.ts → sign-in-providers-lbOXCF8N.d.ts} +2 -2
- package/dist/solana.d.ts +12 -12
- package/dist/solana.js +8 -8
- package/dist/{telegram-browser-yx9WuNLX.d.ts → station-check-in-qBiaftfE.d.ts} +89 -7
- package/dist/{submission-input-C0DLv5Dj.d.ts → submission-input-U4aIkJuT.d.ts} +2 -2
- package/dist/telegram.d.ts +7 -7
- package/dist/testing.d.ts +15 -11
- package/dist/testing.js +23 -12
- package/dist/{tracker-data-CUopgomU.d.ts → tracker-data-2BYXZjsN.d.ts} +3 -3
- package/dist/{transport-e0uY1R7z.d.ts → transport-DcRXDZ1j.d.ts} +1838 -19
- package/dist/{wallet-CJTULM0Q.d.ts → wallet-BqswMAqZ.d.ts} +2 -2
- package/dist/{wallet-browser-DScvrvIj.d.ts → wallet-browser-B5r7u3xB.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/runtime/chunks/447P2VLY.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @domino-sdk/relay
|
|
2
2
|
|
|
3
|
+
## 1.72.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9d100f1: **Staging server access (experimental).** A project can let its own servers call chosen staging paths without a staging session, for an app that is an API for another company's backend. `stagingAccessSchema` gains an optional `server: { paths }`, and the new `stagingAccessChangeSchema`, which `PUT /management/v1/staging/access` now parses, accepts `server` beside `mode` (a body of only `server` changes the paths and leaves the sign-in mode alone; leaving `server` out keeps them). Each path is a prefix (`stagingServerPathSchema`): at most 20 of up to 200 characters, starting with `/`, without a query; `/` and anything covering `/__domino`, `/relay` or `/.well-known` are refused. New schemas `stagingServerKeySchema`, `stagingServerKeyListSchema`, `stagingServerKeyInputSchema` and `stagingServerKeyCreatedSchema` describe staging server keys: `POST /management/v1/staging/access/server-keys` creates one (`dsg_…`, shown once, at most 5 per project), `GET` lists them as `{ items, nextCursor }` without the key, and `DELETE /management/v1/staging/access/server-keys/:id` revokes one. Servers send the key as `X-Domino-Staging-Key`; staging removes it and mints no member session for the request. Changing paths and keys needs `publish` in test (`422 test-environment-required` in live) and is audited. Off by default: a project with no paths behaves as before.
|
|
8
|
+
|
|
9
|
+
## 1.71.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 9f36a17: **Contest winners (experimental).** A reviewer marks any number of photos in a contest gallery as winners, and unmarks them: `management.galleries.markWinner({ attempt, reward? })` and `management.galleries.unmarkWinner({ attempt })`, also `markWinner(attempt, { reward })`, under `review` permission. Each answers `{ attempt, winner }`, where `winner` is `{ at, actor, reward }` or `null`. `reward: { quest }` names a staff-confirmed quest and also needs `confirm`: the mark confirms that quest for the photo's member as `attempts.confirm` does, so its rules, rewards, budgets and webhooks apply, and `winner.reward` is `{ quest, attempt }`. A photo's prize is confirmed once: marking it again, even after unmarking, pays nothing more. A refused confirmation, such as `member-banned` or `already-completed`, fails the mark and saves nothing. A wall's photo answers 409 `gallery-not-contest`, a hidden photo 409 `gallery-photo-hidden`, and hiding a winner now answers 409 `gallery-photo-winner`. Unmarking leaves the prize. Each change records a `gallery-winner-marked` or `gallery-winner-unmarked` event in the `reviews` audit category, and deleting the photo's evidence deletes its mark.
|
|
14
|
+
|
|
15
|
+
Gallery photos now carry `winner`, and `management.galleries.photos({ winners: true })` answers only winners. The CLI has `domino galleries winner ATTEMPT [--reward-quest QUEST]`, `domino galleries unwinner ATTEMPT` and `domino galleries photos --winners`. Console's **Photos** page marks contest photos as winners with an optional prize, shows a **Winner** badge, and filters to winners.
|
|
16
|
+
|
|
17
|
+
- 2560bcc: **Gallery export (experimental).** A reviewer downloads a gallery's photos as zips: `management.galleries.export({ quest?, day?, includeHidden?, cursor? })` (`GET /management/v1/galleries/export`), under `review` permission, answers one part as `{ body, photos, nextCursor }`, with `body` the zip as it streams and `nextCursor` the next part's cursor, `null` on the last. A part holds at most 1,000 photos and 2 GiB of stored photos, oldest first, so it stays a classic zip every unzip tool opens and a dropped connection restarts one part. Each photo is `<day>/<quest key>/<attempt>.jpg` or `.png`, a full-size copy without EXIF, GPS or other metadata, and `manifest.csv` lists `file, attempt, quest, quest_title, member, display_name, submitted_at, winner`, plus `hidden` with `includeHidden`; a photo that can't be re-encoded is listed in `skipped.csv` instead. Hidden photos are left out unless `includeHidden: true`. Each part records a `gallery-exported` event in the `reviews` audit category.
|
|
18
|
+
|
|
19
|
+
The CLI has `domino galleries export --out DIR [--quest QUEST] [--day YYYY-MM-DD] [--include-hidden] [--force]`, which writes `photos-1.zip`, `photos-2.zip`, … and prints the parts with their photos; a download that breaks off prints the `--cursor` and `--part` that continue from it. Console's **Photos** page has **Export**, which downloads the open gallery and day, with hidden photos when **Show** includes them.
|
|
20
|
+
|
|
21
|
+
- 1ff29d4: **Hide gallery photos (experimental).** A reviewer hides a gallery photo with a reason, and unhides it later: `management.galleries.hide({ attempt, reason })` and `management.galleries.unhide({ attempt, reason })`, also `hide(attempt, { reason })`, under `review` permission. Each answers `{ attempt, hidden }`, where `hidden` is `{ at, actor, reason }` or `null`. Hiding is presentation only: the attempt, its completion and rewards stay. Hiding a hidden photo records nothing, and the action ID replays the first answer. A photo that is not in a gallery, or whose evidence was deleted, answers 404 `not-found`. Each change records a `gallery-photo-hidden` or `gallery-photo-unhidden` event in the `reviews` audit category, and deleting the photo's evidence deletes its hiding; the events keep their reason until the member is erased.
|
|
22
|
+
|
|
23
|
+
Gallery photos now carry `hidden`, and `management.galleries.photos({ hidden })` takes `include` (the default), `exclude` or `only`. In `management.galleries.list()`, `photos` counts the visible photos and the new `hiddenPhotos` the hidden ones. The CLI has `domino galleries hide ATTEMPT --reason TEXT`, `domino galleries unhide ATTEMPT --reason TEXT` and `domino galleries photos --hidden`. Console's **Photos** page hides and unhides each photo with a reason and filters all, visible or hidden photos.
|
|
24
|
+
|
|
25
|
+
- f2ac4c3: **Photo galleries (experimental).** A quest whose input is a photo can declare `gallery: { kind: "wall" | "contest" }` in `defineQuest`, for a selfie wall or a photo contest. Publication refuses `gallery` on any other quest with 422 `gallery-requires-photo`, and on a reusable quest type. A gallery holds the quest's accepted photos whose evidence is kept, so evidence deleted by staff, by the retention period or by erasing the member leaves the gallery with it. `management.galleries.list()` answers each gallery with its photo count, and `management.galleries.photos({ quest?, day?, cursor?, limit? })` a page of photos, newest submission first, with the member's display name and the evidence to download; `day` is a project-calendar day of submission. Both need `review` permission. `GET /management/v1/evidence/:id?variant=preview` answers a copy at most 512 px on its longest edge, rotated and without EXIF, GPS or other metadata. The CLI has `domino galleries list` and `domino galleries photos [--quest QUEST] [--day YYYY-MM-DD] [--limit N] [--cursor CURSOR]`, and Console a **Photos** page that shows a gallery's photos as a grid filtered by day and quest.
|
|
26
|
+
- 8a1cadc: **Check in at a code station (experimental).** A member checks in at a station declared `proof: "code"` with its code and no wallet. From the browser, `relay.quests.checkIn(quest, station, { code })` checks in the signed-in member (`POST /v1/me/quests/<quest>/stations/<station>/check-in`). This is a new participant route: an app's portal proxy forwards it only from this SDK version on, so upgrade `@domino-sdk/relay` before calling it. From an app's server that checks codes itself, `management.attempts.submitStationCode({ quest, station, code, member })` (`POST /management/v1/attempts/station-code`, permission `ingest`) checks in the member it names. Domino refuses, in this order, 422 `station-unknown`, 422 `station-proof-mismatch`, 409 `station-code-not-set` (no code in this environment), 409 `station-revoked`, 409 `station-closed` (the window is judged at submission) and 422 `station-code-invalid`, and limits guessing: only wrong codes count, 10 per member and station an hour and 600 per station in 10 minutes, and while either is spent every check-in it covers answers 429 `rate-limited` with `Retry-After`, right codes included. The quest's evaluator and `perStation()` read `{ kind: "station-code", reference }` in `ctx.action`, whose type is now `QuestAction`, a union with `StationCodeAction`: check `ctx.action.kind` before reading a transaction's `signature` or `wallet`. Attempt reads carry a code check-in's station in a new `station` field and leave `action` out, so released clients keep parsing them; `management.quests.stations.list()` counts code check-ins in `completions`. `runQuest(quest, { action: { kind: "station-code", reference } })` simulates a code check-in. No answer, log line or stored record holds a submitted code.
|
|
27
|
+
- bed59d4: **Printable QR codes for code stations (experimental).** `management.quests.stations.codeQr(quest, station, { url })` (`GET /management/v1/quests/<quest>/stations/<station>/code/qr?url=<scan page>`, permission `publish`, test or live) answers a code station's QR code as SVG, drawn by Domino from the code it keeps sealed, so no read returns the code itself. The code links to your app's https scan page with `quest`, `station` and `code` query parameters added, keeping the page's own, and prints the station's label under it. A station without a code in that environment is refused with 409 `station-code-not-set`, a transaction station with 422 `station-proof-mismatch`, and a `url` that is not https with 422 `validation-failed`. In Console, a quest's **Check-in stations** section shows whether each code station has its code, and with `publish` generates (shown once), sets, rotates (after a confirmation) and clears it, and downloads its QR code as SVG or PNG for a **Scan page URL** Console remembers per quest and environment.
|
|
28
|
+
- 865ea20: **Check-in stations a secret code proves (experimental).** A station in `defineQuest({ stations })` can declare `proof: "code"`; left out, it stays `"transaction"`, and one quest can mix both. Domino refuses every Solana transaction that names a code station with 422 `station-proof-mismatch`, before it looks up the signers, and `defineStationAction` and `runQuest` refuse it the same way. Members check in there with the code (see the code check-ins entry). Each environment holds its own code for each code station, sealed, and a promotion never copies it: `management.quests.stations.setCode(quest, station, { code })` sets a chosen code (6 to 64 letters, digits, `-` or `_`), `generateCode(quest, station)` sets a 12-character code without look-alike characters and answers it this once, and `clearCode(quest, station)` removes it (`PUT`, `POST …/generate` and `DELETE /management/v1/quests/<quest>/stations/<station>/code`, permission `publish`; a CLI session may change live's). No read returns a code: `management.quests.stations.list()` adds each station's `proof` and `codeSet`, and the audit records `station-code-set` and `station-code-cleared` without the code. Preparing a promotion warns `binding-missing` with kind `station-code` and key `<quest key>/<station key>` for each code station live has no code for.
|
|
29
|
+
- 6d8e4e1: **A code station's scan page in a few lines (experimental).** `useStationCheckIn({ stations? })` from `@domino-sdk/relay/react` runs the page a station's printed QR code opens: it reads the quest, station and code from the link, takes the code out of the address bar with `history.replaceState` so a screenshot or a shared link doesn't show it, keeps the check-in in the tab's session storage through sign-in, even one that leaves the page, and checks the member in with `relay.quests.checkIn()` once someone is signed in. It reports `none`, `sign-in-required`, `checking`, `checked-in` (with the attempt and the station's label), `refused` (with the refusal code, such as `station-code-invalid`, `station-closed`, `station-revoked` or `rate-limited`, and `retryAfter`) or `failed`, and `retry()` sends a failed, rate-limited or pending check-in again with the same action ID. `checkInAtStation(relay, { stations? })` from `@domino-sdk/relay/browser` does the same without React. The new `station-codes` snippet installs a quest with code stations and its scan page, and the new guide "In-person check-ins with a code" walks through codes per environment, printing, the scan page and the event day.
|
|
30
|
+
|
|
3
31
|
## 1.70.0
|
|
4
32
|
|
|
5
33
|
### Minor Changes
|
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
import * as z from 'zod';
|
|
2
|
-
import { R as ResourceHandle, G as GroupHandle } from './tracker-data-
|
|
3
|
-
import { l as SolanaNetwork, S as SolanaIdlSource } from './wallet-
|
|
2
|
+
import { R as ResourceHandle, G as GroupHandle } from './tracker-data-2BYXZjsN.js';
|
|
3
|
+
import { l as SolanaNetwork, S as SolanaIdlSource } from './wallet-BqswMAqZ.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The gallery kinds this SDK knows: a `wall` shows every accepted photo, a `contest` collects
|
|
7
|
+
* entries to pick winners from. Type-only, to keep the browser entrypoints within their size
|
|
8
|
+
* budgets.
|
|
9
|
+
*
|
|
10
|
+
* @compat open
|
|
11
|
+
* @experimental A minor release can change photo galleries.
|
|
12
|
+
*/
|
|
13
|
+
type KnownGalleryKind = "wall" | "contest";
|
|
14
|
+
/**
|
|
15
|
+
* A photo gallery's kind. A newer Relay may name kinds this SDK does not know.
|
|
16
|
+
*
|
|
17
|
+
* @experimental A minor release can change photo galleries.
|
|
18
|
+
*/
|
|
19
|
+
type GalleryKind = KnownGalleryKind | (string & {});
|
|
20
|
+
/**
|
|
21
|
+
* A photo quest's gallery, `{ kind }`. The kind parses as an open string, so a release read keeps a
|
|
22
|
+
* kind this SDK does not know; publication checks it against `galleryKinds`.
|
|
23
|
+
*
|
|
24
|
+
* @experimental A minor release can change photo galleries.
|
|
25
|
+
*/
|
|
26
|
+
declare const questGallerySchema: z.ZodObject<{
|
|
27
|
+
kind: z.ZodType<GalleryKind>;
|
|
28
|
+
}, z.core.$strict>;
|
|
29
|
+
/** @experimental A minor release can change photo galleries. */
|
|
30
|
+
type QuestGallery = z.infer<typeof questGallerySchema>;
|
|
4
31
|
|
|
5
32
|
/**
|
|
6
33
|
* The modules this SDK knows a quest can declare to enable provider readers. Project connections
|
|
@@ -3213,29 +3240,74 @@ declare function takesSolanaTransaction(trigger: {
|
|
|
3213
3240
|
/**
|
|
3214
3241
|
* A check-in station of a quest: a place members complete it from, named by the `reference` of
|
|
3215
3242
|
* the memo they sign. Its key is the reference, so it stays fixed once codes for it are printed.
|
|
3216
|
-
* The station takes
|
|
3217
|
-
* milliseconds; a bound left out leaves that side open.
|
|
3243
|
+
* The station takes check-ins whose time falls in `opensAt <= time < closesAt`, epoch
|
|
3244
|
+
* milliseconds; a bound left out leaves that side open. `proof` says what proves a check-in:
|
|
3245
|
+
* `"transaction"` (the default), a member-signed Solana transaction whose memo names the station,
|
|
3246
|
+
* or `"code"`, the secret code an operator sets for the station in each environment. A code
|
|
3247
|
+
* station refuses every transaction, since a transaction station's Solana Pay URL is public.
|
|
3218
3248
|
*/
|
|
3219
3249
|
declare const questStationSchema: z.ZodObject<{
|
|
3220
3250
|
key: z.ZodString;
|
|
3221
3251
|
label: z.ZodString;
|
|
3222
3252
|
opensAt: z.ZodOptional<z.ZodNumber>;
|
|
3223
3253
|
closesAt: z.ZodOptional<z.ZodNumber>;
|
|
3254
|
+
proof: z.ZodOptional<z.ZodEnum<{
|
|
3255
|
+
code: "code";
|
|
3256
|
+
transaction: "transaction";
|
|
3257
|
+
}>>;
|
|
3224
3258
|
}, z.core.$strict>;
|
|
3225
3259
|
/**
|
|
3226
|
-
* A check-in station of a quest: `{ key, label, opensAt?, closesAt? }`.
|
|
3260
|
+
* A check-in station of a quest: `{ key, label, opensAt?, closesAt?, proof? }`.
|
|
3227
3261
|
*
|
|
3228
3262
|
* @experimental A minor release can change check-in stations.
|
|
3229
3263
|
*/
|
|
3230
3264
|
type QuestStation = z.infer<typeof questStationSchema>;
|
|
3231
3265
|
/**
|
|
3232
|
-
* Why `station` does not take a
|
|
3233
|
-
* of the quest's stations,
|
|
3266
|
+
* Why `station` does not take a check-in at `time` (epoch milliseconds) proved by `proof`: it is
|
|
3267
|
+
* not one of the quest's stations, the other proof proves it, or it was closed then. A
|
|
3268
|
+
* transaction's time is its block time; a code's is when it is submitted, since a code carries no
|
|
3269
|
+
* time of its own. Null when it takes it.
|
|
3234
3270
|
*/
|
|
3235
|
-
declare function stationRefusal(stations: readonly QuestStation[], reference: string | null,
|
|
3236
|
-
code: "station-unknown" | "station-closed";
|
|
3271
|
+
declare function stationRefusal(stations: readonly QuestStation[], reference: string | null, time: number, proof?: "transaction" | "code"): {
|
|
3272
|
+
code: "station-unknown" | "station-proof-mismatch" | "station-closed";
|
|
3237
3273
|
message: string;
|
|
3238
3274
|
} | null;
|
|
3275
|
+
/**
|
|
3276
|
+
* A member's check-in at a code station, as the participant route takes it: the code they were
|
|
3277
|
+
* given, and the action ID a retry repeats.
|
|
3278
|
+
*
|
|
3279
|
+
* @experimental A minor release can change check-in stations.
|
|
3280
|
+
*/
|
|
3281
|
+
declare const stationCheckInSchema: z.ZodObject<{
|
|
3282
|
+
code: z.ZodString;
|
|
3283
|
+
actionId: z.ZodString;
|
|
3284
|
+
}, z.core.$strict>;
|
|
3285
|
+
/**
|
|
3286
|
+
* What `quests.checkIn` sends for the signed-in member.
|
|
3287
|
+
*
|
|
3288
|
+
* @experimental A minor release can change check-in stations.
|
|
3289
|
+
*/
|
|
3290
|
+
type StationCheckIn = z.input<typeof stationCheckInSchema>;
|
|
3291
|
+
/**
|
|
3292
|
+
* A check-in at a code station that an app's server sends for a member: the quest by key or ID,
|
|
3293
|
+
* the station's key, the code the member entered, and the member, such as `signedInMember`'s.
|
|
3294
|
+
*
|
|
3295
|
+
* @experimental A minor release can change check-in stations.
|
|
3296
|
+
*/
|
|
3297
|
+
declare const stationCodeSubmissionSchema: z.ZodObject<{
|
|
3298
|
+
code: z.ZodString;
|
|
3299
|
+
actionId: z.ZodString;
|
|
3300
|
+
quest: z.ZodString;
|
|
3301
|
+
station: z.ZodString;
|
|
3302
|
+
member: z.ZodString;
|
|
3303
|
+
}, z.core.$strict>;
|
|
3304
|
+
/**
|
|
3305
|
+
* What `management.attempts.submitStationCode()` takes: `{ quest, station, code, member,
|
|
3306
|
+
* actionId? }`.
|
|
3307
|
+
*
|
|
3308
|
+
* @experimental A minor release can change check-in stations.
|
|
3309
|
+
*/
|
|
3310
|
+
type StationCodeSubmission = z.input<typeof stationCodeSubmissionSchema>;
|
|
3239
3311
|
/**
|
|
3240
3312
|
* What `management.attempts.submitSolanaTransaction()` sends: the quest, the signature of the
|
|
3241
3313
|
* transaction a member signed with the quest's memo, and its cluster, `"solana"` or the mainnet
|
|
@@ -3269,6 +3341,26 @@ type SolanaTransactionAction = {
|
|
|
3269
3341
|
/** The memo's reference, or null when it has none. */
|
|
3270
3342
|
reference: string | null;
|
|
3271
3343
|
};
|
|
3344
|
+
/**
|
|
3345
|
+
* The action that started an attempt at a code station, as the evaluator and a `keyed()`
|
|
3346
|
+
* completion read it in `ctx.action`: a check-in with the station's code, which an app's server
|
|
3347
|
+
* sent with `management.attempts.submitStationCode()` or the member's browser with
|
|
3348
|
+
* `quests.checkIn()`. `reference` is the station's key. Attempt reads carry it as the attempt's
|
|
3349
|
+
* `station` instead of its `action`.
|
|
3350
|
+
*
|
|
3351
|
+
* @experimental A minor release can change quest actions.
|
|
3352
|
+
*/
|
|
3353
|
+
type StationCodeAction = {
|
|
3354
|
+
kind: "station-code";
|
|
3355
|
+
/** The key of the station the member checked in at. */
|
|
3356
|
+
reference: string;
|
|
3357
|
+
};
|
|
3358
|
+
/**
|
|
3359
|
+
* What started an attempt, as the evaluator reads it in `ctx.action`.
|
|
3360
|
+
*
|
|
3361
|
+
* @experimental A minor release can change quest actions.
|
|
3362
|
+
*/
|
|
3363
|
+
type QuestAction = SolanaTransactionAction | StationCodeAction;
|
|
3272
3364
|
/** @compat open */
|
|
3273
3365
|
type KnownAttemptActionKind = SolanaTransactionAction["kind"];
|
|
3274
3366
|
/**
|
|
@@ -4398,7 +4490,14 @@ declare const questDescriptionSchema: z.ZodObject<{
|
|
|
4398
4490
|
label: z.ZodString;
|
|
4399
4491
|
opensAt: z.ZodOptional<z.ZodNumber>;
|
|
4400
4492
|
closesAt: z.ZodOptional<z.ZodNumber>;
|
|
4493
|
+
proof: z.ZodOptional<z.ZodEnum<{
|
|
4494
|
+
code: "code";
|
|
4495
|
+
transaction: "transaction";
|
|
4496
|
+
}>>;
|
|
4401
4497
|
}, z.core.$strict>>>;
|
|
4498
|
+
gallery: z.ZodOptional<z.ZodObject<{
|
|
4499
|
+
kind: z.ZodType<GalleryKind>;
|
|
4500
|
+
}, z.core.$strict>>;
|
|
4402
4501
|
}, z.core.$strict>;
|
|
4403
4502
|
type QuestDescription = z.infer<typeof questDescriptionSchema>;
|
|
4404
4503
|
declare const artifactSchema: z.ZodObject<{
|
|
@@ -4866,7 +4965,14 @@ declare const storedQuestDescriptionSchema: z.ZodObject<{
|
|
|
4866
4965
|
label: z.ZodString;
|
|
4867
4966
|
opensAt: z.ZodOptional<z.ZodNumber>;
|
|
4868
4967
|
closesAt: z.ZodOptional<z.ZodNumber>;
|
|
4968
|
+
proof: z.ZodOptional<z.ZodEnum<{
|
|
4969
|
+
code: "code";
|
|
4970
|
+
transaction: "transaction";
|
|
4971
|
+
}>>;
|
|
4869
4972
|
}, z.core.$strict>>>;
|
|
4973
|
+
gallery: z.ZodOptional<z.ZodObject<{
|
|
4974
|
+
kind: z.ZodType<GalleryKind>;
|
|
4975
|
+
}, z.core.$strict>>;
|
|
4870
4976
|
completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
4871
4977
|
kind: z.ZodLiteral<"streak">;
|
|
4872
4978
|
days: z.ZodNumber;
|
|
@@ -5269,7 +5375,14 @@ declare const publishedReleaseSchema: z.ZodObject<{
|
|
|
5269
5375
|
label: z.ZodString;
|
|
5270
5376
|
opensAt: z.ZodOptional<z.ZodNumber>;
|
|
5271
5377
|
closesAt: z.ZodOptional<z.ZodNumber>;
|
|
5378
|
+
proof: z.ZodOptional<z.ZodEnum<{
|
|
5379
|
+
code: "code";
|
|
5380
|
+
transaction: "transaction";
|
|
5381
|
+
}>>;
|
|
5272
5382
|
}, z.core.$strict>>>;
|
|
5383
|
+
gallery: z.ZodOptional<z.ZodObject<{
|
|
5384
|
+
kind: z.ZodType<GalleryKind>;
|
|
5385
|
+
}, z.core.$strict>>;
|
|
5273
5386
|
completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
5274
5387
|
kind: z.ZodLiteral<"streak">;
|
|
5275
5388
|
days: z.ZodNumber;
|
|
@@ -5820,7 +5933,14 @@ declare const templateSchema: z.ZodObject<{
|
|
|
5820
5933
|
label: z.ZodString;
|
|
5821
5934
|
opensAt: z.ZodOptional<z.ZodNumber>;
|
|
5822
5935
|
closesAt: z.ZodOptional<z.ZodNumber>;
|
|
5936
|
+
proof: z.ZodOptional<z.ZodEnum<{
|
|
5937
|
+
code: "code";
|
|
5938
|
+
transaction: "transaction";
|
|
5939
|
+
}>>;
|
|
5823
5940
|
}, z.core.$strict>>>;
|
|
5941
|
+
gallery: z.ZodOptional<z.ZodObject<{
|
|
5942
|
+
kind: z.ZodType<GalleryKind>;
|
|
5943
|
+
}, z.core.$strict>>;
|
|
5824
5944
|
}, z.core.$strict>;
|
|
5825
5945
|
}, z.core.$strip>;
|
|
5826
5946
|
declare const quizAnswersSchema: z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodString>, z.ZodTransform<{
|
|
@@ -5966,6 +6086,7 @@ declare const attemptSchema: z.ZodObject<{
|
|
|
5966
6086
|
wallet: z.ZodString;
|
|
5967
6087
|
reference: z.ZodNullable<z.ZodString>;
|
|
5968
6088
|
}, z.core.$strip>>>;
|
|
6089
|
+
station: z.ZodOptional<z.ZodString>;
|
|
5969
6090
|
}, z.core.$strip>;
|
|
5970
6091
|
type Attempt = z.infer<typeof attemptSchema>;
|
|
5971
6092
|
/** @compat open */
|
|
@@ -6135,6 +6256,7 @@ declare const questSubmissionResultSchema: z.ZodObject<{
|
|
|
6135
6256
|
wallet: z.ZodString;
|
|
6136
6257
|
reference: z.ZodNullable<z.ZodString>;
|
|
6137
6258
|
}, z.core.$strip>>>;
|
|
6259
|
+
station: z.ZodOptional<z.ZodString>;
|
|
6138
6260
|
}, z.core.$strip>;
|
|
6139
6261
|
replayed: z.ZodBoolean;
|
|
6140
6262
|
}, z.core.$strip>;
|
|
@@ -7161,6 +7283,7 @@ declare const memberProgressSchema: z.ZodObject<{
|
|
|
7161
7283
|
wallet: z.ZodString;
|
|
7162
7284
|
reference: z.ZodNullable<z.ZodString>;
|
|
7163
7285
|
}, z.core.$strip>>>;
|
|
7286
|
+
station: z.ZodOptional<z.ZodString>;
|
|
7164
7287
|
}, z.core.$strip>>;
|
|
7165
7288
|
}, z.core.$strip>>;
|
|
7166
7289
|
entitlements: z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -7718,7 +7841,14 @@ declare const snapshotSchema: z.ZodObject<{
|
|
|
7718
7841
|
label: z.ZodString;
|
|
7719
7842
|
opensAt: z.ZodOptional<z.ZodNumber>;
|
|
7720
7843
|
closesAt: z.ZodOptional<z.ZodNumber>;
|
|
7844
|
+
proof: z.ZodOptional<z.ZodEnum<{
|
|
7845
|
+
code: "code";
|
|
7846
|
+
transaction: "transaction";
|
|
7847
|
+
}>>;
|
|
7721
7848
|
}, z.core.$strict>>>;
|
|
7849
|
+
gallery: z.ZodOptional<z.ZodObject<{
|
|
7850
|
+
kind: z.ZodType<GalleryKind>;
|
|
7851
|
+
}, z.core.$strict>>;
|
|
7722
7852
|
completion: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
7723
7853
|
kind: z.ZodLiteral<"streak">;
|
|
7724
7854
|
days: z.ZodNumber;
|
|
@@ -8135,6 +8265,7 @@ declare const snapshotSchema: z.ZodObject<{
|
|
|
8135
8265
|
wallet: z.ZodString;
|
|
8136
8266
|
reference: z.ZodNullable<z.ZodString>;
|
|
8137
8267
|
}, z.core.$strip>>>;
|
|
8268
|
+
station: z.ZodOptional<z.ZodString>;
|
|
8138
8269
|
}, z.core.$strip>>;
|
|
8139
8270
|
balances: z.ZodArray<z.ZodObject<{
|
|
8140
8271
|
member: z.ZodString;
|
|
@@ -8352,6 +8483,7 @@ declare const reviewItemSchema: z.ZodObject<{
|
|
|
8352
8483
|
wallet: z.ZodString;
|
|
8353
8484
|
reference: z.ZodNullable<z.ZodString>;
|
|
8354
8485
|
}, z.core.$strip>>>;
|
|
8486
|
+
station: z.ZodOptional<z.ZodString>;
|
|
8355
8487
|
}, z.core.$strip>;
|
|
8356
8488
|
title: z.ZodString;
|
|
8357
8489
|
checks: z.ZodArray<z.ZodObject<{
|
|
@@ -8443,6 +8575,7 @@ declare const reviewPageSchema: z.ZodObject<{
|
|
|
8443
8575
|
wallet: z.ZodString;
|
|
8444
8576
|
reference: z.ZodNullable<z.ZodString>;
|
|
8445
8577
|
}, z.core.$strip>>>;
|
|
8578
|
+
station: z.ZodOptional<z.ZodString>;
|
|
8446
8579
|
}, z.core.$strip>;
|
|
8447
8580
|
title: z.ZodString;
|
|
8448
8581
|
checks: z.ZodArray<z.ZodObject<{
|
|
@@ -8679,5 +8812,5 @@ interface DiscordReader {
|
|
|
8679
8812
|
}): Promise<DiscordMessage | null>;
|
|
8680
8813
|
}
|
|
8681
8814
|
|
|
8682
|
-
export { SignInAccountStatus as I, SignInProvider as J, AttemptCodeSource as
|
|
8683
|
-
export type {
|
|
8815
|
+
export { questDescriptionSchema as $, SignInAccountStatus as I, SignInProvider as J, AttemptCodeSource as X, leaderboardDefinitionSchema as a2, pointLedgerDeclarationSchema as a3, referralAuthoringSchema as a4, discordMessagesSourceSchema as a5, discordReactionsSourceSchema as a8, rewardSchema as ah, triggerSchema as ai, defineCampaign as ar, defineGroup as as, referralAcceptSchema as at, submitSchema as au, engagementPageQuerySchema as av, contentPerformanceQuerySchema as aw, CompletionSourceKind as az, AttemptStatus as b, engagementBoundaryPageSchema as b$, campaignDefinitionSchema as bA, campaignEnrollmentInputSchema as bB, campaignEnrollmentSchema as bC, campaignViewSchema as bD, campaignWithdrawalInputSchema as bE, completionRecordSchema as bF, completionSourceSchema as bG, configurePickupSchema as bH, confirmHandoverSchema as bI, contentPerformancePageSchema as bJ, contentPerformanceSnapshotSchema as bK, createGroupSchema as bL, createPointLedgerSchema as bM, createStockItemSchema as bN, decisionSchema as bO, deferPolicy as bP, discordMemberInputSchema as bQ, discordMemberSchema as bR, discordMessageDataSchema as bS, discordMessageInputSchema as bT, discordMessageSchema as bU, discordMessageTextDataSchema as bV, discordReactionDataSchema as bW, discordResourceSourceSchema as bX, discordRewardSchema as bY, discordServerSchema as bZ, engagementArtifactSchema as b_, QuestSubmissionStatus as bf, acceptAnywaySchema as bn, accountConnectionSchema as bo, addGroupMemberSchema as bp, artifactSchema as bq, attemptActionSchema as br, attemptSchema as bs, authProviderSchema as bt, availabilityWindowSchema as bu, badgeReward as bv, badgeRewardSchema as bw, baseUnitsSchema as bx, batchReleaseSchema as by, beginHandoverSchema as bz, leaderboardSettlementStatusSchema as c$, engagementBudgetSchema as c0, engagementChangePreviewInputSchema as c1, engagementChangePreviewSchema as c2, engagementChangeSchema as c3, engagementDefinitionSchema as c4, engagementDeploymentEntrySchema as c5, engagementPageSchema as c6, engagementPublishSchema as c7, engagementRuleSchema as c8, engagementRuleVersionPageSchema as c9, groupRewardSchema as cA, integrationModuleProviderSchema as cB, integrationProviderSchema as cC, integrationRewardSchema as cD, leaderboardArtifactSchema as cE, leaderboardAuthoringSchema as cF, leaderboardDefinitionResponseSchema as cG, leaderboardExclusionGroupBindingSchema as cH, leaderboardExclusionGroupSchema as cI, leaderboardExclusionSchema as cJ, leaderboardGroupSchema as cK, leaderboardHistoryPageSchema as cL, leaderboardHistoryQuerySchema as cM, leaderboardPageSchema as cN, leaderboardPlacementSchema as cO, leaderboardPoolSchema as cP, leaderboardPoolUnitSchema as cQ, leaderboardPreviewSchema as cR, leaderboardPrizeRewardSchema as cS, leaderboardPrizeSchema as cT, leaderboardQuerySchema as cU, leaderboardRowSchema as cV, leaderboardSettlementApprovalSchema as cW, leaderboardSettlementPolicySchema as cX, leaderboardSettlementPoolSchema as cY, leaderboardSettlementRowSchema as cZ, leaderboardSettlementSchema as c_, engagementScoreInputSchema as ca, engagementScoreSchema as cb, engagementSettlementSchema as cc, engagementVersionPageSchema as cd, engagementVersionQuerySchema as ce, entitlementCorrectionSchema as cf, entitlementRecoverySchema as cg, entitlementSchema as ch, entitlementStateSchema as ci, errorSchema as cj, evaluatorIntegrationProviderSchema as ck, evaluatorProgressSchema as cl, evaluatorProtocol as cm, evaluatorProtocolSchema as cn, eventSchema as co, evidenceRedactionInputSchema as cp, evidenceRetentionInputSchema as cq, evidenceRetentionPeriodSchema as cr, evidenceRetentionSettingInputSchema as cs, evidenceSchema as ct, groupArchiveInputSchema as cu, groupMemberPageSchema as cv, groupMemberSchema as cw, groupPageQuerySchema as cx, groupPageSchema as cy, groupReward as cz, referralSummarySchema as d$, leaderboardSettlementSummarySchema as d0, leaderboardSettlementUnmeasuredSchema as d1, leaderboardWindowSchema as d2, managedGroupSchema as d3, managedPointHistoryPageSchema as d4, managedPointLedgerSchema as d5, mediaUrlSchema as d6, memberCampaignEnrollmentInputSchema as d7, memberCampaignWithdrawalInputSchema as d8, memberListSchema as d9, projectIntegrationSchema as dA, publishedLeaderboardSchema as dB, publishedReferralSchema as dC, publishedReleaseSchema as dD, questAvailabilitySchema as dE, questBudgetViewSchema as dF, questPresentationContentSchema as dG, questPresentationRequirementSchema as dH, questPresentationSchema as dI, questProfileSchema as dJ, questSettingsInputSchema as dK, questStepActionSchema as dL, questStepSchema as dM, questSubmissionResultSchema as dN, questSubmissionSchema as dO, questSubmissionUpdateSchema as dP, quizAnswersSchema as dQ, quizEvidenceSchema as dR, referralAccountSchema as dS, referralArtifactSchema as dT, referralControlSchema as dU, referralDefinitionSchema as dV, referralHistorySchema as dW, referralManagementSchema as dX, referralQualificationSchema as dY, referralRelationshipSchema as dZ, referralRewardResolutionSchema as d_, memberPageSchema as da, memberProgressSchema as db, organizationDiscordServersSchema as dc, photoResultSchema as dd, pickupAllocationSchema as de, pickupAvailabilitySchema as df, pickupCatalogSchema as dg, pickupPolicySchema as dh, pickupSelectionSchema as di, pointBalanceSchema as dj, pointBalancesSchema as dk, pointEntrySchema as dl, pointHistoryPageSchema as dm, pointHistoryQuerySchema as dn, pointLedgerArtifactSchema as dp, pointLedgerPropertiesSchema as dq, pointLedgerReferenceSchema as dr, pointLedgerSchema as ds, pointsAccountSchema as dt, pointsEntrySchema as du, pointsMutationSchema as dv, pointsResultSchema as dw, pointsRewardSchema as dx, projectGroupKey as dy, projectGroupSchema as dz, referralSuspensionSchema as e0, releaseSchema as e1, removeGroupMemberSchema as e2, reservationSchema as e3, retryCooldownMsSchema as e4, retryCooldownPolicy as e5, reviewItemSchema as e6, reviewListSchema as e7, reviewModeSchema as e8, reviewPageSchema as e9, parseSolanaActionMemo as eA, solanaActionMemo as eB, solanaTransactionSubmissionSchema as eC, stationCheckInSchema as eD, stationCodeSubmissionSchema as eE, takesSolanaTransaction as eF, rewardBundleSchema as ea, rewardEntrySchema as eb, rewardKey as ec, settlementPaymentSchema as ed, signInAccountSchema as ee, signInProviderInputSchema as ef, signInProviderOptionSchema as eg, signInProviderSchema as eh, snapshotSchema as ei, staffDecisionSchema as ej, stockItemSchema as ek, stockSchema as el, storedQuestDescriptionSchema as em, storedReviewModeSchema as en, submissionEvidenceSchema as eo, templateSchema as ep, textResultSchema as eq, textReviewInputSchema as er, tierRewardSchema as es, tieredRewardDefinitionSchema as et, tieredRewardReferenceSchema as eu, updateGroupSchema as ev, stationRefusal as ew, maxSolanaActionReference as ez, PointEntryKind as v };
|
|
8816
|
+
export type { AccountConnection as A, ProjectGroupReference as B, CampaignDefinition as C, QuestPresentation as D, Entitlement as E, QuestProfile as F, QuizEvidence as G, Reward as H, KnownAttemptStatus as K, LeaderboardDefinition as L, MemberCampaignEnrollmentInput as M, SignInProviderOption as N, StationCheckIn as O, PointBalance as P, QuestBudgetView as Q, ReferralDefinition as R, SignInAccount as S, SubmissionEvidence as T, SubmitInput as U, TieredRewardReference as V, KnownAttemptActionKind as W, IntegrationModuleProvider as Y, GalleryKind as Z, RewardType as _, Attempt as a, ManagedPointHistoryPage as a$, AuthoringIdentity as a0, EngagementBudget as a1, DiscordMessageData as a6, DiscordMessageTextData as a7, DiscordReactionData as a9, ContentPerformanceSnapshot as aA, DiscordMember as aB, DiscordMessage as aC, EngagementDefinition as aD, EngagementRuleVersionPage as aE, EntitlementCorrection as aF, EntitlementState as aG, EvaluatorIntegrationProvider as aH, GroupArchiveInput as aI, GroupMember as aJ, GroupMemberPage as aK, GroupPage as aL, GroupPageQuery as aM, IntegrationProvider as aN, KnownAttemptCodeSource as aO, KnownCompletionSourceKind as aP, KnownQuestSubmissionStatus as aQ, KnownRewardType as aR, KnownSettlementPaymentStatus as aS, LeaderboardExclusionGroup as aT, LeaderboardPool as aU, LeaderboardPoolUnit as aV, LeaderboardSettlement as aW, LeaderboardSettlementPolicy as aX, LeaderboardSettlementPool as aY, LeaderboardSettlementSummary as aZ, ManagedGroup as a_, KnownIntegrationModule as aa, QuestAction as ab, TextReviewInput as ac, TextResult as ad, PhotoResult as ae, DiscordReader as af, Decision as ag, IntegrationModule as aj, QuestStation as ak, KnownGalleryKind as al, TieredRewardDefinition as am, KnownIntegrationModuleProvider as an, QuestGallery as ao, SolanaTransactionAction as ap, StationCodeAction as aq, AttemptAction as ax, CompletionSource as ay, ManagedPointLedger as b0, MemberPage as b1, OrganizationDiscordServers as b2, PickupAvailability as b3, PointLedger as b4, ProjectIntegration as b5, PublishedRelease as b6, QuestAvailability as b7, QuestDescription as b8, QuestPresentationContent as b9, QuestSettingsInput as ba, QuestStep as bb, QuestStepAction as bc, QuestSubmission as bd, QuestSubmissionResult as be, QuestSubmissionUpdate as bg, ReleaseInput as bh, ReviewPage as bi, RewardEntry as bj, SettlementPayment as bk, SettlementPaymentStatus as bl, Snapshot as bm, AuthProvider as c, AvailabilityWindow as d, CampaignEnrollment as e, SolanaTransactionSubmission as ex, StationCodeSubmission as ey, CampaignEnrollmentInput as f, CampaignView as g, CampaignWithdrawalInput as h, EvaluatorProgress as i, KnownPointEntryKind as j, KnownSignInAccountStatus as k, KnownSignInProvider as l, LeaderboardHistoryPage as m, LeaderboardHistoryQuery as n, LeaderboardPage as o, LeaderboardPlacement as p, LeaderboardQuery as q, MemberCampaignWithdrawalInput as r, MemberProgress as s, PointBalances as t, PointEntry as u, PointHistoryPage as w, PointHistoryQuery as x, PointLedgerReference as y, ProjectGroup as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { O as OpenIdentityKind } from './tracker-data-
|
|
1
|
+
import { W as KnownAttemptActionKind } from './accounts-COLmXRbW.js';
|
|
2
|
+
import { O as OpenIdentityKind } from './tracker-data-2BYXZjsN.js';
|
|
3
3
|
import * as z from 'zod';
|
|
4
4
|
|
|
5
5
|
/** One capability call of the captured evaluation run, as Relay stored it. */
|
|
@@ -151,6 +151,7 @@ declare const attemptCaptureSchema: z.ZodObject<{
|
|
|
151
151
|
wallet: z.ZodString;
|
|
152
152
|
reference: z.ZodNullable<z.ZodString>;
|
|
153
153
|
}, z.core.$strip>>>;
|
|
154
|
+
station: z.ZodOptional<z.ZodString>;
|
|
154
155
|
eligibleAt: z.ZodNumber;
|
|
155
156
|
calendar: z.ZodObject<{
|
|
156
157
|
segments: z.ZodArray<z.ZodObject<{
|
package/dist/authoring.d.ts
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a0 as AuthoringIdentity, a6 as DiscordMessageData, a7 as DiscordMessageTextData, a9 as DiscordReactionData, aa as KnownIntegrationModule, P as PointBalance, ab as QuestAction, af as DiscordReader, aj as IntegrationModule, ak as QuestStation, al as KnownGalleryKind, Y as IntegrationModuleProvider, Z as GalleryKind } from './accounts-COLmXRbW.js';
|
|
2
2
|
import { CampaignDefinition, QuestPresentation, AvailabilityWindow, QuestProfile, QuizEvidence } from './index.js';
|
|
3
3
|
import { EngagementBudget, leaderboardDefinitionSchema, pointLedgerDeclarationSchema, referralAuthoringSchema, discordMessagesSourceSchema, discordReactionsSourceSchema, TextReviewInput, TextResult, PhotoResult, Decision, rewardSchema, triggerSchema, TieredRewardDefinition } from './schema.js';
|
|
4
|
-
export {
|
|
5
|
-
import { I as IdentityKind, R as ResourceHandle, Q as QuestHandle, L as LedgerReference, G as GroupHandle, g as Tracker, h as TrackerData, j as LedgerHandle, b as TrackerDataSchema, n as Where, M as MemberIdentity, o as ReferralHandle, p as TrackerTriggerContext, q as TrackerReader, s as RoleOf, C as ContentBody, B as BadgeHandle, v as ContentMetricName } from './tracker-data-
|
|
4
|
+
export { an as KnownIntegrationModuleProvider, ao as QuestGallery, ap as SolanaTransactionAction, aq as StationCodeAction, ar as defineCampaign, as as defineGroup } from './accounts-COLmXRbW.js';
|
|
5
|
+
import { I as IdentityKind, R as ResourceHandle, Q as QuestHandle, L as LedgerReference, G as GroupHandle, g as Tracker, h as TrackerData, j as LedgerHandle, b as TrackerDataSchema, n as Where, M as MemberIdentity, o as ReferralHandle, p as TrackerTriggerContext, q as TrackerReader, s as RoleOf, C as ContentBody, B as BadgeHandle, v as ContentMetricName } from './tracker-data-2BYXZjsN.js';
|
|
6
6
|
import { xContentBodySchema, customSourceSchema, WithRecordData, WithContent, WithAccountRoles, TrackerSource, trackerDefinitionSchema, SourceRoles, xSearchSourceSchema, XTweet, XContentMetric, TrackerTriggerPolicy, TrackerTriggerMode, WhereSetting } from './schema.js';
|
|
7
|
-
export { w as LedgerSetting, y as TrackerPage, z as TrackerReadQuery, A as trackerDataSchema, D as trackerTriggerContextSchema } from './tracker-data-
|
|
7
|
+
export { w as LedgerSetting, y as TrackerPage, z as TrackerReadQuery, A as trackerDataSchema, D as trackerTriggerContextSchema } from './tracker-data-2BYXZjsN.js';
|
|
8
8
|
import { M as MemberCompletion } from './capability-error-db7kO8-P.js';
|
|
9
9
|
import { ResourceSource, Budget, AuthorBudget, Announcement } from './schema.js';
|
|
10
10
|
export { C as CapabilityError, b as CapabilityErrorCode, T as TikTokVideoBody, c as TikTokVideoMetric, Y as YouTubeShortBody, d as YouTubeShortMetric, e as capabilityErrorCodes } from './capability-error-db7kO8-P.js';
|
|
11
11
|
import { e as ProfileReferral } from './profiles-CLDKZVFx.js';
|
|
12
|
-
import { N as NftCollection, o as ContractCall, p as ContractEvent, q as SolanaProgram, n as SolanaSeed, r as WalletBalanceSourceQuery, t as WalletProgramActivitySourceQuery, u as WalletNftSourceQuery, v as WalletStakeSourceQuery, w as WalletProgramAccountSourceQuery, x as WalletTransaction, y as WalletInstruction, z as WalletReader } from './wallet-
|
|
12
|
+
import { N as NftCollection, o as ContractCall, p as ContractEvent, q as SolanaProgram, n as SolanaSeed, r as WalletBalanceSourceQuery, t as WalletProgramActivitySourceQuery, u as WalletNftSourceQuery, v as WalletStakeSourceQuery, w as WalletProgramAccountSourceQuery, x as WalletTransaction, y as WalletInstruction, z as WalletReader } from './wallet-BqswMAqZ.js';
|
|
13
13
|
import { SolanaIdlSource } from './schema.js';
|
|
14
|
-
export { A as ContractCallParts, B as ContractCallReturnType, D as ContractEventInput, E as ContractEventParts, F as ContractFunction, G as CosmosDenom, a as CosmosNetwork, H as EvmChainId, I as NftCollectionParts, J as NftStandard, K as SolanaSeedInteger, M as WalletBalance, O as WalletBalanceChange, k as WalletBalanceQuery, P as WalletBalanceSample, Q as WalletCall, R as WalletCallArgument, T as WalletCallQuery, U as WalletDelegations, V as WalletDelegationsQuery, X as WalletEventCondition, Y as WalletEventValue, Z as WalletEvents, _ as WalletEventsQuery, $ as WalletNftSample, a0 as WalletNfts, a1 as WalletNftsQuery, a2 as WalletProgramAccount, a3 as WalletProgramAccountQuery, a4 as WalletProgramAccountSample, a5 as WalletProgramActivity, a6 as WalletStake, a7 as WalletStakeQuery, a8 as WalletStakeSample, a9 as WalletTransactions, aa as WalletTransactionsQuery, ab as cosmosDenomSchema, ac as cosmosNetworkSchema, ad as isContractCall, ae as isContractEvent, af as isEvmAddress, ag as isEvmChainId, ah as isNftCollection, ai as isSolanaProgram, aj as maxWalletEventLogs, ak as maxWalletEventLookback, al as maxWalletTransactionLookback, am as maxWalletTransactions, an as parseContractCall, ao as parseContractEvent, ap as parseContractFunction, aq as parseNftCollection } from './wallet-
|
|
14
|
+
export { A as ContractCallParts, B as ContractCallReturnType, D as ContractEventInput, E as ContractEventParts, F as ContractFunction, G as CosmosDenom, a as CosmosNetwork, H as EvmChainId, I as NftCollectionParts, J as NftStandard, K as SolanaSeedInteger, M as WalletBalance, O as WalletBalanceChange, k as WalletBalanceQuery, P as WalletBalanceSample, Q as WalletCall, R as WalletCallArgument, T as WalletCallQuery, U as WalletDelegations, V as WalletDelegationsQuery, X as WalletEventCondition, Y as WalletEventValue, Z as WalletEvents, _ as WalletEventsQuery, $ as WalletNftSample, a0 as WalletNfts, a1 as WalletNftsQuery, a2 as WalletProgramAccount, a3 as WalletProgramAccountQuery, a4 as WalletProgramAccountSample, a5 as WalletProgramActivity, a6 as WalletStake, a7 as WalletStakeQuery, a8 as WalletStakeSample, a9 as WalletTransactions, aa as WalletTransactionsQuery, ab as cosmosDenomSchema, ac as cosmosNetworkSchema, ad as isContractCall, ae as isContractEvent, af as isEvmAddress, ag as isEvmChainId, ah as isNftCollection, ai as isSolanaProgram, aj as maxWalletEventLogs, ak as maxWalletEventLookback, al as maxWalletTransactionLookback, am as maxWalletTransactions, an as parseContractCall, ao as parseContractEvent, ap as parseContractFunction, aq as parseNftCollection } from './wallet-BqswMAqZ.js';
|
|
15
15
|
import * as z from 'zod';
|
|
16
16
|
export { z } from 'zod';
|
|
17
17
|
import { Badge } from './index.js';
|
|
18
18
|
import { badgeDeclarationSchema, OfferAuthoring } from './schema.js';
|
|
19
19
|
import { QuizContent } from './index.js';
|
|
20
20
|
import { StreakPolicy } from './schema.js';
|
|
21
|
-
import { S as Setting, A as AmountSetting, B as BalanceChain } from './dashboards-
|
|
21
|
+
import { S as Setting, A as AmountSetting, B as BalanceChain } from './dashboards-DXpjHnq-.js';
|
|
22
22
|
import { BoundSettings } from './schema.js';
|
|
23
|
-
export { D as DashboardInput, b as DashboardPanelInput, d as defineDashboard } from './dashboards-
|
|
24
|
-
import { e as TelegramReader } from './submission-input-
|
|
23
|
+
export { D as DashboardInput, b as DashboardPanelInput, d as defineDashboard } from './dashboards-DXpjHnq-.js';
|
|
24
|
+
import { e as TelegramReader } from './submission-input-U4aIkJuT.js';
|
|
25
25
|
import { Prerequisite, TextEvidence, UrlEvidence, TextOptions, UrlOptions } from './index.js';
|
|
26
|
-
export { f as TelegramChatMember, g as TelegramChatMemberStatus, h as TelegramConnection, i as TelegramMessageData, j as TelegramReactionData, k as balanceAtLeast, l as completed, m as inGroup } from './submission-input-
|
|
27
|
-
import { I as ImageReader, X as XReader } from './limits-
|
|
28
|
-
export { L as Limits, l as limits } from './limits-
|
|
26
|
+
export { f as TelegramChatMember, g as TelegramChatMemberStatus, h as TelegramConnection, i as TelegramMessageData, j as TelegramReactionData, k as balanceAtLeast, l as completed, m as inGroup } from './submission-input-U4aIkJuT.js';
|
|
27
|
+
import { I as ImageReader, X as XReader } from './limits-B7wbnWhd.js';
|
|
28
|
+
export { L as Limits, l as limits } from './limits-B7wbnWhd.js';
|
|
29
29
|
export { f as formatUnits, p as parseUnits } from './units-CwgsPB_r.js';
|
|
30
30
|
|
|
31
31
|
declare function defineBadge(input: z.input<typeof badgeDeclarationSchema>): {
|
|
@@ -1587,13 +1587,14 @@ type KeyedContext = {
|
|
|
1587
1587
|
/** The pinned tracker observation of a tracker-triggered quest; null for other triggers. */
|
|
1588
1588
|
tracker: TrackerTriggerContext | null;
|
|
1589
1589
|
/**
|
|
1590
|
-
* The
|
|
1591
|
-
*
|
|
1592
|
-
* reference
|
|
1590
|
+
* The action that started the attempt: the signed Solana transaction, with its memo's
|
|
1591
|
+
* `reference`, or a check-in with a station's code, whose `reference` is the station's key. Null
|
|
1592
|
+
* or absent for any other attempt. `keyed((ctx) => ctx.action?.reference ?? "app")` completes
|
|
1593
|
+
* once per reference.
|
|
1593
1594
|
*
|
|
1594
1595
|
* @experimental A minor release can change quest actions.
|
|
1595
1596
|
*/
|
|
1596
|
-
action?:
|
|
1597
|
+
action?: QuestAction | null;
|
|
1597
1598
|
eligibleAt: number;
|
|
1598
1599
|
/** The evaluation run's pinned project calendar. */
|
|
1599
1600
|
calendar: EvaluationCalendar;
|
|
@@ -1642,8 +1643,9 @@ declare const keyed: (key: (ctx: KeyedContext) => string, options?: KeyedOptions
|
|
|
1642
1643
|
};
|
|
1643
1644
|
/**
|
|
1644
1645
|
* The completion of a quest with `stations`: each member completes it once per station, keyed by
|
|
1645
|
-
* the station the signed transaction's memo
|
|
1646
|
-
*
|
|
1646
|
+
* the station the check-in names: the signed transaction's memo, or the code station the member
|
|
1647
|
+
* checked in at. Relay refuses a check-in at an unknown or closed station before the quest runs,
|
|
1648
|
+
* and a member's own submission of the quest.
|
|
1647
1649
|
*
|
|
1648
1650
|
* @experimental A minor release can change check-in stations.
|
|
1649
1651
|
*/
|
|
@@ -1911,11 +1913,14 @@ type EvaluationContext<T, I = {
|
|
|
1911
1913
|
/**
|
|
1912
1914
|
* The action that started this attempt: the Solana transaction the member signed, which an app's
|
|
1913
1915
|
* server submitted with `management.attempts.submitSolanaTransaction()`, with the signing wallet
|
|
1914
|
-
* and the memo's `reference
|
|
1916
|
+
* and the memo's `reference`; or a check-in with a station's code
|
|
1917
|
+
* (`management.attempts.submitStationCode()` or `quests.checkIn()`), `{ kind: "station-code",
|
|
1918
|
+
* reference }` with the station's key. Null or absent for any other attempt; check `kind` before
|
|
1919
|
+
* reading a transaction's fields.
|
|
1915
1920
|
*
|
|
1916
1921
|
* @experimental A minor release can change quest actions.
|
|
1917
1922
|
*/
|
|
1918
|
-
action?:
|
|
1923
|
+
action?: QuestAction | null;
|
|
1919
1924
|
/**
|
|
1920
1925
|
* When the activity happened, in epoch milliseconds: the tracker record's occurrence time, else
|
|
1921
1926
|
* when the attempt was admitted. Budgets and daily keys use it.
|
|
@@ -2081,6 +2086,18 @@ declare const defineQuest: <T extends Record<string, Setting>, const G extends T
|
|
|
2081
2086
|
* @experimental A minor release can change check-in stations.
|
|
2082
2087
|
*/
|
|
2083
2088
|
stations?: readonly QuestStation[];
|
|
2089
|
+
/**
|
|
2090
|
+
* Makes the quest's accepted photos a photo gallery: `{ kind: "wall" }` for a selfie wall,
|
|
2091
|
+
* `{ kind: "contest" }` for a photo contest. Reviewers browse it by day and quest in
|
|
2092
|
+
* Console, `management.galleries` and `domino galleries`. Only on a quest whose input is a
|
|
2093
|
+
* photo; publication refuses it elsewhere with `gallery-requires-photo`. For a selfie wall
|
|
2094
|
+
* that takes any photo, `evaluate` returns `decision.accept()`.
|
|
2095
|
+
*
|
|
2096
|
+
* @experimental A minor release can change photo galleries.
|
|
2097
|
+
*/
|
|
2098
|
+
gallery?: {
|
|
2099
|
+
kind: KnownGalleryKind;
|
|
2100
|
+
} | undefined;
|
|
2084
2101
|
/**
|
|
2085
2102
|
* Whether staff can review this quest's attempts. Human review is on unless this returns
|
|
2086
2103
|
* `{ enabled: false }`. With it off, `decision.review(...)` becomes a reject that keeps the
|
|
@@ -2487,7 +2504,11 @@ declare const defineQuest: <T extends Record<string, Setting>, const G extends T
|
|
|
2487
2504
|
label: string;
|
|
2488
2505
|
opensAt?: number | undefined;
|
|
2489
2506
|
closesAt?: number | undefined;
|
|
2507
|
+
proof?: "code" | "transaction" | undefined;
|
|
2490
2508
|
}[] | undefined;
|
|
2509
|
+
gallery?: {
|
|
2510
|
+
kind: GalleryKind;
|
|
2511
|
+
} | undefined;
|
|
2491
2512
|
};
|
|
2492
2513
|
evaluate(ctx: {
|
|
2493
2514
|
settings: unknown;
|
|
@@ -2503,11 +2524,14 @@ declare const defineQuest: <T extends Record<string, Setting>, const G extends T
|
|
|
2503
2524
|
/**
|
|
2504
2525
|
* The action that started this attempt: the Solana transaction the member signed, which an app's
|
|
2505
2526
|
* server submitted with `management.attempts.submitSolanaTransaction()`, with the signing wallet
|
|
2506
|
-
* and the memo's `reference
|
|
2527
|
+
* and the memo's `reference`; or a check-in with a station's code
|
|
2528
|
+
* (`management.attempts.submitStationCode()` or `quests.checkIn()`), `{ kind: "station-code",
|
|
2529
|
+
* reference }` with the station's key. Null or absent for any other attempt; check `kind` before
|
|
2530
|
+
* reading a transaction's fields.
|
|
2507
2531
|
*
|
|
2508
2532
|
* @experimental A minor release can change quest actions.
|
|
2509
2533
|
*/
|
|
2510
|
-
action?:
|
|
2534
|
+
action?: QuestAction | null;
|
|
2511
2535
|
/**
|
|
2512
2536
|
* When the activity happened, in epoch milliseconds: the tracker record's occurrence time, else
|
|
2513
2537
|
* when the attempt was admitted. Budgets and daily keys use it.
|
|
@@ -2608,6 +2632,18 @@ declare const defineQuestType: <T extends Record<string, Setting>, const G exten
|
|
|
2608
2632
|
* @experimental A minor release can change check-in stations.
|
|
2609
2633
|
*/
|
|
2610
2634
|
stations?: readonly QuestStation[];
|
|
2635
|
+
/**
|
|
2636
|
+
* Makes the quest's accepted photos a photo gallery: `{ kind: "wall" }` for a selfie wall,
|
|
2637
|
+
* `{ kind: "contest" }` for a photo contest. Reviewers browse it by day and quest in
|
|
2638
|
+
* Console, `management.galleries` and `domino galleries`. Only on a quest whose input is a
|
|
2639
|
+
* photo; publication refuses it elsewhere with `gallery-requires-photo`. For a selfie wall
|
|
2640
|
+
* that takes any photo, `evaluate` returns `decision.accept()`.
|
|
2641
|
+
*
|
|
2642
|
+
* @experimental A minor release can change photo galleries.
|
|
2643
|
+
*/
|
|
2644
|
+
gallery?: {
|
|
2645
|
+
kind: KnownGalleryKind;
|
|
2646
|
+
} | undefined;
|
|
2611
2647
|
/**
|
|
2612
2648
|
* Whether staff can review this quest's attempts. Human review is on unless this returns
|
|
2613
2649
|
* `{ enabled: false }`. With it off, `decision.review(...)` becomes a reject that keeps the
|
|
@@ -3014,7 +3050,11 @@ declare const defineQuestType: <T extends Record<string, Setting>, const G exten
|
|
|
3014
3050
|
label: string;
|
|
3015
3051
|
opensAt?: number | undefined;
|
|
3016
3052
|
closesAt?: number | undefined;
|
|
3053
|
+
proof?: "code" | "transaction" | undefined;
|
|
3017
3054
|
}[] | undefined;
|
|
3055
|
+
gallery?: {
|
|
3056
|
+
kind: GalleryKind;
|
|
3057
|
+
} | undefined;
|
|
3018
3058
|
};
|
|
3019
3059
|
evaluate(ctx: {
|
|
3020
3060
|
settings: unknown;
|
|
@@ -3030,11 +3070,14 @@ declare const defineQuestType: <T extends Record<string, Setting>, const G exten
|
|
|
3030
3070
|
/**
|
|
3031
3071
|
* The action that started this attempt: the Solana transaction the member signed, which an app's
|
|
3032
3072
|
* server submitted with `management.attempts.submitSolanaTransaction()`, with the signing wallet
|
|
3033
|
-
* and the memo's `reference
|
|
3073
|
+
* and the memo's `reference`; or a check-in with a station's code
|
|
3074
|
+
* (`management.attempts.submitStationCode()` or `quests.checkIn()`), `{ kind: "station-code",
|
|
3075
|
+
* reference }` with the station's key. Null or absent for any other attempt; check `kind` before
|
|
3076
|
+
* reading a transaction's fields.
|
|
3034
3077
|
*
|
|
3035
3078
|
* @experimental A minor release can change quest actions.
|
|
3036
3079
|
*/
|
|
3037
|
-
action?:
|
|
3080
|
+
action?: QuestAction | null;
|
|
3038
3081
|
/**
|
|
3039
3082
|
* When the activity happened, in epoch milliseconds: the tracker record's occurrence time, else
|
|
3040
3083
|
* when the attempt was admitted. Budgets and daily keys use it.
|
|
@@ -3084,5 +3127,5 @@ declare const defineQuestType: <T extends Record<string, Setting>, const G exten
|
|
|
3084
3127
|
}): Promise<Decision>;
|
|
3085
3128
|
} & ResourceHandle<"quest">;
|
|
3086
3129
|
|
|
3087
|
-
export { AmountSetting, BalanceChain, ContentBody, ContentMetricName, ContractCall, ContractEvent, DiscordMessageData, DiscordMessageTextData, DiscordReactionData, DiscordReader, GroupHandle, IdentityKind, ImageReader, IntegrationModule, IntegrationModuleProvider, KnownIntegrationModule, LedgerHandle, LedgerReference, MemberCompletion, MemberIdentity, NftCollection, PointBalance, ProfileReferral, QuestHandle, QuestStation, ReferralHandle, RoleOf, Setting, SolanaProgram, SolanaSeed,
|
|
3130
|
+
export { AmountSetting, BalanceChain, ContentBody, ContentMetricName, ContractCall, ContractEvent, DiscordMessageData, DiscordMessageTextData, DiscordReactionData, DiscordReader, GalleryKind, GroupHandle, IdentityKind, ImageReader, IntegrationModule, IntegrationModuleProvider, KnownGalleryKind, KnownIntegrationModule, LedgerHandle, LedgerReference, MemberCompletion, MemberIdentity, NftCollection, PointBalance, ProfileReferral, QuestAction, QuestHandle, QuestStation, ReferralHandle, RoleOf, Setting, SolanaProgram, SolanaSeed, TelegramReader, Tracker, TrackerData, TrackerDataSchema, TrackerReader, TrackerTriggerContext, WalletBalanceSourceQuery, WalletInstruction, WalletNftSourceQuery, WalletProgramAccountSourceQuery, WalletProgramActivitySourceQuery, WalletReader, WalletStakeSourceQuery, WalletTransaction, Where, XReader, automatic, automaticFulfillment, badge, budget, calendar, content, count, customSource, decision, defineBadge, defineEngagementReward, defineLeaderboard, defineLedger, defineOffer, defineQuest, defineQuestType, defineReferral, defineTieredReward, defineTracker, discord, earned, evaluators, evidence, groupMembership, instruction, invoked, keyed, leaderboardTiesWarning, manual, once, perStation, pointLedgers, points, progress, questCompleted, received, rolling, settings, spent, staffHandover, streak, swapped, telegram, tiktok, untracked, wallet, x, youtube };
|
|
3088
3131
|
export type { ContentData, ContentTrigger, ContentTriggerInput, EvaluationCalendar, EvaluationCalendarDay, EvaluationContext, EvaluationMember, KeyedContext, KeyedOptions, MemberCompletionQuery, Outcome, PerformanceContext, PerformanceOutcome, QuestKeyedContext, TrackerTrigger, TrackerTriggerInput, TriggerAdmission, XContentBody };
|