@domino-sdk/relay 1.0.0-next.15 → 1.0.0-next.16

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.
@@ -1,15 +1,16 @@
1
1
  import { z } from 'zod';
2
2
  export { z } from 'zod';
3
3
  import { e as ContentPolicy, C as ContentMetric, E as EngagementBudget, T as leaderboardDefinitionSchema, a9 as referralAuthoringSchema, A as AdmittedContent } from './referrals-KQfP4pBf.js';
4
- import { r as discordMessagesSourceSchema, a as DiscordMessageData, b as DiscordMessageTextData, t as discordReactionsSourceSchema, c as DiscordReactionData, e as ResourceSource, S as Setting, j as XReader, D as DiscordMessage, B as Budget, I as IntegerSettings, d as IntegrationProvider } from './integrations-C1vB6Ry6.js';
4
+ import { q as discordMessagesSourceSchema, e as DiscordMessageData, f as DiscordMessageTextData, s as discordReactionsSourceSchema, g as DiscordReactionData, h as DiscordReader, T as TextEvidence, U as UrlEvidence, b as TextOptions, c as UrlOptions } from './submission-input-CkmBmSL1.js';
5
5
  import { Q as QuizContent, a as StreakPolicy } from './streaks-CWyq8Px5.js';
6
- import { j as TrackerDefinition, I as IdentityKind, K as customSourceSchema, G as WithRecordData, t as TrackerSource, a2 as trackerDefinitionSchema, T as Tracker, g as TrackerData, aw as xSearchSourceSchema, X as XTweet, w as TrackerTriggerContext, y as TrackerTriggerPolicy, q as TrackerReader, W as Where, x as TrackerTriggerMode, F as WhereSetting } from './trackers-7lxSWp2g.js';
7
- export { i as TrackerDataSchema, m as TrackerPage, ay as trackerDataSchema, am as trackerTriggerContextSchema } from './trackers-7lxSWp2g.js';
6
+ import { c as ResourceSource, S as Setting, h as XReader, B as Budget, I as IntegerSettings, b as IntegrationProvider } from './capability-error-DO6Q0Qwe.js';
7
+ export { G as CapabilityError, C as CapabilityErrorCode, j as capabilityErrorCodes } from './capability-error-DO6Q0Qwe.js';
8
+ import { j as TrackerDefinition, I as IdentityKind, L as customSourceSchema, H as WithRecordData, u as TrackerSource, a3 as trackerDefinitionSchema, T as Tracker, g as TrackerData, ax as xSearchSourceSchema, X as XTweet, x as TrackerTriggerContext, z as TrackerTriggerPolicy, r as TrackerReader, W as Where, y as TrackerTriggerMode, G as WhereSetting } from './trackers-Cg2MzFEf.js';
9
+ export { i as TrackerDataSchema, m as TrackerPage, q as TrackerReadQuery, az as trackerDataSchema, an as trackerTriggerContextSchema } from './trackers-Cg2MzFEf.js';
8
10
  import { e as ImageReader } from './images-CRxHUuG5.js';
9
- import { D as DiscordMember, T as TextEvidence, U as UrlEvidence, b as TextOptions, c as UrlOptions } from './submission-input-CccwAl5Z.js';
10
11
  import { n as TextReviewInput, m as TextResult, P as PhotoResult, ag as rewardSchema, av as triggerSchema, Q as QuestPresentation, a as QuestProfile, b as QuizEvidence, D as Decision, o as TieredRewardDefinition } from './schema-C4F2K9cm.js';
11
- import { k as WalletConnection, S as SolanaBalance, L as LinkedWallet, j as WalletBalanceQuery, i as WalletBalance } from './wallet-BtiG0Xhr.js';
12
- export { E as EvmChainId, r as isEvmChainId } from './wallet-BtiG0Xhr.js';
12
+ import { l as WalletReader } from './wallet-CYK5E2wj.js';
13
+ export { E as EvmChainId, i as WalletBalance, j as WalletBalanceQuery, s as isEvmChainId } from './wallet-CYK5E2wj.js';
13
14
  export { f as formatUnits, p as parseUnits } from './units-CwgsPB_r.js';
14
15
 
15
16
  /** Legacy `id` names an authoring key, never a server resource ID. */
@@ -610,27 +611,8 @@ type EvaluationContext<T, I = {
610
611
  criteria: string;
611
612
  }): Promise<PhotoResult>;
612
613
  };
613
- discord: {
614
- member(): Promise<DiscordMember | null>;
615
- message(input: {
616
- channelId: string;
617
- messageId: string;
618
- }): Promise<DiscordMessage | null>;
619
- };
620
- wallet: {
621
- /** The member's newest linked Solana wallet. */
622
- connection(): Promise<WalletConnection | null>;
623
- /** SOL held by the newest linked Solana wallet. */
624
- solanaBalance(): Promise<SolanaBalance | null>;
625
- /** Every wallet the member has linked to this project, pinned once per attempt. */
626
- list(): Promise<LinkedWallet[]>;
627
- /**
628
- * The native or token balance of the member's pinned linked wallets on one chain: all wallets of
629
- * that family, or `address` (which must be one of them). No wallets gives `total: "0"` and
630
- * `wallets: []`. Provider failures throw; they never read as a zero balance.
631
- */
632
- balance(query: WalletBalanceQuery): Promise<WalletBalance>;
633
- };
614
+ discord: DiscordReader;
615
+ wallet: WalletReader;
634
616
  };
635
617
  type Evaluator<T, I = {
636
618
  photo: string;
@@ -966,4 +948,4 @@ declare function defineQuest<T extends Record<string, Setting>, const G extends
966
948
  * Console instances receive independent quest identities and pinned versions. */
967
949
  declare const defineQuestType: typeof defineQuest;
968
950
 
969
- export { DiscordMessageData, DiscordMessageTextData, DiscordReactionData, type EvaluationContext, ImageReader, type KeyedContext, type PerformanceOutcome, Setting, Tracker, TrackerData, TrackerReader, type TrackerTrigger, TrackerTriggerContext, type TrackerTriggerInput, WalletBalance, WalletBalanceQuery, Where, XReader, automatic, budget, completed, content, customSource, decision, defineEngagementReward, defineLeaderboard, defineQuest, defineQuestType, defineReferral, defineTieredReward, defineTracker, discord, discordRole, evaluators, evidence, keyed, manual, once, perContent, pointLedgers, points, settings, staffHandover, streak, untracked, x };
951
+ export { DiscordMessageData, DiscordMessageTextData, DiscordReactionData, DiscordReader, type EvaluationContext, ImageReader, type KeyedContext, type PerformanceOutcome, Setting, Tracker, TrackerData, TrackerReader, type TrackerTrigger, TrackerTriggerContext, type TrackerTriggerInput, WalletReader, Where, XReader, automatic, budget, completed, content, customSource, decision, defineEngagementReward, defineLeaderboard, defineQuest, defineQuestType, defineReferral, defineTieredReward, defineTracker, discord, discordRole, evaluators, evidence, keyed, manual, once, perContent, pointLedgers, points, settings, staffHandover, streak, untracked, x };
package/dist/authoring.js CHANGED
@@ -2,6 +2,10 @@ import {
2
2
  formatUnits,
3
3
  parseUnits
4
4
  } from "./chunk-V7UKZLHA.js";
5
+ import {
6
+ CapabilityError,
7
+ capabilityErrorCodes
8
+ } from "./chunk-MC6V6VMG.js";
5
9
  import {
6
10
  sourceDataSchema,
7
11
  sourceRoles
@@ -595,8 +599,10 @@ function defineQuest(definition) {
595
599
  }
596
600
  var defineQuestType = defineQuest;
597
601
  export {
602
+ CapabilityError,
598
603
  automatic,
599
604
  budget,
605
+ capabilityErrorCodes,
600
606
  completed,
601
607
  content,
602
608
  customSource,
package/dist/avatar.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as LinkedWallet } from './wallet-BtiG0Xhr.js';
2
- import { P as ProfileAvatar } from './profiles-BtOXMGcC.js';
1
+ import { L as LinkedWallet } from './wallet-CYK5E2wj.js';
2
+ import { P as ProfileAvatar } from './profiles-md0g5fjx.js';
3
3
  import 'zod';
4
4
 
5
5
  /**
package/dist/browser.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { a6 as referralAcceptSchema, c as LeaderboardQuery, G as engagementPageQuerySchema, s as contentQualificationQuerySchema, i as contentAdmissionQuerySchema, k as contentEnrollmentInputSchema, u as contentReleaseInputSchema } from './referrals-KQfP4pBf.js';
2
2
  import { ao as submitSchema, x as contentPerformanceQuerySchema } from './schema-C4F2K9cm.js';
3
3
  import { h as QuestView, J as questExperienceSchema, e as PointHistoryQuery, c as PointEntryKind } from './catalog-CVXUHxiO.js';
4
- import { n as createRelayClient, g as RelayError, m as SubmissionStore, k as RelayRequestOptions, c as QuestController, a as ProgressObservation, b as ProgressObserver, P as PhotoSubmission, e as QuizSubmission, C as ClaimSubmission, V as ValueSubmission } from './client-dfXT6hhq.js';
4
+ import { n as createRelayClient, g as RelayError, m as SubmissionStore, k as RelayRequestOptions, c as QuestController, a as ProgressObservation, b as ProgressObserver, P as PhotoSubmission, e as QuizSubmission, C as ClaimSubmission, V as ValueSubmission } from './client-DG9qAB4o.js';
5
5
  import { a as PageQuery, f as exchangeSchema } from './pages-KYK1L60W.js';
6
- import { a as AuthProvider } from './submission-input-CccwAl5Z.js';
7
- import { C as CosmosChain, a as CosmosNetwork, f as WalletSigner, d as WalletSignInNetwork, x as walletAddressInputSchema, M as walletSignatureSchema, L as LinkedWallet } from './wallet-BtiG0Xhr.js';
8
- import { F as profileUpdateSchema, c as ProfileCompletionQuery } from './profiles-BtOXMGcC.js';
6
+ import { a as AuthProvider } from './submission-input-CkmBmSL1.js';
7
+ import { C as CosmosChain, a as CosmosNetwork, f as WalletSigner, d as WalletSignInNetwork, y as walletAddressInputSchema, N as walletSignatureSchema, L as LinkedWallet } from './wallet-CYK5E2wj.js';
8
+ import { F as profileUpdateSchema, c as ProfileCompletionQuery } from './profiles-md0g5fjx.js';
9
9
  import * as zod from 'zod';
10
10
  import './request-error-VnTiMXc3.js';
11
11
 
@@ -607,7 +607,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
607
607
  seed: string;
608
608
  };
609
609
  displayName: string | null;
610
- avatarChoice: "default" | "upload" | "account" | "generated";
610
+ avatarChoice: "default" | "account" | "upload" | "generated";
611
611
  avatarProvider: "x" | "discord" | "google" | null;
612
612
  hidden: boolean;
613
613
  locked: boolean;
@@ -635,7 +635,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
635
635
  seed: string;
636
636
  };
637
637
  displayName: string | null;
638
- avatarChoice: "default" | "upload" | "account" | "generated";
638
+ avatarChoice: "default" | "account" | "upload" | "generated";
639
639
  avatarProvider: "x" | "discord" | "google" | null;
640
640
  hidden: boolean;
641
641
  locked: boolean;
@@ -665,7 +665,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
665
665
  seed: string;
666
666
  };
667
667
  displayName: string | null;
668
- avatarChoice: "default" | "upload" | "account" | "generated";
668
+ avatarChoice: "default" | "account" | "upload" | "generated";
669
669
  avatarProvider: "x" | "discord" | "google" | null;
670
670
  hidden: boolean;
671
671
  locked: boolean;
@@ -818,7 +818,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
818
818
  };
819
819
  availability: {
820
820
  kind: "available";
821
- input: "url" | "text" | "none" | "quiz" | "photo";
821
+ input: "text" | "url" | "none" | "quiz" | "photo";
822
822
  } | {
823
823
  kind: "completed";
824
824
  } | {
@@ -911,7 +911,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
911
911
  } | undefined;
912
912
  } | null;
913
913
  release: string;
914
- interaction: "url" | "text" | "automatic" | "claim" | "staff" | "quiz" | "photo";
914
+ interaction: "text" | "url" | "automatic" | "claim" | "staff" | "quiz" | "photo";
915
915
  lifecycle: "paused" | "active" | "archived";
916
916
  rewards: ({
917
917
  kind: "points";
@@ -1124,7 +1124,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1124
1124
  };
1125
1125
  availability: {
1126
1126
  kind: "available";
1127
- input: "url" | "text" | "none" | "quiz" | "photo";
1127
+ input: "text" | "url" | "none" | "quiz" | "photo";
1128
1128
  } | {
1129
1129
  kind: "completed";
1130
1130
  } | {
@@ -1217,7 +1217,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1217
1217
  } | undefined;
1218
1218
  } | null;
1219
1219
  release: string;
1220
- interaction: "url" | "text" | "automatic" | "claim" | "staff" | "quiz" | "photo";
1220
+ interaction: "text" | "url" | "automatic" | "claim" | "staff" | "quiz" | "photo";
1221
1221
  lifecycle: "paused" | "active" | "archived";
1222
1222
  rewards: ({
1223
1223
  kind: "points";
@@ -1377,7 +1377,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1377
1377
  };
1378
1378
  availability: {
1379
1379
  kind: "available";
1380
- input: "url" | "text" | "none" | "quiz" | "photo";
1380
+ input: "text" | "url" | "none" | "quiz" | "photo";
1381
1381
  } | {
1382
1382
  kind: "completed";
1383
1383
  } | {
@@ -1470,7 +1470,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1470
1470
  } | undefined;
1471
1471
  } | null;
1472
1472
  release: string;
1473
- interaction: "url" | "text" | "automatic" | "claim" | "staff" | "quiz" | "photo";
1473
+ interaction: "text" | "url" | "automatic" | "claim" | "staff" | "quiz" | "photo";
1474
1474
  lifecycle: "paused" | "active" | "archived";
1475
1475
  rewards: ({
1476
1476
  kind: "points";
@@ -1633,7 +1633,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1633
1633
  };
1634
1634
  availability: {
1635
1635
  kind: "available";
1636
- input: "url" | "text" | "none" | "quiz" | "photo";
1636
+ input: "text" | "url" | "none" | "quiz" | "photo";
1637
1637
  } | {
1638
1638
  kind: "completed";
1639
1639
  } | {
@@ -1726,7 +1726,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
1726
1726
  } | undefined;
1727
1727
  } | null;
1728
1728
  release: string;
1729
- interaction: "url" | "text" | "automatic" | "claim" | "staff" | "quiz" | "photo";
1729
+ interaction: "text" | "url" | "automatic" | "claim" | "staff" | "quiz" | "photo";
1730
1730
  lifecycle: "paused" | "active" | "archived";
1731
1731
  rewards: ({
1732
1732
  kind: "points";
@@ -2108,7 +2108,7 @@ declare function createBrowserRelayClient(options: Parameters<typeof createRelay
2108
2108
  };
2109
2109
  availability: {
2110
2110
  kind: "available";
2111
- input: "url" | "text" | "none" | "quiz" | "photo";
2111
+ input: "text" | "url" | "none" | "quiz" | "photo";
2112
2112
  } | {
2113
2113
  kind: "completed";
2114
2114
  } | {
@@ -1,69 +1,5 @@
1
1
  import { z } from 'zod';
2
2
 
3
- /** A Discord message as `ctx.discord.message()` reads it, from the project's Discord server. */
4
- declare const discordMessageSchema: z.ZodObject<{
5
- guildId: z.ZodString;
6
- channelId: z.ZodString;
7
- messageId: z.ZodString;
8
- userId: z.ZodString;
9
- content: z.ZodNullable<z.ZodString>;
10
- replyTo: z.ZodNullable<z.ZodString>;
11
- publishedAt: z.ZodNumber;
12
- }, z.core.$strict>;
13
- type DiscordMessage = z.infer<typeof discordMessageSchema>;
14
- /**
15
- * Messages posted in the project's Discord server, written by the Discord gateway. The record's
16
- * `author` is the message author's Discord account. Message text is stored only with `text: true`.
17
- */
18
- declare const discordMessagesSourceSchema: z.ZodObject<{
19
- kind: z.ZodLiteral<"discord-messages">;
20
- /** Store each message's text in `data.text`. Off unless set. */
21
- text: z.ZodOptional<z.ZodBoolean>;
22
- }, z.core.$strict>;
23
- /**
24
- * Reactions added in the project's Discord server, written by the Discord gateway. The record's
25
- * `author` is the reactor's Discord account and its `messageAuthor` account is the message's
26
- * author, when Discord could name it.
27
- */
28
- declare const discordReactionsSourceSchema: z.ZodObject<{
29
- kind: z.ZodLiteral<"discord-reactions">;
30
- }, z.core.$strict>;
31
- /** The `data` of a `discord.messages()` record. IDs are Discord snowflakes. */
32
- declare const discordMessageDataSchema: z.ZodObject<{
33
- guildId: z.ZodString;
34
- channelId: z.ZodString;
35
- messageId: z.ZodString;
36
- replyTo: z.ZodNullable<z.ZodString>;
37
- publishedAt: z.ZodNumber;
38
- }, z.core.$strip>;
39
- type DiscordMessageData = z.infer<typeof discordMessageDataSchema>;
40
- /**
41
- * The `data` of a `discord.messages({ text: true })` record. `text` is null when the platform's
42
- * bot does not receive message content.
43
- */
44
- declare const discordMessageTextDataSchema: z.ZodObject<{
45
- guildId: z.ZodString;
46
- channelId: z.ZodString;
47
- messageId: z.ZodString;
48
- replyTo: z.ZodNullable<z.ZodString>;
49
- publishedAt: z.ZodNumber;
50
- text: z.ZodNullable<z.ZodString>;
51
- }, z.core.$strip>;
52
- type DiscordMessageTextData = z.infer<typeof discordMessageTextDataSchema>;
53
- /** The `data` of a `discord.reactions()` record. IDs are Discord snowflakes. */
54
- declare const discordReactionDataSchema: z.ZodObject<{
55
- guildId: z.ZodString;
56
- channelId: z.ZodString;
57
- messageId: z.ZodString;
58
- emoji: z.ZodObject<{
59
- id: z.ZodNullable<z.ZodString>;
60
- name: z.ZodString;
61
- }, z.core.$strip>;
62
- reactorRoles: z.ZodArray<z.ZodString>;
63
- messagePublishedAt: z.ZodNumber;
64
- }, z.core.$strip>;
65
- type DiscordReactionData = z.infer<typeof discordReactionDataSchema>;
66
-
67
3
  declare const resourceSourceSchema: z.ZodUnion<readonly [z.ZodObject<{
68
4
  provider: z.ZodLiteral<"domino">;
69
5
  resource: z.ZodLiteral<"point-ledger">;
@@ -340,18 +276,25 @@ declare const xRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
340
276
  type XConnection = z.infer<typeof xConnectionSchema>;
341
277
  type XProfile = z.infer<typeof xProfileSchema>;
342
278
  type XPost = z.infer<typeof xPostSchema>;
279
+ /**
280
+ * Reads the member's linked X account and public X data. The account is pinned at the attempt's
281
+ * first X read: later links and unlinks do not change the attempt. `connection()`, `profile()`,
282
+ * `follows()` and `reposted()` resolve to `null` when the member has no linked X account;
283
+ * `post()` reads any public post and resolves to `null` when it does not exist. Provider failures
284
+ * throw `CapabilityError` with code `"provider-unavailable"`.
285
+ */
343
286
  interface XReader {
344
287
  connection(): Promise<XConnection | null>;
345
- profile(): Promise<XProfile>;
288
+ profile(): Promise<XProfile | null>;
346
289
  post(input: {
347
290
  postId: string;
348
- }): Promise<XPost>;
291
+ }): Promise<XPost | null>;
349
292
  follows(input: {
350
293
  userId: string;
351
- }): Promise<boolean>;
294
+ }): Promise<boolean | null>;
352
295
  reposted(input: {
353
296
  postId: string;
354
- }): Promise<boolean>;
297
+ }): Promise<boolean | null>;
355
298
  }
356
299
 
357
300
  declare const completionPolicySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -412,4 +355,71 @@ declare const projectIntegrationSchema: z.ZodObject<{
412
355
  }, z.core.$strip>;
413
356
  type ProjectIntegration = z.infer<typeof projectIntegrationSchema>;
414
357
 
415
- export { resourceRequestSchema as A, type Budget as B, resourceSourceSchema as C, type DiscordMessage as D, settingFieldSchema as E, settingsFieldsSchema as F, settingsValuesSchema as G, xConnectionSchema as H, type IntegerSettings as I, xIdSchema as J, xPostSchema as K, xProfileSchema as L, xRequestSchema as M, type ProjectIntegration as P, type ResourceOption as R, type Setting as S, type XConnection as X, type DiscordMessageData as a, type DiscordMessageTextData as b, type DiscordReactionData as c, type IntegrationProvider as d, type ResourceSource as e, type SettingField as f, type SettingsValues as g, type XPost as h, type XProfile as i, type XReader as j, budgetSchema as k, compatibleSettingKinds as l, completionKeySchema as m, completionPolicySchema as n, discordMessageDataSchema as o, discordMessageSchema as p, discordMessageTextDataSchema as q, discordMessagesSourceSchema as r, discordReactionDataSchema as s, discordReactionsSourceSchema as t, discordServerSchema as u, integrationProviderSchema as v, missingResourceSettings as w, parseSettings as x, projectIntegrationSchema as y, resourceOptionsSchema as z };
358
+ /**
359
+ * Why an evaluator capability could not answer:
360
+ *
361
+ * - `not-linked`: the call needs a member account that is not linked, and its result cannot be
362
+ * null, such as an image check of the member's X profile picture. Readers of the member's own
363
+ * accounts return `null` instead.
364
+ * - `provider-unavailable`: the provider (X, Discord, a chain RPC, AI review) did not answer, or
365
+ * the project's integration cannot reach it.
366
+ * - `author-error`: the call cannot be answered as written: invalid input, an undeclared
367
+ * integration, an unknown tracker, a chain Relay does not read, a wallet the member never
368
+ * linked, or an image that does not exist.
369
+ *
370
+ * Later versions can add codes. Treat an unknown code as a failure its `message` explains.
371
+ */
372
+ declare const capabilityErrorCodes: readonly ["not-linked", "provider-unavailable", "author-error"];
373
+ type KnownCapabilityErrorCode = (typeof capabilityErrorCodes)[number];
374
+ /** A known code, or one a newer Relay added. */
375
+ type CapabilityErrorCode = KnownCapabilityErrorCode | (string & {});
376
+ /**
377
+ * A capability failure as it crosses the sandbox boundary and as Relay captures it. Open, so a
378
+ * newer Relay can add codes and fields without breaking an older evaluator or Worker.
379
+ */
380
+ declare const capabilityFailureSchema: z.ZodObject<{
381
+ code: z.ZodString;
382
+ message: z.ZodString;
383
+ /**
384
+ * True when Relay retries the attempt if the error reaches it uncaught, and calls the provider
385
+ * again. A failure that is not retryable is captured (or follows from the attempt's pinned
386
+ * inputs), so every run of the attempt sees it again. A retryable failure that quest code
387
+ * handles and moves past is final for the attempt; one that escapes the evaluation is retried.
388
+ */
389
+ retryable: z.ZodBoolean;
390
+ }, z.core.$loose>;
391
+ type CapabilityFailure = z.infer<typeof capabilityFailureSchema>;
392
+ /**
393
+ * Thrown by an evaluator capability (`ctx.x`, `ctx.discord`, `ctx.wallet`, `ctx.trackers`,
394
+ * `ctx.images`, `ctx.review`) that could not answer. A capability whose subject is missing (an
395
+ * account the member has not linked, a deleted post or message) returns `null` instead of
396
+ * throwing.
397
+ *
398
+ * Catch it to decide yourself; rethrow anything else. An uncaught retryable error makes Relay
399
+ * retry the attempt later; an uncaught one that is not retryable fails it.
400
+ *
401
+ * ```ts
402
+ * try {
403
+ * return (await ctx.x.follows({ userId })) ? decision.accept() : decision.reject({ reason })
404
+ * } catch (error) {
405
+ * if (error instanceof CapabilityError && error.code === "provider-unavailable")
406
+ * return decision.review({ reason: "X is unavailable" })
407
+ * throw error
408
+ * }
409
+ * ```
410
+ */
411
+ declare class CapabilityError extends Error {
412
+ readonly code: CapabilityErrorCode;
413
+ readonly retryable: boolean;
414
+ constructor(code: CapabilityErrorCode, message: string, options?: {
415
+ retryable?: boolean;
416
+ });
417
+ static [Symbol.hasInstance](value: unknown): boolean;
418
+ /**
419
+ * The error for a captured or transported failure. A code this SDK does not know is never
420
+ * retryable: nothing tells it a retry would help.
421
+ */
422
+ static from(failure: CapabilityFailure): CapabilityError;
423
+ }
424
+
425
+ export { xIdSchema as A, type Budget as B, type CapabilityErrorCode as C, xPostSchema as D, xProfileSchema as E, xRequestSchema as F, CapabilityError as G, type IntegerSettings as I, type KnownCapabilityErrorCode as K, type ProjectIntegration as P, type ResourceOption as R, type Setting as S, type XConnection as X, type CapabilityFailure as a, type IntegrationProvider as b, type ResourceSource as c, type SettingField as d, type SettingsValues as e, type XPost as f, type XProfile as g, type XReader as h, budgetSchema as i, capabilityErrorCodes as j, capabilityFailureSchema as k, compatibleSettingKinds as l, completionKeySchema as m, completionPolicySchema as n, discordServerSchema as o, integrationProviderSchema as p, missingResourceSettings as q, parseSettings as r, projectIntegrationSchema as s, resourceOptionsSchema as t, resourceRequestSchema as u, resourceSourceSchema as v, settingFieldSchema as w, settingsFieldsSchema as x, settingsValuesSchema as y, xConnectionSchema as z };
@@ -52,20 +52,25 @@ var participantExchangeSchema = z.object({
52
52
  }).strict();
53
53
 
54
54
  // src/image-results.ts
55
+ import { z as z2 } from "zod";
56
+ var invalid = (message, path) => new z2.ZodError([{ code: "custom", message, path, input: void 0 }]);
55
57
  function parseImageExtraction(raw, value) {
56
58
  const result = imageExtractionSchema.parse(value);
57
59
  const fields = imageFieldsSchema.parse(raw);
58
60
  for (const [key, field] of Object.entries(fields)) {
59
61
  const extracted = result.values[key];
60
62
  if (extracted === void 0) {
61
- throw new Error("Image extraction omitted " + key);
63
+ throw invalid("Image extraction omitted " + key, ["values", key]);
62
64
  }
63
65
  if (extracted !== null && typeof extracted !== field.type) {
64
- throw new Error("Image extraction returned the wrong type for " + key);
66
+ throw invalid("Image extraction returned the wrong type for " + key, [
67
+ "values",
68
+ key
69
+ ]);
65
70
  }
66
71
  }
67
72
  if (Object.keys(result.values).some((key) => !Object.hasOwn(fields, key))) {
68
- throw new Error("Image extraction returned an undeclared field");
73
+ throw invalid("Image extraction returned an undeclared field", ["values"]);
69
74
  }
70
75
  return result;
71
76
  }
@@ -85,8 +90,8 @@ function parseImageResult(request, value) {
85
90
  }
86
91
 
87
92
  // src/sequence-cursor.ts
88
- import { z as z2 } from "zod";
89
- var sequenceCursorSchema = z2.string().regex(/^[1-9][0-9]{0,15}$/, "Invalid cursor").transform(Number).pipe(z2.number().int().positive().safe());
93
+ import { z as z3 } from "zod";
94
+ var sequenceCursorSchema = z3.string().regex(/^[1-9][0-9]{0,15}$/, "Invalid cursor").transform(Number).pipe(z3.number().int().positive().safe());
90
95
 
91
96
  export {
92
97
  questConfiguration,
@@ -0,0 +1,49 @@
1
+ // src/capability-error.ts
2
+ import { z } from "zod";
3
+ var capabilityErrorCodes = [
4
+ "not-linked",
5
+ "provider-unavailable",
6
+ "author-error"
7
+ ];
8
+ var isKnown = (code) => capabilityErrorCodes.includes(code);
9
+ var capabilityFailureSchema = z.looseObject({
10
+ code: z.string().min(1),
11
+ message: z.string().min(1),
12
+ /**
13
+ * True when Relay retries the attempt if the error reaches it uncaught, and calls the provider
14
+ * again. A failure that is not retryable is captured (or follows from the attempt's pinned
15
+ * inputs), so every run of the attempt sees it again. A retryable failure that quest code
16
+ * handles and moves past is final for the attempt; one that escapes the evaluation is retried.
17
+ */
18
+ retryable: z.boolean()
19
+ });
20
+ var brand = /* @__PURE__ */ Symbol.for("@domino-sdk/relay/CapabilityError");
21
+ var CapabilityError = class _CapabilityError extends Error {
22
+ code;
23
+ retryable;
24
+ constructor(code, message, options = {}) {
25
+ super(message);
26
+ this.name = "CapabilityError";
27
+ this.code = code;
28
+ this.retryable = options.retryable ?? code === "provider-unavailable";
29
+ Object.defineProperty(this, brand, { value: true });
30
+ }
31
+ static [Symbol.hasInstance](value) {
32
+ return typeof value === "object" && value !== null && value[brand] === true;
33
+ }
34
+ /**
35
+ * The error for a captured or transported failure. A code this SDK does not know is never
36
+ * retryable: nothing tells it a retry would help.
37
+ */
38
+ static from(failure) {
39
+ return new _CapabilityError(failure.code, failure.message, {
40
+ retryable: isKnown(failure.code) && failure.retryable
41
+ });
42
+ }
43
+ };
44
+
45
+ export {
46
+ capabilityErrorCodes,
47
+ capabilityFailureSchema,
48
+ CapabilityError
49
+ };
@@ -1,12 +1,12 @@
1
1
  import { h as QuestView, J as questExperienceSchema, e as PointHistoryQuery, c as PointEntryKind } from './catalog-CVXUHxiO.js';
2
- import { V as ValueEvidence, a as AuthProvider } from './submission-input-CccwAl5Z.js';
2
+ import { V as ValueEvidence, a as AuthProvider } from './submission-input-CkmBmSL1.js';
3
3
  import { R as RequestError, a as RequestErrorDetails, b as RequestErrorKind } from './request-error-VnTiMXc3.js';
4
4
  import { b as QuizEvidence, A as Attempt, M as MemberProgress, ao as submitSchema, x as contentPerformanceQuerySchema } from './schema-C4F2K9cm.js';
5
5
  import { z } from 'zod';
6
6
  import { c as ParticipantSession, a as PageQuery, f as exchangeSchema } from './pages-KYK1L60W.js';
7
7
  import { a6 as referralAcceptSchema, c as LeaderboardQuery, G as engagementPageQuerySchema, s as contentQualificationQuerySchema, i as contentAdmissionQuerySchema, k as contentEnrollmentInputSchema, u as contentReleaseInputSchema } from './referrals-KQfP4pBf.js';
8
- import { F as profileUpdateSchema, c as ProfileCompletionQuery } from './profiles-BtOXMGcC.js';
9
- import { x as walletAddressInputSchema, M as walletSignatureSchema, L as LinkedWallet, f as WalletSigner } from './wallet-BtiG0Xhr.js';
8
+ import { F as profileUpdateSchema, c as ProfileCompletionQuery } from './profiles-md0g5fjx.js';
9
+ import { y as walletAddressInputSchema, N as walletSignatureSchema, L as LinkedWallet, f as WalletSigner } from './wallet-CYK5E2wj.js';
10
10
 
11
11
  /** What happened, as in every Domino client error (see `RequestError`). */
12
12
  type RelayErrorKind = RequestErrorKind;
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { i as TrackerDataSchema } from './trackers-7lxSWp2g.js';
2
+ import { i as TrackerDataSchema } from './trackers-Cg2MzFEf.js';
3
3
 
4
4
  /**
5
5
  * The canonical name of a named IANA timezone, or null for an unknown name or a fixed offset.
@@ -96,8 +96,8 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
96
96
  id?: string | undefined;
97
97
  }>>>>;
98
98
  supportedInteractions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
99
- url: "url";
100
99
  text: "text";
100
+ url: "url";
101
101
  automatic: "automatic";
102
102
  claim: "claim";
103
103
  staff: "staff";
@@ -117,10 +117,10 @@ declare const projectCatalogArtifactSchema: z.ZodObject<{
117
117
  kind: z.ZodLiteral<"custom">;
118
118
  namespace: z.ZodString;
119
119
  identities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
120
- x: "x";
121
- discord: "discord";
122
120
  member: "member";
123
121
  wallet: "wallet";
122
+ x: "x";
123
+ discord: "discord";
124
124
  }>>>;
125
125
  accounts: z.ZodOptional<z.ZodArray<z.ZodString>>;
126
126
  authors: z.ZodOptional<z.ZodLiteral<"wallet">>;
@@ -608,8 +608,8 @@ declare const projectDeploymentSchema: z.ZodObject<{
608
608
  id?: string | undefined;
609
609
  }>>>>;
610
610
  supportedInteractions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
611
- url: "url";
612
611
  text: "text";
612
+ url: "url";
613
613
  automatic: "automatic";
614
614
  claim: "claim";
615
615
  staff: "staff";
@@ -629,10 +629,10 @@ declare const projectDeploymentSchema: z.ZodObject<{
629
629
  kind: z.ZodLiteral<"custom">;
630
630
  namespace: z.ZodString;
631
631
  identities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
632
- x: "x";
633
- discord: "discord";
634
632
  member: "member";
635
633
  wallet: "wallet";
634
+ x: "x";
635
+ discord: "discord";
636
636
  }>>>;
637
637
  accounts: z.ZodOptional<z.ZodArray<z.ZodString>>;
638
638
  authors: z.ZodOptional<z.ZodLiteral<"wallet">>;
@@ -1280,10 +1280,10 @@ declare const deploymentPreviewSchema: z.ZodObject<{
1280
1280
  kind: z.ZodLiteral<"custom">;
1281
1281
  namespace: z.ZodString;
1282
1282
  identities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1283
- x: "x";
1284
- discord: "discord";
1285
1283
  member: "member";
1286
1284
  wallet: "wallet";
1285
+ x: "x";
1286
+ discord: "discord";
1287
1287
  }>>>;
1288
1288
  accounts: z.ZodOptional<z.ZodArray<z.ZodString>>;
1289
1289
  authors: z.ZodOptional<z.ZodLiteral<"wallet">>;
@@ -2279,8 +2279,8 @@ declare const deploymentPreviewSchema: z.ZodObject<{
2279
2279
  quests: z.ZodArray<z.ZodString>;
2280
2280
  }, z.core.$strict>>;
2281
2281
  supportedInteractions: z.ZodArray<z.ZodEnum<{
2282
- url: "url";
2283
2282
  text: "text";
2283
+ url: "url";
2284
2284
  automatic: "automatic";
2285
2285
  claim: "claim";
2286
2286
  staff: "staff";
@@ -2839,10 +2839,10 @@ declare const deploymentResultSchema: z.ZodObject<{
2839
2839
  kind: z.ZodLiteral<"custom">;
2840
2840
  namespace: z.ZodString;
2841
2841
  identities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2842
- x: "x";
2843
- discord: "discord";
2844
2842
  member: "member";
2845
2843
  wallet: "wallet";
2844
+ x: "x";
2845
+ discord: "discord";
2846
2846
  }>>>;
2847
2847
  accounts: z.ZodOptional<z.ZodArray<z.ZodString>>;
2848
2848
  authors: z.ZodOptional<z.ZodLiteral<"wallet">>;
@@ -3838,8 +3838,8 @@ declare const deploymentResultSchema: z.ZodObject<{
3838
3838
  quests: z.ZodArray<z.ZodString>;
3839
3839
  }, z.core.$strict>>;
3840
3840
  supportedInteractions: z.ZodArray<z.ZodEnum<{
3841
- url: "url";
3842
3841
  text: "text";
3842
+ url: "url";
3843
3843
  automatic: "automatic";
3844
3844
  claim: "claim";
3845
3845
  staff: "staff";
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- export { C as ClaimSubmission, K as KnownRelayErrorCode, P as PhotoSubmission, a as ProgressObservation, b as ProgressObserver, Q as QuestActionResult, c as QuestController, d as QuestUpdatedError, e as QuizSubmission, R as RelayClient, f as RelayClientOptions, g as RelayError, h as RelayErrorCode, i as RelayErrorDetails, j as RelayErrorKind, k as RelayRequestOptions, S as SubmissionDraft, l as SubmissionStatus, m as SubmissionStore, V as ValueSubmission, n as createRelayClient, o as isRelayError } from './client-dfXT6hhq.js';
1
+ export { C as ClaimSubmission, K as KnownRelayErrorCode, P as PhotoSubmission, a as ProgressObservation, b as ProgressObserver, Q as QuestActionResult, c as QuestController, d as QuestUpdatedError, e as QuizSubmission, R as RelayClient, f as RelayClientOptions, g as RelayError, h as RelayErrorCode, i as RelayErrorDetails, j as RelayErrorKind, k as RelayRequestOptions, S as SubmissionDraft, l as SubmissionStatus, m as SubmissionStore, V as ValueSubmission, n as createRelayClient, o as isRelayError } from './client-DG9qAB4o.js';
2
2
  export { R as RequestError, a as RequestErrorDetails, b as RequestErrorKind, c as RequestRecovery, i as isRequestError } from './request-error-VnTiMXc3.js';
3
3
  export { f as formatUnits, p as parseUnits } from './units-CwgsPB_r.js';
4
- export { A as AccountConnection, a as AuthProvider, T as TextEvidence, b as TextOptions, U as UrlEvidence, c as UrlOptions, V as ValueEvidence } from './submission-input-CccwAl5Z.js';
4
+ export { A as AccountConnection, a as AuthProvider, T as TextEvidence, b as TextOptions, U as UrlEvidence, c as UrlOptions, V as ValueEvidence } from './submission-input-CkmBmSL1.js';
5
5
  export { E as ExchangeInput, M as MemberSummary, P as Page, a as PageQuery, b as ParticipantPrincipal, c as ParticipantSession, S as Session, s as sessionMember } from './pages-KYK1L60W.js';
6
6
  export { K as KnownPointEntryKind, P as PointBalance, a as PointBalances, b as PointEntry, c as PointEntryKind, d as PointHistoryPage, e as PointHistoryQuery, f as PointLedgerReference, Q as QuestInteraction, g as QuestRewardView, h as QuestView } from './catalog-CVXUHxiO.js';
7
7
  export { C as CollectionPass } from './collection-BGneJ6Bk.js';
8
8
  export { L as LeaderboardDefinition, a as LeaderboardPage, b as LeaderboardPlacement, c as LeaderboardQuery, R as ReferralDefinition } from './referrals-KQfP4pBf.js';
9
- export { A as AvatarProvider, O as OwnProfile, P as ProfileAvatar, a as ProfileCompletion, b as ProfileCompletionPage, c as ProfileCompletionQuery, d as ProfileReferral, e as ProfileSummary, f as ProfileUpdate, g as ProfileVisibility } from './profiles-BtOXMGcC.js';
9
+ export { A as AvatarProvider, O as OwnProfile, P as ProfileAvatar, a as ProfileCompletion, b as ProfileCompletionPage, c as ProfileCompletionQuery, d as ProfileReferral, e as ProfileSummary, f as ProfileUpdate, g as ProfileVisibility } from './profiles-md0g5fjx.js';
10
10
  export { Q as QuizContent, S as StreakProgress } from './streaks-CWyq8Px5.js';
11
11
  export { A as Attempt, E as Entitlement, M as MemberProgress, Q as QuestPresentation, a as QuestProfile, b as QuizEvidence, R as Reward, S as SubmissionEvidence, c as SubmitInput, T as TieredRewardReference } from './schema-C4F2K9cm.js';
12
- export { C as CosmosChain, a as CosmosNetwork, L as LinkedWallet, W as WalletAddressInput, b as WalletChain, c as WalletMessageChallenge, d as WalletSignInNetwork, e as WalletSignature, f as WalletSigner, g as WalletUnlinkInput } from './wallet-BtiG0Xhr.js';
12
+ export { C as CosmosChain, a as CosmosNetwork, L as LinkedWallet, W as WalletAddressInput, b as WalletChain, c as WalletMessageChallenge, d as WalletSignInNetwork, e as WalletSignature, f as WalletSigner, g as WalletUnlinkInput } from './wallet-CYK5E2wj.js';
13
13
  import 'zod';
@@ -2,8 +2,8 @@ import { f as PublishedRelease } from './schema-C4F2K9cm.js';
2
2
  export { i as identityIntegrationInputSchema, a as identityIntegrationSchema, b as identityIntegrationSecretSchema, p as participantExchangeSchema } from './identity-integration-CBR8l3ju.js';
3
3
  import { c as ImageFields, g as ImageRequest } from './images-CRxHUuG5.js';
4
4
  import { z } from 'zod';
5
- import { t as TrackerSource, i as TrackerDataSchema } from './trackers-7lxSWp2g.js';
6
- export { az as TrackerDataBudget, aA as schemaCheckedReader, aB as trackerDataBatchSteps, aC as trackerDataIssue, aD as trackerDataIssues, aE as trackerDataPathTypes, aF as trackerDataRecordSteps, aG as whereSchemaIssue } from './trackers-7lxSWp2g.js';
5
+ import { u as TrackerSource, i as TrackerDataSchema } from './trackers-Cg2MzFEf.js';
6
+ export { aA as TrackerDataBudget, aB as schemaCheckedReader, aC as trackerDataBatchSteps, aD as trackerDataIssue, aE as trackerDataIssues, aF as trackerDataPathTypes, aG as trackerDataRecordSteps, aH as whereSchemaIssue } from './trackers-Cg2MzFEf.js';
7
7
 
8
8
  /** Older releases did not record ownership. Preserve every value, including defaults. */
9
9
  declare function questConfiguration(release: PublishedRelease): {
package/dist/internal.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  participantExchangeSchema,
8
8
  questConfiguration,
9
9
  sequenceCursorSchema
10
- } from "./chunk-HWRBLM7E.js";
10
+ } from "./chunk-JZ74VJX4.js";
11
11
  import "./chunk-CYD6QMHU.js";
12
12
  import {
13
13
  sourceDataSchema,
@@ -3,13 +3,13 @@ import { ReactNode } from 'react';
3
3
  import { a6 as referralAcceptSchema, c as LeaderboardQuery, G as engagementPageQuerySchema, s as contentQualificationQuerySchema, i as contentAdmissionQuerySchema, k as contentEnrollmentInputSchema, u as contentReleaseInputSchema, b as LeaderboardPlacement, af as referralSummarySchema, a as LeaderboardPage } from '../referrals-KQfP4pBf.js';
4
4
  import { ao as submitSchema, x as contentPerformanceQuerySchema, T as TieredRewardReference } from '../schema-C4F2K9cm.js';
5
5
  import { a as PageQuery, f as exchangeSchema, P as Page, c as ParticipantSession, M as MemberSummary } from '../pages-KYK1L60W.js';
6
- import { x as walletAddressInputSchema, M as walletSignatureSchema, L as LinkedWallet, f as WalletSigner, d as WalletSignInNetwork } from '../wallet-BtiG0Xhr.js';
6
+ import { y as walletAddressInputSchema, N as walletSignatureSchema, L as LinkedWallet, f as WalletSigner, d as WalletSignInNetwork } from '../wallet-CYK5E2wj.js';
7
7
  import { h as QuestView, J as questExperienceSchema, e as PointHistoryQuery, c as PointEntryKind, a as PointBalances, b as PointEntry, f as PointLedgerReference } from '../catalog-CVXUHxiO.js';
8
- import { F as profileUpdateSchema, c as ProfileCompletionQuery, f as ProfileUpdate, e as ProfileSummary, a as ProfileCompletion, d as ProfileReferral } from '../profiles-BtOXMGcC.js';
8
+ import { F as profileUpdateSchema, c as ProfileCompletionQuery, f as ProfileUpdate, e as ProfileSummary, a as ProfileCompletion, d as ProfileReferral } from '../profiles-md0g5fjx.js';
9
9
  import * as zod from 'zod';
10
10
  import { z } from 'zod';
11
- import { g as RelayError, k as RelayRequestOptions, c as QuestController, a as ProgressObservation, b as ProgressObserver, P as PhotoSubmission, e as QuizSubmission, C as ClaimSubmission, V as ValueSubmission, S as SubmissionDraft } from '../client-dfXT6hhq.js';
12
- import { a as AuthProvider, A as AccountConnection } from '../submission-input-CccwAl5Z.js';
11
+ import { g as RelayError, k as RelayRequestOptions, c as QuestController, a as ProgressObservation, b as ProgressObserver, P as PhotoSubmission, e as QuizSubmission, C as ClaimSubmission, V as ValueSubmission, S as SubmissionDraft } from '../client-DG9qAB4o.js';
12
+ import { a as AuthProvider, A as AccountConnection } from '../submission-input-CkmBmSL1.js';
13
13
  import { createBrowserRelayClient, SignInMethods, CosmosChains, SignInOption, SignInUnavailable, SignInWallet, DiscoveredWallet } from '../browser.js';
14
14
  export { EmailSignInOption, OAuthSignInOption, SignInIcon, WalletSignInOption } from '../browser.js';
15
15
  import '../request-error-VnTiMXc3.js';
package/dist/schema.d.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  export { A as Attempt, C as ContentPerformanceSnapshot, D as Decision, E as Entitlement, d as MemberPage, M as MemberProgress, P as PhotoResult, e as PickupAvailability, f as PublishedRelease, g as QuestAvailability, h as QuestDescription, Q as QuestPresentation, a as QuestProfile, i as QuestSettingsInput, b as QuizEvidence, j as ReleaseInput, k as ReviewPage, R as Reward, l as Snapshot, S as SubmissionEvidence, c as SubmitInput, m as TextResult, n as TextReviewInput, o as TieredRewardDefinition, T as TieredRewardReference, p as artifactSchema, q as attemptSchema, r as batchReleaseSchema, s as beginHandoverSchema, t as completionRecordSchema, u as configurePickupSchema, v as confirmHandoverSchema, w as contentPerformancePageSchema, x as contentPerformanceQuerySchema, y as contentPerformanceSnapshotSchema, z as createStockItemSchema, B as decisionSchema, F as entitlementSchema, G as errorSchema, H as eventSchema, I as evidenceSchema, J as integrationRewardSchema, K as mediaUrlSchema, L as memberListSchema, N as memberPageSchema, O as memberProgressSchema, U as photoResultSchema, V as pickupAllocationSchema, W as pickupAvailabilitySchema, X as pickupCatalogSchema, Y as pickupPolicySchema, Z as pickupSelectionSchema, _ as pointsRewardSchema, $ as prerequisiteSchema, a0 as publishedReleaseSchema, a1 as questAvailabilitySchema, a2 as questDescriptionSchema, a3 as questPresentationSchema, a4 as questProfileSchema, a5 as questSettingsInputSchema, a6 as quizAnswersSchema, a7 as quizEvidenceSchema, a8 as releaseSchema, a9 as reservationSchema, aa as reviewItemSchema, ab as reviewListSchema, ac as reviewModeSchema, ad as reviewPageSchema, ae as rewardBundleSchema, af as rewardKey, ag as rewardSchema, ah as snapshotSchema, ai as staffDecisionSchema, aj as stockItemSchema, ak as stockSchema, al as storedQuestDescriptionSchema, am as storedReviewModeSchema, an as submissionEvidenceSchema, ao as submitSchema, ap as templateSchema, aq as textResultSchema, ar as textReviewInputSchema, as as tierRewardSchema, at as tieredRewardDefinitionSchema, au as tieredRewardReferenceSchema, av as triggerSchema } from './schema-C4F2K9cm.js';
2
- export { A as AccountConnection, a as AuthProvider, D as DiscordMember, T as TextEvidence, b as TextOptions, U as UrlEvidence, c as UrlOptions, V as ValueEvidence, d as accountConnectionSchema, e as authProviderSchema, f as discordMemberInputSchema, g as discordMemberSchema, h as discordMessageInputSchema, t as textEvidenceSchema, i as textOptionsSchema, u as urlEvidenceSchema, j as urlOptionsSchema, v as validateSubmissionValue, k as valueEvidenceSchema, x as xPostId } from './submission-input-CccwAl5Z.js';
2
+ export { A as AccountConnection, a as AuthProvider, D as DiscordMember, d as DiscordMessage, e as DiscordMessageData, f as DiscordMessageTextData, g as DiscordReactionData, h as DiscordReader, T as TextEvidence, b as TextOptions, U as UrlEvidence, c as UrlOptions, V as ValueEvidence, i as accountConnectionSchema, j as authProviderSchema, k as discordMemberInputSchema, l as discordMemberSchema, m as discordMessageDataSchema, n as discordMessageInputSchema, o as discordMessageSchema, p as discordMessageTextDataSchema, q as discordMessagesSourceSchema, r as discordReactionDataSchema, s as discordReactionsSourceSchema, t as textEvidenceSchema, u as textOptionsSchema, v as urlEvidenceSchema, w as urlOptionsSchema, x as validateSubmissionValue, y as valueEvidenceSchema, z as xPostId } from './submission-input-CkmBmSL1.js';
3
3
  export { E as ExchangeInput, M as MemberSummary, P as Page, a as PageQuery, b as ParticipantPrincipal, c as ParticipantSession, S as Session, d as authScopeSchema, e as exchangeResultSchema, f as exchangeSchema, m as memberSummarySchema, p as pageCursorSchema, g as pageQuerySchema, h as participantPrincipalSchema, i as participantSessionSchema, j as principalSchema, s as sessionMember, k as sessionSchema } from './pages-KYK1L60W.js';
4
- export { C as CalendarPeriod, D as DeploymentPreview, P as ProjectCalendar, a as ProjectCalendarInput, c as calendarPeriodSchema, b as canonicalTimeZone, d as deploymentPreviewSchema, e as deploymentResultSchema, p as projectCalendarDeclarationSchema, f as projectCalendarInputSchema, g as projectCalendarSchema, h as projectCatalogArtifactSchema, i as projectDeploymentSchema, j as publishDeploymentSchema, r as refuseStreakTimeZone, k as refuseWindowTimeZone, t as timeZoneNameSchema, l as timeZoneSchema } from './deployments-C9wkQ06n.js';
4
+ export { C as CalendarPeriod, D as DeploymentPreview, P as ProjectCalendar, a as ProjectCalendarInput, c as calendarPeriodSchema, b as canonicalTimeZone, d as deploymentPreviewSchema, e as deploymentResultSchema, p as projectCalendarDeclarationSchema, f as projectCalendarInputSchema, g as projectCalendarSchema, h as projectCatalogArtifactSchema, i as projectDeploymentSchema, j as publishDeploymentSchema, r as refuseStreakTimeZone, k as refuseWindowTimeZone, t as timeZoneNameSchema, l as timeZoneSchema } from './deployments-Ds34v0M8.js';
5
5
  export { K as KnownPointEntryKind, P as PointBalance, a as PointBalances, b as PointEntry, c as PointEntryKind, d as PointHistoryPage, e as PointHistoryQuery, i as PointLedger, f as PointLedgerReference, j as QuestCatalog, k as QuestDraft, l as QuestInstance, Q as QuestInteraction, g as QuestRewardView, h as QuestView, m as allocateQuestSchema, n as allocatedQuestSchema, o as catalogDeploymentPreviewSchema, p as catalogDeploymentSchema, q as collectionSlotDeclarationSchema, r as collectionSlotSchema, s as collectionViewSchema, t as createPointLedgerSchema, u as interactionSchema, v as pointBalanceSchema, w as pointBalancesSchema, x as pointEntrySchema, y as pointHistoryPageSchema, z as pointHistoryQuerySchema, A as pointLedgerDeclarationSchema, B as pointLedgerPropertiesSchema, C as pointLedgerReferenceSchema, D as pointLedgerSchema, E as publishQuestDraftSchema, F as questCatalogSchema, G as questCollectionSchema, H as questDraftChangesSchema, I as questDraftSchema, J as questExperienceSchema, L as questInstanceSchema, M as questInteraction, N as questPublicationPreviewSchema, O as questRewardViewSchema, R as questTypeVersionSchema, S as questViewSchema, T as saveQuestDraftSchema } from './catalog-CVXUHxiO.js';
6
6
  export { C as CollectionPass, c as collectionBeginSchema, a as collectionCodeSchema, b as collectionPassSchema, d as collectionPreviewSchema, e as collectionResolveSchema } from './collection-BGneJ6Bk.js';
7
- export { B as Budget, D as DiscordMessage, a as DiscordMessageData, b as DiscordMessageTextData, c as DiscordReactionData, I as IntegerSettings, d as IntegrationProvider, P as ProjectIntegration, R as ResourceOption, e as ResourceSource, S as Setting, f as SettingField, g as SettingsValues, X as XConnection, h as XPost, i as XProfile, j as XReader, k as budgetSchema, l as compatibleSettingKinds, m as completionKeySchema, n as completionPolicySchema, o as discordMessageDataSchema, p as discordMessageSchema, q as discordMessageTextDataSchema, r as discordMessagesSourceSchema, s as discordReactionDataSchema, t as discordReactionsSourceSchema, u as discordServerSchema, v as integrationProviderSchema, w as missingResourceSettings, x as parseSettings, y as projectIntegrationSchema, z as resourceOptionsSchema, A as resourceRequestSchema, C as resourceSourceSchema, E as settingFieldSchema, F as settingsFieldsSchema, G as settingsValuesSchema, H as xConnectionSchema, J as xIdSchema, K as xPostSchema, L as xProfileSchema, M as xRequestSchema } from './integrations-C1vB6Ry6.js';
7
+ export { B as Budget, C as CapabilityErrorCode, a as CapabilityFailure, I as IntegerSettings, b as IntegrationProvider, K as KnownCapabilityErrorCode, P as ProjectIntegration, R as ResourceOption, c as ResourceSource, S as Setting, d as SettingField, e as SettingsValues, X as XConnection, f as XPost, g as XProfile, h as XReader, i as budgetSchema, j as capabilityErrorCodes, k as capabilityFailureSchema, l as compatibleSettingKinds, m as completionKeySchema, n as completionPolicySchema, o as discordServerSchema, p as integrationProviderSchema, q as missingResourceSettings, r as parseSettings, s as projectIntegrationSchema, t as resourceOptionsSchema, u as resourceRequestSchema, v as resourceSourceSchema, w as settingFieldSchema, x as settingsFieldsSchema, y as settingsValuesSchema, z as xConnectionSchema, A as xIdSchema, D as xPostSchema, E as xProfileSchema, F as xRequestSchema } from './capability-error-DO6Q0Qwe.js';
8
8
  export { A as AdmittedContent, C as ContentMetric, d as ContentPerformancePolicy, e as ContentPolicy, E as EngagementBudget, f as EngagementDefinition, L as LeaderboardDefinition, a as LeaderboardPage, b as LeaderboardPlacement, c as LeaderboardQuery, R as ReferralDefinition, g as admittedContentSchema, h as contentAdmissionPageSchema, i as contentAdmissionQuerySchema, j as contentAdmissionSchema, k as contentEnrollmentInputSchema, l as contentEnrollmentSchema, m as contentMetricSchema, n as contentMetricsSchema, o as contentPerformancePolicySchema, p as contentPolicySchema, q as contentQualificationDecisionSchema, r as contentQualificationPageSchema, s as contentQualificationQuerySchema, t as contentQualificationSchema, u as contentReleaseInputSchema, v as engagementArtifactSchema, w as engagementBoundaryPageSchema, x as engagementBudgetSchema, y as engagementChangePreviewInputSchema, z as engagementChangePreviewSchema, B as engagementChangeSchema, D as engagementDefinitionSchema, F as engagementDeploymentEntrySchema, G as engagementPageQuerySchema, H as engagementPageSchema, I as engagementPublishSchema, J as engagementRuleSchema, K as engagementScoreInputSchema, M as engagementScoreSchema, N as engagementSettlementSchema, O as engagementVersionPageSchema, P as engagementVersionQuerySchema, Q as leaderboardArtifactSchema, S as leaderboardAuthoringSchema, T as leaderboardDefinitionSchema, U as leaderboardExclusionSchema, V as leaderboardGroupSchema, W as leaderboardPageSchema, X as leaderboardPlacementSchema, Y as leaderboardPreviewSchema, Z as leaderboardQuerySchema, _ as leaderboardRowSchema, $ as leaderboardWindowSchema, a0 as pointsAccountSchema, a1 as pointsEntrySchema, a2 as pointsMutationSchema, a3 as pointsResultSchema, a4 as publishedLeaderboardSchema, a5 as publishedReferralSchema, a6 as referralAcceptSchema, a7 as referralAccountSchema, a8 as referralArtifactSchema, a9 as referralAuthoringSchema, aa as referralControlSchema, ab as referralDefinitionSchema, ac as referralHistorySchema, ad as referralManagementSchema, ae as referralRelationshipSchema, af as referralSummarySchema } from './referrals-KQfP4pBf.js';
9
9
  export { I as ImageAssetArtifact, a as ImageComparison, b as ImageExtraction, c as ImageFields, d as ImageInspection, e as ImageReader, f as ImageReference, g as ImageRequest, h as ImageSightings, P as PublishedImage, i as imageAssetArtifactSchema, j as imageComparisonSchema, k as imageExtractionSchema, l as imageFieldSchema, m as imageFieldsSchema, n as imageInspectionSchema, o as imageReferenceSchema, p as imageRequestSchema, q as imageSightingsSchema, r as imageUploadRequestSchema, s as imageUploadsSchema, t as publishedImageSchema } from './images-CRxHUuG5.js';
10
- export { h as AVATAR_UPLOAD_LIMIT, A as AvatarProvider, M as ManagedProfile, O as OwnProfile, P as ProfileAvatar, a as ProfileCompletion, b as ProfileCompletionPage, c as ProfileCompletionQuery, i as ProfileDefaultProvider, j as ProfileDefaults, k as ProfileModeration, d as ProfileReferral, l as ProfileSettings, m as ProfileSettingsInput, e as ProfileSummary, f as ProfileUpdate, g as ProfileVisibility, n as avatarProviderSchema, o as avatarSeedSchema, p as avatarUploadTypes, q as displayNameSchema, r as managedProfileSchema, s as ownProfileSchema, t as profileAvatarSchema, u as profileCompletionPageSchema, v as profileCompletionQuerySchema, w as profileCompletionSchema, x as profileDefaultProviderSchema, y as profileDefaultsSchema, z as profileModerationSchema, B as profileReferralSchema, C as profileSettingsInputSchema, D as profileSettingsSchema, E as profileSummarySchema, F as profileUpdateSchema, G as profileVisibilitySchema } from './profiles-BtOXMGcC.js';
10
+ export { h as AVATAR_UPLOAD_LIMIT, A as AvatarProvider, M as ManagedProfile, O as OwnProfile, P as ProfileAvatar, a as ProfileCompletion, b as ProfileCompletionPage, c as ProfileCompletionQuery, i as ProfileDefaultProvider, j as ProfileDefaults, k as ProfileModeration, d as ProfileReferral, l as ProfileSettings, m as ProfileSettingsInput, e as ProfileSummary, f as ProfileUpdate, g as ProfileVisibility, n as avatarProviderSchema, o as avatarSeedSchema, p as avatarUploadTypes, q as displayNameSchema, r as managedProfileSchema, s as ownProfileSchema, t as profileAvatarSchema, u as profileCompletionPageSchema, v as profileCompletionQuerySchema, w as profileCompletionSchema, x as profileDefaultProviderSchema, y as profileDefaultsSchema, z as profileModerationSchema, B as profileReferralSchema, C as profileSettingsInputSchema, D as profileSettingsSchema, E as profileSummarySchema, F as profileUpdateSchema, G as profileVisibilitySchema } from './profiles-md0g5fjx.js';
11
11
  export { Q as QuizContent, a as StreakPolicy, S as StreakProgress, q as quizChoiceSchema, b as quizContentSchema, c as quizQuestionSchema, d as quizQuestionsSchema, s as streakPolicySchema, e as streakProgressSchema } from './streaks-CWyq8Px5.js';
12
12
  import { z } from 'zod';
13
- export { A as AccountRole, B as Bound, C as Condition, D as DataLeaves, I as IdentityKind, T as Tracker, a as TrackerAccount, b as TrackerAttribution, c as TrackerBound, d as TrackerCondition, e as TrackerContent, f as TrackerContentQuery, g as TrackerData, h as TrackerDataIssue, i as TrackerDataSchema, j as TrackerDefinition, k as TrackerOutcome, l as TrackerOutcomeQuery, m as TrackerPage, n as TrackerPreview, o as TrackerPreviewInput, p as TrackerQuery, q as TrackerReader, r as TrackerRecord, s as TrackerSkipCode, t as TrackerSource, u as TrackerSourceKind, v as TrackerStatus, w as TrackerTriggerContext, x as TrackerTriggerMode, y as TrackerTriggerPolicy, z as TrackerWhere, E as TypedTrackerRecord, W as Where, F as WhereSetting, G as WithRecordData, X as XTweet, H as accountRoleSchema, J as beneficiaryRole, K as customSourceSchema, L as defaultTriggerMode, M as identityKindSchema, N as publishedTrackerSchema, O as sourceIdentities, P as trackerAccountSchema, Q as trackerArtifactSchema, R as trackerAttributionSchema, S as trackerBoundSchema, U as trackerConditionSchema, V as trackerContentQuerySchema, Y as trackerContentReadSchema, Z as trackerContentSchema, _ as trackerControlSchema, $ as trackerDataMaxBranches, a0 as trackerDataMaxEntries, a1 as trackerDataSchemaSchema, a2 as trackerDefinitionSchema, a3 as trackerEvidenceSchema, a4 as trackerIngestResultSchema, a5 as trackerIngestSchema, a6 as trackerOutcomePageSchema, a7 as trackerOutcomeQuerySchema, a8 as trackerOutcomeRetrySchema, a9 as trackerOutcomeSchema, aa as trackerPageSchema, ab as trackerPreviewInputSchema, ac as trackerPreviewLimits, ad as trackerPreviewSchema, ae as trackerQuerySchema, af as trackerRecordInputSchema, ag as trackerRecordSchema, ah as trackerSkipCodes, ai as trackerSourceKinds, aj as trackerSourceSchema, ak as trackerStatusSchema, al as trackerSummarySchema, am as trackerTriggerContextSchema, an as trackerTriggerModeSchema, ao as trackerTriggerPolicySchema, ap as trackerTriggerRecordSchema, aq as trackerWhereSchema, ar as triggerMode, as as whereConditions, at as whereSettings, au as xAccountRoles, av as xContentBodySchema, aw as xSearchSourceSchema, ax as xTweetSchema } from './trackers-7lxSWp2g.js';
14
- export { C as CosmosChain, a as CosmosNetwork, E as EvmChainId, L as LinkedWallet, S as SolanaBalance, h as WALLETS_PER_CHAIN, W as WalletAddressInput, i as WalletBalance, j as WalletBalanceQuery, b as WalletChain, k as WalletConnection, c as WalletMessageChallenge, d as WalletSignInNetwork, e as WalletSignature, f as WalletSigner, g as WalletUnlinkInput, l as caip10, m as cosmosAddressSchema, n as cosmosChain, o as cosmosNetworkSchema, p as evmAddressSchema, q as evmChainIdSchema, r as isEvmChainId, s as linkedWalletSchema, t as solanaAddressSchema, u as solanaBalanceSchema, v as solanaMainnet, w as walletAddressInput, x as walletAddressInputSchema, y as walletBalanceSchema, z as walletChainSchema, A as walletChallengeInputSchema, B as walletChallengeSchema, D as walletConnectionSchema, F as walletMessageChallengeSchema, G as walletProofSchema, H as walletSignInFamilies, I as walletSignInNetwork, J as walletSignInNetworkSchema, K as walletSignInNetworksSchema, M as walletSignatureSchema, N as walletUnlinkInputSchema } from './wallet-BtiG0Xhr.js';
13
+ export { A as AccountRole, B as Bound, C as Condition, D as DataLeaves, I as IdentityKind, T as Tracker, a as TrackerAccount, b as TrackerAttribution, c as TrackerBound, d as TrackerCondition, e as TrackerContent, f as TrackerContentQuery, g as TrackerData, h as TrackerDataIssue, i as TrackerDataSchema, j as TrackerDefinition, k as TrackerOutcome, l as TrackerOutcomeQuery, m as TrackerPage, n as TrackerPreview, o as TrackerPreviewInput, p as TrackerQuery, q as TrackerReadQuery, r as TrackerReader, s as TrackerRecord, t as TrackerSkipCode, u as TrackerSource, v as TrackerSourceKind, w as TrackerStatus, x as TrackerTriggerContext, y as TrackerTriggerMode, z as TrackerTriggerPolicy, E as TrackerWhere, F as TypedTrackerRecord, W as Where, G as WhereSetting, H as WithRecordData, X as XTweet, J as accountRoleSchema, K as beneficiaryRole, L as customSourceSchema, M as defaultTriggerMode, N as identityKindSchema, O as publishedTrackerSchema, P as sourceIdentities, Q as trackerAccountSchema, R as trackerArtifactSchema, S as trackerAttributionSchema, U as trackerBoundSchema, V as trackerConditionSchema, Y as trackerContentQuerySchema, Z as trackerContentReadSchema, _ as trackerContentSchema, $ as trackerControlSchema, a0 as trackerDataMaxBranches, a1 as trackerDataMaxEntries, a2 as trackerDataSchemaSchema, a3 as trackerDefinitionSchema, a4 as trackerEvidenceSchema, a5 as trackerIngestResultSchema, a6 as trackerIngestSchema, a7 as trackerOutcomePageSchema, a8 as trackerOutcomeQuerySchema, a9 as trackerOutcomeRetrySchema, aa as trackerOutcomeSchema, ab as trackerPageSchema, ac as trackerPreviewInputSchema, ad as trackerPreviewLimits, ae as trackerPreviewSchema, af as trackerQuerySchema, ag as trackerRecordInputSchema, ah as trackerRecordSchema, ai as trackerSkipCodes, aj as trackerSourceKinds, ak as trackerSourceSchema, al as trackerStatusSchema, am as trackerSummarySchema, an as trackerTriggerContextSchema, ao as trackerTriggerModeSchema, ap as trackerTriggerPolicySchema, aq as trackerTriggerRecordSchema, ar as trackerWhereSchema, as as triggerMode, at as whereConditions, au as whereSettings, av as xAccountRoles, aw as xContentBodySchema, ax as xSearchSourceSchema, ay as xTweetSchema } from './trackers-Cg2MzFEf.js';
14
+ export { C as CosmosChain, a as CosmosNetwork, E as EvmChainId, L as LinkedWallet, S as SolanaBalance, h as WALLETS_PER_CHAIN, W as WalletAddressInput, i as WalletBalance, j as WalletBalanceQuery, b as WalletChain, k as WalletConnection, c as WalletMessageChallenge, l as WalletReader, d as WalletSignInNetwork, e as WalletSignature, f as WalletSigner, g as WalletUnlinkInput, m as caip10, n as cosmosAddressSchema, o as cosmosChain, p as cosmosNetworkSchema, q as evmAddressSchema, r as evmChainIdSchema, s as isEvmChainId, t as linkedWalletSchema, u as solanaAddressSchema, v as solanaBalanceSchema, w as solanaMainnet, x as walletAddressInput, y as walletAddressInputSchema, z as walletBalanceSchema, A as walletChainSchema, B as walletChallengeInputSchema, D as walletChallengeSchema, F as walletConnectionSchema, G as walletMessageChallengeSchema, H as walletProofSchema, I as walletSignInFamilies, J as walletSignInNetwork, K as walletSignInNetworkSchema, M as walletSignInNetworksSchema, N as walletSignatureSchema, O as walletUnlinkInputSchema } from './wallet-CYK5E2wj.js';
15
15
 
16
16
  declare const identifier: z.ZodString;
17
17
 
package/dist/schema.js CHANGED
@@ -4,7 +4,11 @@ import {
4
4
  projectCatalogArtifactSchema,
5
5
  projectDeploymentSchema,
6
6
  publishDeploymentSchema
7
- } from "./chunk-EJWDAF7I.js";
7
+ } from "./chunk-NH5ZBM6O.js";
8
+ import {
9
+ capabilityErrorCodes,
10
+ capabilityFailureSchema
11
+ } from "./chunk-MC6V6VMG.js";
8
12
  import {
9
13
  imageAssetArtifactSchema,
10
14
  imageComparisonSchema,
@@ -372,6 +376,8 @@ export {
372
376
  caip10,
373
377
  calendarPeriodSchema,
374
378
  canonicalTimeZone,
379
+ capabilityErrorCodes,
380
+ capabilityFailureSchema,
375
381
  catalogDeploymentPreviewSchema,
376
382
  catalogDeploymentSchema,
377
383
  collectionBeginSchema,
@@ -1,11 +1,11 @@
1
- import { i as TrackerDataSchema, p as TrackerQuery, Y as trackerContentReadSchema, _ as trackerControlSchema, a5 as trackerIngestSchema, l as TrackerOutcomeQuery, a8 as trackerOutcomeRetrySchema, o as TrackerPreviewInput } from '../trackers-7lxSWp2g.js';
1
+ import { i as TrackerDataSchema, p as TrackerQuery, Z as trackerContentReadSchema, $ as trackerControlSchema, a6 as trackerIngestSchema, l as TrackerOutcomeQuery, a9 as trackerOutcomeRetrySchema, o as TrackerPreviewInput } from '../trackers-Cg2MzFEf.js';
2
2
  import { x as contentPerformanceQuerySchema, u as configurePickupSchema, a5 as questSettingsInputSchema, ao as submitSchema, ai as staffDecisionSchema, s as beginHandoverSchema, v as confirmHandoverSchema, z as createStockItemSchema } from '../schema-C4F2K9cm.js';
3
3
  import { z } from 'zod';
4
- import { i as projectDeploymentSchema, j as publishDeploymentSchema, f as projectCalendarInputSchema } from '../deployments-C9wkQ06n.js';
4
+ import { i as projectDeploymentSchema, j as publishDeploymentSchema, f as projectCalendarInputSchema } from '../deployments-Ds34v0M8.js';
5
5
  import { D as pointLedgerSchema, p as catalogDeploymentSchema, T as saveQuestDraftSchema, E as publishQuestDraftSchema, t as createPointLedgerSchema, m as allocateQuestSchema } from '../catalog-CVXUHxiO.js';
6
6
  import { c as collectionBeginSchema } from '../collection-BGneJ6Bk.js';
7
7
  import { y as engagementChangePreviewInputSchema, B as engagementChangeSchema, P as engagementVersionQuerySchema, G as engagementPageQuerySchema, I as engagementPublishSchema, s as contentQualificationQuerySchema, i as contentAdmissionQuerySchema, k as contentEnrollmentInputSchema, u as contentReleaseInputSchema, a2 as pointsMutationSchema, aa as referralControlSchema, Z as leaderboardQuerySchema, U as leaderboardExclusionSchema, V as leaderboardGroupSchema } from '../referrals-KQfP4pBf.js';
8
- import { C as profileSettingsInputSchema, z as profileModerationSchema } from '../profiles-BtOXMGcC.js';
8
+ import { C as profileSettingsInputSchema, z as profileModerationSchema } from '../profiles-md0g5fjx.js';
9
9
  import { i as identityIntegrationInputSchema } from '../identity-integration-CBR8l3ju.js';
10
10
  import { R as RequestError, b as RequestErrorKind } from '../request-error-VnTiMXc3.js';
11
11
 
@@ -3,12 +3,13 @@ import {
3
3
  deploymentResultSchema,
4
4
  projectDeploymentSchema,
5
5
  publishDeploymentSchema
6
- } from "../chunk-EJWDAF7I.js";
6
+ } from "../chunk-NH5ZBM6O.js";
7
+ import "../chunk-MC6V6VMG.js";
7
8
  import {
8
9
  identityIntegrationInputSchema,
9
10
  identityIntegrationSchema,
10
11
  identityIntegrationSecretSchema
11
- } from "../chunk-HWRBLM7E.js";
12
+ } from "../chunk-JZ74VJX4.js";
12
13
  import {
13
14
  imageAssetArtifactSchema
14
15
  } from "../chunk-CYD6QMHU.js";
@@ -0,0 +1,167 @@
1
+ import { z } from 'zod';
2
+
3
+ /** A Discord message as `ctx.discord.message()` reads it, from the project's Discord server. */
4
+ declare const discordMessageSchema: z.ZodObject<{
5
+ guildId: z.ZodString;
6
+ channelId: z.ZodString;
7
+ messageId: z.ZodString;
8
+ userId: z.ZodString;
9
+ content: z.ZodNullable<z.ZodString>;
10
+ replyTo: z.ZodNullable<z.ZodString>;
11
+ publishedAt: z.ZodNumber;
12
+ }, z.core.$strict>;
13
+ type DiscordMessage = z.infer<typeof discordMessageSchema>;
14
+ /**
15
+ * Messages posted in the project's Discord server, written by the Discord gateway. The record's
16
+ * `author` is the message author's Discord account. Message text is stored only with `text: true`.
17
+ */
18
+ declare const discordMessagesSourceSchema: z.ZodObject<{
19
+ kind: z.ZodLiteral<"discord-messages">;
20
+ /** Store each message's text in `data.text`. Off unless set. */
21
+ text: z.ZodOptional<z.ZodBoolean>;
22
+ }, z.core.$strict>;
23
+ /**
24
+ * Reactions added in the project's Discord server, written by the Discord gateway. The record's
25
+ * `author` is the reactor's Discord account and its `messageAuthor` account is the message's
26
+ * author, when Discord could name it.
27
+ */
28
+ declare const discordReactionsSourceSchema: z.ZodObject<{
29
+ kind: z.ZodLiteral<"discord-reactions">;
30
+ }, z.core.$strict>;
31
+ /** The `data` of a `discord.messages()` record. IDs are Discord snowflakes. */
32
+ declare const discordMessageDataSchema: z.ZodObject<{
33
+ guildId: z.ZodString;
34
+ channelId: z.ZodString;
35
+ messageId: z.ZodString;
36
+ replyTo: z.ZodNullable<z.ZodString>;
37
+ publishedAt: z.ZodNumber;
38
+ }, z.core.$strip>;
39
+ type DiscordMessageData = z.infer<typeof discordMessageDataSchema>;
40
+ /**
41
+ * The `data` of a `discord.messages({ text: true })` record. `text` is null when the platform's
42
+ * bot does not receive message content.
43
+ */
44
+ declare const discordMessageTextDataSchema: z.ZodObject<{
45
+ guildId: z.ZodString;
46
+ channelId: z.ZodString;
47
+ messageId: z.ZodString;
48
+ replyTo: z.ZodNullable<z.ZodString>;
49
+ publishedAt: z.ZodNumber;
50
+ text: z.ZodNullable<z.ZodString>;
51
+ }, z.core.$strip>;
52
+ type DiscordMessageTextData = z.infer<typeof discordMessageTextDataSchema>;
53
+ /** The `data` of a `discord.reactions()` record. IDs are Discord snowflakes. */
54
+ declare const discordReactionDataSchema: z.ZodObject<{
55
+ guildId: z.ZodString;
56
+ channelId: z.ZodString;
57
+ messageId: z.ZodString;
58
+ emoji: z.ZodObject<{
59
+ id: z.ZodNullable<z.ZodString>;
60
+ name: z.ZodString;
61
+ }, z.core.$strip>;
62
+ reactorRoles: z.ZodArray<z.ZodString>;
63
+ messagePublishedAt: z.ZodNumber;
64
+ }, z.core.$strip>;
65
+ type DiscordReactionData = z.infer<typeof discordReactionDataSchema>;
66
+
67
+ declare const authProviderSchema: z.ZodEnum<{
68
+ google: "google";
69
+ apple: "apple";
70
+ x: "x";
71
+ discord: "discord";
72
+ }>;
73
+ type AuthProvider = z.infer<typeof authProviderSchema>;
74
+ declare const accountConnectionSchema: z.ZodObject<{
75
+ provider: z.ZodEnum<{
76
+ google: "google";
77
+ apple: "apple";
78
+ x: "x";
79
+ discord: "discord";
80
+ }>;
81
+ configured: z.ZodBoolean;
82
+ status: z.ZodEnum<{
83
+ disconnected: "disconnected";
84
+ connected: "connected";
85
+ reconnect: "reconnect";
86
+ }>;
87
+ subject: z.ZodNullable<z.ZodString>;
88
+ revision: z.ZodNumber;
89
+ }, z.core.$strip>;
90
+ type AccountConnection = z.infer<typeof accountConnectionSchema>;
91
+ declare const discordMemberInputSchema: z.ZodObject<{}, z.core.$strict>;
92
+ declare const discordMessageInputSchema: z.ZodObject<{
93
+ channelId: z.ZodString;
94
+ messageId: z.ZodString;
95
+ }, z.core.$strict>;
96
+ declare const discordMemberSchema: z.ZodObject<{
97
+ userId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
98
+ nickname: z.ZodDefault<z.ZodNullable<z.ZodString>>;
99
+ displayName: z.ZodDefault<z.ZodNullable<z.ZodString>>;
100
+ boostingSince: z.ZodDefault<z.ZodNullable<z.ZodString>>;
101
+ roles: z.ZodArray<z.ZodString>;
102
+ joinedAt: z.ZodNullable<z.ZodString>;
103
+ pending: z.ZodBoolean;
104
+ }, z.core.$strip>;
105
+ type DiscordMember = z.infer<typeof discordMemberSchema>;
106
+ /**
107
+ * Reads the project's connected Discord server for the member's linked Discord account. The
108
+ * account and the integration are pinned at the attempt's first Discord read: later links and
109
+ * unlinks do not change the attempt. Provider failures, and an integration that is not ready,
110
+ * throw `CapabilityError` with code `"provider-unavailable"`.
111
+ */
112
+ interface DiscordReader {
113
+ /** The member's server membership; null when they are not in the server or have not linked Discord. */
114
+ member(): Promise<DiscordMember | null>;
115
+ /**
116
+ * A message in the connected server; null when it does not exist. The bot reads it, so the
117
+ * member needs no linked Discord account. A channel outside the connected server, or one the
118
+ * bot cannot see, throws
119
+ * `CapabilityError` with code `"author-error"`.
120
+ */
121
+ message(input: {
122
+ channelId: string;
123
+ messageId: string;
124
+ }): Promise<DiscordMessage | null>;
125
+ }
126
+
127
+ declare const textOptionsSchema: z.ZodObject<{
128
+ required: z.ZodDefault<z.ZodBoolean>;
129
+ minLength: z.ZodDefault<z.ZodNumber>;
130
+ maxLength: z.ZodDefault<z.ZodNumber>;
131
+ }, z.core.$strict>;
132
+ declare const urlOptionsSchema: z.ZodObject<{
133
+ required: z.ZodDefault<z.ZodBoolean>;
134
+ allowedHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
135
+ }, z.core.$strict>;
136
+ type TextOptions = z.input<typeof textOptionsSchema>;
137
+ type UrlOptions = z.input<typeof urlOptionsSchema>;
138
+ declare const textEvidenceSchema: z.ZodObject<{
139
+ kind: z.ZodLiteral<"text">;
140
+ value: z.ZodString;
141
+ }, z.core.$strict>;
142
+ declare const urlEvidenceSchema: z.ZodObject<{
143
+ kind: z.ZodLiteral<"url">;
144
+ value: z.ZodString;
145
+ }, z.core.$strict>;
146
+ declare const valueEvidenceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
147
+ kind: z.ZodLiteral<"text">;
148
+ value: z.ZodString;
149
+ }, z.core.$strict>, z.ZodObject<{
150
+ kind: z.ZodLiteral<"url">;
151
+ value: z.ZodString;
152
+ }, z.core.$strict>], "kind">;
153
+ type TextEvidence = z.infer<typeof textEvidenceSchema>;
154
+ type UrlEvidence = z.infer<typeof urlEvidenceSchema>;
155
+ type ValueEvidence = z.infer<typeof valueEvidenceSchema>;
156
+ /** Validates a claim without fetching it or changing the captured value. */
157
+ declare function validateSubmissionValue(input: ValueEvidence, contract: {
158
+ input: "text";
159
+ constraints: z.output<typeof textOptionsSchema>;
160
+ } | {
161
+ input: "url";
162
+ constraints: z.output<typeof urlOptionsSchema>;
163
+ }): string | null;
164
+ /** Extract an ID only. The URL and its author name are untrusted claims. */
165
+ declare function xPostId(value: string): string | null;
166
+
167
+ export { type AccountConnection as A, type DiscordMember as D, type TextEvidence as T, type UrlEvidence as U, type ValueEvidence as V, type AuthProvider as a, type TextOptions as b, type UrlOptions as c, type DiscordMessage as d, type DiscordMessageData as e, type DiscordMessageTextData as f, type DiscordReactionData as g, type DiscordReader as h, accountConnectionSchema as i, authProviderSchema as j, discordMemberInputSchema as k, discordMemberSchema as l, discordMessageDataSchema as m, discordMessageInputSchema as n, discordMessageSchema as o, discordMessageTextDataSchema as p, discordMessagesSourceSchema as q, discordReactionDataSchema as r, discordReactionsSourceSchema as s, textEvidenceSchema as t, textOptionsSchema as u, urlEvidenceSchema as v, urlOptionsSchema as w, validateSubmissionValue as x, valueEvidenceSchema as y, xPostId as z };
@@ -1357,19 +1357,37 @@ declare const trackerPreviewSchema: z.ZodObject<{
1357
1357
  more: z.ZodBoolean;
1358
1358
  }, z.core.$strip>;
1359
1359
  type TrackerPreview = z.infer<typeof trackerPreviewSchema>;
1360
- /** Read-only capabilities in hosted quest evaluation; results are captured for replay. */
1360
+ /**
1361
+ * A tracker read inside an evaluation: the management query plus `asOf`, in epoch milliseconds.
1362
+ * Only records that occurred at or before `asOf` count, each as its latest observation Relay had
1363
+ * stored when the attempt first read a tracker. `asOf` defaults to `ctx.eligibleAt`; pass
1364
+ * `ctx.now` to read everything stored by then.
1365
+ */
1366
+ type TrackerReadQuery = TrackerQuery & {
1367
+ asOf?: number;
1368
+ };
1369
+ /**
1370
+ * Read-only capabilities in hosted quest evaluation; results are captured for replay. Every read
1371
+ * in one attempt sees the same stored observations: the attempt pins a snapshot watermark at its
1372
+ * first tracker read, so two reads cannot disagree and a retry reads what the first run read.
1373
+ * An unknown tracker, or a query the tracker cannot answer, throws `CapabilityError` with code
1374
+ * `"author-error"`.
1375
+ */
1361
1376
  type TrackerReader = {
1362
- /** Captures an X body and attribution to the evaluating member, with no live metrics. */
1377
+ /**
1378
+ * Captures an X body and attribution to the evaluating member, with no live metrics. Null when
1379
+ * the tracker has no such record or observation.
1380
+ */
1363
1381
  content(reference: string | {
1364
1382
  key: string;
1365
- }, query: TrackerContentQuery): Promise<TrackerContent>;
1383
+ }, query: TrackerContentQuery): Promise<TrackerContent | null>;
1366
1384
  /** A page of records; with a tracker handle, each record's `data` has the tracker's type. */
1367
1385
  records<T extends string | {
1368
1386
  key: string;
1369
- }>(reference: T, query?: TrackerQuery): Promise<TrackerPage<TrackerData<T>>>;
1387
+ }>(reference: T, query?: TrackerReadQuery): Promise<TrackerPage<TrackerData<T>>>;
1370
1388
  summary(reference: string | {
1371
1389
  key: string;
1372
- }, query?: TrackerQuery): Promise<z.infer<typeof trackerSummarySchema>>;
1390
+ }, query?: TrackerReadQuery): Promise<z.infer<typeof trackerSummarySchema>>;
1373
1391
  };
1374
1392
 
1375
- export { trackerDataMaxBranches as $, type AccountRole as A, type Bound as B, type Condition as C, type DataLeaves as D, type TypedTrackerRecord as E, type WhereSetting as F, type WithRecordData as G, accountRoleSchema as H, type IdentityKind as I, beneficiaryRole as J, customSourceSchema as K, defaultTriggerMode as L, identityKindSchema as M, publishedTrackerSchema as N, sourceIdentities as O, trackerAccountSchema as P, trackerArtifactSchema as Q, trackerAttributionSchema as R, trackerBoundSchema as S, type Tracker as T, trackerConditionSchema as U, trackerContentQuerySchema as V, type Where as W, type XTweet as X, trackerContentReadSchema as Y, trackerContentSchema as Z, trackerControlSchema as _, type TrackerAccount as a, trackerDataMaxEntries as a0, trackerDataSchemaSchema as a1, trackerDefinitionSchema as a2, trackerEvidenceSchema as a3, trackerIngestResultSchema as a4, trackerIngestSchema as a5, trackerOutcomePageSchema as a6, trackerOutcomeQuerySchema as a7, trackerOutcomeRetrySchema as a8, trackerOutcomeSchema as a9, schemaCheckedReader as aA, trackerDataBatchSteps as aB, trackerDataIssue as aC, trackerDataIssues as aD, trackerDataPathTypes as aE, trackerDataRecordSteps as aF, whereSchemaIssue as aG, trackerPageSchema as aa, trackerPreviewInputSchema as ab, trackerPreviewLimits as ac, trackerPreviewSchema as ad, trackerQuerySchema as ae, trackerRecordInputSchema as af, trackerRecordSchema as ag, trackerSkipCodes as ah, trackerSourceKinds as ai, trackerSourceSchema as aj, trackerStatusSchema as ak, trackerSummarySchema as al, trackerTriggerContextSchema as am, trackerTriggerModeSchema as an, trackerTriggerPolicySchema as ao, trackerTriggerRecordSchema as ap, trackerWhereSchema as aq, triggerMode as ar, whereConditions as as, whereSettings as at, xAccountRoles as au, xContentBodySchema as av, xSearchSourceSchema as aw, xTweetSchema as ax, trackerDataSchema as ay, type TrackerDataBudget as az, type TrackerAttribution as b, type TrackerBound as c, type TrackerCondition as d, type TrackerContent as e, type TrackerContentQuery as f, type TrackerData as g, type TrackerDataIssue as h, type TrackerDataSchema as i, type TrackerDefinition as j, type TrackerOutcome as k, type TrackerOutcomeQuery as l, type TrackerPage as m, type TrackerPreview as n, type TrackerPreviewInput as o, type TrackerQuery as p, type TrackerReader as q, type TrackerRecord as r, type TrackerSkipCode as s, type TrackerSource as t, type TrackerSourceKind as u, type TrackerStatus as v, type TrackerTriggerContext as w, type TrackerTriggerMode as x, type TrackerTriggerPolicy as y, type TrackerWhere as z };
1393
+ export { trackerControlSchema as $, type AccountRole as A, type Bound as B, type Condition as C, type DataLeaves as D, type TrackerWhere as E, type TypedTrackerRecord as F, type WhereSetting as G, type WithRecordData as H, type IdentityKind as I, accountRoleSchema as J, beneficiaryRole as K, customSourceSchema as L, defaultTriggerMode as M, identityKindSchema as N, publishedTrackerSchema as O, sourceIdentities as P, trackerAccountSchema as Q, trackerArtifactSchema as R, trackerAttributionSchema as S, type Tracker as T, trackerBoundSchema as U, trackerConditionSchema as V, type Where as W, type XTweet as X, trackerContentQuerySchema as Y, trackerContentReadSchema as Z, trackerContentSchema as _, type TrackerAccount as a, trackerDataMaxBranches as a0, trackerDataMaxEntries as a1, trackerDataSchemaSchema as a2, trackerDefinitionSchema as a3, trackerEvidenceSchema as a4, trackerIngestResultSchema as a5, trackerIngestSchema as a6, trackerOutcomePageSchema as a7, trackerOutcomeQuerySchema as a8, trackerOutcomeRetrySchema as a9, type TrackerDataBudget as aA, schemaCheckedReader as aB, trackerDataBatchSteps as aC, trackerDataIssue as aD, trackerDataIssues as aE, trackerDataPathTypes as aF, trackerDataRecordSteps as aG, whereSchemaIssue as aH, trackerOutcomeSchema as aa, trackerPageSchema as ab, trackerPreviewInputSchema as ac, trackerPreviewLimits as ad, trackerPreviewSchema as ae, trackerQuerySchema as af, trackerRecordInputSchema as ag, trackerRecordSchema as ah, trackerSkipCodes as ai, trackerSourceKinds as aj, trackerSourceSchema as ak, trackerStatusSchema as al, trackerSummarySchema as am, trackerTriggerContextSchema as an, trackerTriggerModeSchema as ao, trackerTriggerPolicySchema as ap, trackerTriggerRecordSchema as aq, trackerWhereSchema as ar, triggerMode as as, whereConditions as at, whereSettings as au, xAccountRoles as av, xContentBodySchema as aw, xSearchSourceSchema as ax, xTweetSchema as ay, trackerDataSchema as az, type TrackerAttribution as b, type TrackerBound as c, type TrackerCondition as d, type TrackerContent as e, type TrackerContentQuery as f, type TrackerData as g, type TrackerDataIssue as h, type TrackerDataSchema as i, type TrackerDefinition as j, type TrackerOutcome as k, type TrackerOutcomeQuery as l, type TrackerPage as m, type TrackerPreview as n, type TrackerPreviewInput as o, type TrackerQuery as p, type TrackerReadQuery as q, type TrackerReader as r, type TrackerRecord as s, type TrackerSkipCode as t, type TrackerSource as u, type TrackerSourceKind as v, type TrackerStatus as w, type TrackerTriggerContext as x, type TrackerTriggerMode as y, type TrackerTriggerPolicy as z };
@@ -227,5 +227,27 @@ declare const walletBalanceSchema: z.ZodObject<{
227
227
  observedAt: z.ZodNumber;
228
228
  }, z.core.$strict>;
229
229
  type WalletBalance = z.infer<typeof walletBalanceSchema>;
230
+ /**
231
+ * Reads the wallets the member has linked to this project. They are pinned once per attempt, at
232
+ * its first wallet read: later links and unlinks do not change the attempt. Every method resolves
233
+ * to `null` when the member has no linked wallet it can read, so a non-null list is never empty
234
+ * and a non-null balance covers at least one wallet. Provider failures throw `CapabilityError`
235
+ * with code `"provider-unavailable"`; they never read as a zero balance.
236
+ */
237
+ interface WalletReader {
238
+ /** The member's newest linked Solana wallet. */
239
+ connection(): Promise<WalletConnection | null>;
240
+ /** SOL held by the newest linked Solana wallet. */
241
+ solanaBalance(): Promise<SolanaBalance | null>;
242
+ /** Every wallet the member has linked to this project, newest first within each chain. */
243
+ list(): Promise<LinkedWallet[] | null>;
244
+ /**
245
+ * The native or token balance of the member's linked wallets on one chain: all wallets of that
246
+ * family, or `address`. Null when the member has no linked wallet of that family. A chain Relay
247
+ * does not read, a malformed token, and an `address` the member never linked throw
248
+ * `CapabilityError` with code `"author-error"`.
249
+ */
250
+ balance(query: WalletBalanceQuery): Promise<WalletBalance | null>;
251
+ }
230
252
 
231
- export { walletChallengeInputSchema as A, walletChallengeSchema as B, type CosmosChain as C, walletConnectionSchema as D, type EvmChainId as E, walletMessageChallengeSchema as F, walletProofSchema as G, walletSignInFamilies as H, walletSignInNetwork as I, walletSignInNetworkSchema as J, walletSignInNetworksSchema as K, type LinkedWallet as L, walletSignatureSchema as M, walletUnlinkInputSchema as N, type SolanaBalance as S, type WalletAddressInput as W, type CosmosNetwork as a, type WalletChain as b, type WalletMessageChallenge as c, type WalletSignInNetwork as d, type WalletSignature as e, type WalletSigner as f, type WalletUnlinkInput as g, WALLETS_PER_CHAIN as h, type WalletBalance as i, type WalletBalanceQuery as j, type WalletConnection as k, caip10 as l, cosmosAddressSchema as m, cosmosChain as n, cosmosNetworkSchema as o, evmAddressSchema as p, evmChainIdSchema as q, isEvmChainId as r, linkedWalletSchema as s, solanaAddressSchema as t, solanaBalanceSchema as u, solanaMainnet as v, walletAddressInput as w, walletAddressInputSchema as x, walletBalanceSchema as y, walletChainSchema as z };
253
+ export { walletChainSchema as A, walletChallengeInputSchema as B, type CosmosChain as C, walletChallengeSchema as D, type EvmChainId as E, walletConnectionSchema as F, walletMessageChallengeSchema as G, walletProofSchema as H, walletSignInFamilies as I, walletSignInNetwork as J, walletSignInNetworkSchema as K, type LinkedWallet as L, walletSignInNetworksSchema as M, walletSignatureSchema as N, walletUnlinkInputSchema as O, type SolanaBalance as S, type WalletAddressInput as W, type CosmosNetwork as a, type WalletChain as b, type WalletMessageChallenge as c, type WalletSignInNetwork as d, type WalletSignature as e, type WalletSigner as f, type WalletUnlinkInput as g, WALLETS_PER_CHAIN as h, type WalletBalance as i, type WalletBalanceQuery as j, type WalletConnection as k, type WalletReader as l, caip10 as m, cosmosAddressSchema as n, cosmosChain as o, cosmosNetworkSchema as p, evmAddressSchema as q, evmChainIdSchema as r, isEvmChainId as s, linkedWalletSchema as t, solanaAddressSchema as u, solanaBalanceSchema as v, solanaMainnet as w, walletAddressInput as x, walletAddressInputSchema as y, walletBalanceSchema as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@domino-sdk/relay",
3
- "version": "1.0.0-next.15",
3
+ "version": "1.0.0-next.16",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,83 +0,0 @@
1
- import { z } from 'zod';
2
-
3
- declare const authProviderSchema: z.ZodEnum<{
4
- google: "google";
5
- apple: "apple";
6
- x: "x";
7
- discord: "discord";
8
- }>;
9
- type AuthProvider = z.infer<typeof authProviderSchema>;
10
- declare const accountConnectionSchema: z.ZodObject<{
11
- provider: z.ZodEnum<{
12
- google: "google";
13
- apple: "apple";
14
- x: "x";
15
- discord: "discord";
16
- }>;
17
- configured: z.ZodBoolean;
18
- status: z.ZodEnum<{
19
- disconnected: "disconnected";
20
- connected: "connected";
21
- reconnect: "reconnect";
22
- }>;
23
- subject: z.ZodNullable<z.ZodString>;
24
- revision: z.ZodNumber;
25
- }, z.core.$strip>;
26
- type AccountConnection = z.infer<typeof accountConnectionSchema>;
27
- declare const discordMemberInputSchema: z.ZodObject<{}, z.core.$strict>;
28
- declare const discordMessageInputSchema: z.ZodObject<{
29
- channelId: z.ZodString;
30
- messageId: z.ZodString;
31
- }, z.core.$strict>;
32
- declare const discordMemberSchema: z.ZodObject<{
33
- userId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
34
- nickname: z.ZodDefault<z.ZodNullable<z.ZodString>>;
35
- displayName: z.ZodDefault<z.ZodNullable<z.ZodString>>;
36
- boostingSince: z.ZodDefault<z.ZodNullable<z.ZodString>>;
37
- roles: z.ZodArray<z.ZodString>;
38
- joinedAt: z.ZodNullable<z.ZodString>;
39
- pending: z.ZodBoolean;
40
- }, z.core.$strip>;
41
- type DiscordMember = z.infer<typeof discordMemberSchema>;
42
-
43
- declare const textOptionsSchema: z.ZodObject<{
44
- required: z.ZodDefault<z.ZodBoolean>;
45
- minLength: z.ZodDefault<z.ZodNumber>;
46
- maxLength: z.ZodDefault<z.ZodNumber>;
47
- }, z.core.$strict>;
48
- declare const urlOptionsSchema: z.ZodObject<{
49
- required: z.ZodDefault<z.ZodBoolean>;
50
- allowedHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
51
- }, z.core.$strict>;
52
- type TextOptions = z.input<typeof textOptionsSchema>;
53
- type UrlOptions = z.input<typeof urlOptionsSchema>;
54
- declare const textEvidenceSchema: z.ZodObject<{
55
- kind: z.ZodLiteral<"text">;
56
- value: z.ZodString;
57
- }, z.core.$strict>;
58
- declare const urlEvidenceSchema: z.ZodObject<{
59
- kind: z.ZodLiteral<"url">;
60
- value: z.ZodString;
61
- }, z.core.$strict>;
62
- declare const valueEvidenceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
63
- kind: z.ZodLiteral<"text">;
64
- value: z.ZodString;
65
- }, z.core.$strict>, z.ZodObject<{
66
- kind: z.ZodLiteral<"url">;
67
- value: z.ZodString;
68
- }, z.core.$strict>], "kind">;
69
- type TextEvidence = z.infer<typeof textEvidenceSchema>;
70
- type UrlEvidence = z.infer<typeof urlEvidenceSchema>;
71
- type ValueEvidence = z.infer<typeof valueEvidenceSchema>;
72
- /** Validates a claim without fetching it or changing the captured value. */
73
- declare function validateSubmissionValue(input: ValueEvidence, contract: {
74
- input: "text";
75
- constraints: z.output<typeof textOptionsSchema>;
76
- } | {
77
- input: "url";
78
- constraints: z.output<typeof urlOptionsSchema>;
79
- }): string | null;
80
- /** Extract an ID only. The URL and its author name are untrusted claims. */
81
- declare function xPostId(value: string): string | null;
82
-
83
- export { type AccountConnection as A, type DiscordMember as D, type TextEvidence as T, type UrlEvidence as U, type ValueEvidence as V, type AuthProvider as a, type TextOptions as b, type UrlOptions as c, accountConnectionSchema as d, authProviderSchema as e, discordMemberInputSchema as f, discordMemberSchema as g, discordMessageInputSchema as h, textOptionsSchema as i, urlOptionsSchema as j, valueEvidenceSchema as k, textEvidenceSchema as t, urlEvidenceSchema as u, validateSubmissionValue as v, xPostId as x };
File without changes
@@ -245,9 +245,9 @@ declare const profileModerationSchema: z.ZodObject<{
245
245
  type ProfileModeration = z.input<typeof profileModerationSchema>;
246
246
  /** A member's profile as operators see it: always, whatever the settings. */
247
247
  declare const managedProfileSchema: z.ZodObject<{
248
- displayName: z.ZodNullable<z.ZodString>;
249
248
  id: z.ZodString;
250
249
  name: z.ZodString;
250
+ displayName: z.ZodNullable<z.ZodString>;
251
251
  hidden: z.ZodBoolean;
252
252
  visibility: z.ZodEnum<{
253
253
  private: "private";