@domino-sdk/relay 1.60.0 → 1.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/CHANGELOG.md +175 -8
  2. package/README.md +3 -2
  3. package/dist/{schema-CwbRkmlr.d.ts → accounts-CCqCKCVx.d.ts} +3127 -1764
  4. package/dist/action-9Xl0StBg.d.ts +33 -0
  5. package/dist/{analytics-URV-mxjH.d.ts → analytics-BwAKLi7O.d.ts} +347 -3
  6. package/dist/{attempt-captures-W2dgzGqE.d.ts → attempt-captures-Cm-5G0PC.d.ts} +1 -1
  7. package/dist/authoring.d.ts +130 -42
  8. package/dist/authoring.js +105 -19
  9. package/dist/{automatic-outcomes-Cmou89IS.d.ts → automatic-outcomes-pAsOyIVp.d.ts} +5 -1
  10. package/dist/avatar.d.ts +1 -1
  11. package/dist/browser.d.ts +15 -11
  12. package/dist/browser.js +15 -11
  13. package/dist/{integrations-CmIkP1Gi.d.ts → capability-error-DFMwSuSf.d.ts} +160 -42
  14. package/dist/{pages-Bti7g5mX.d.ts → catalog--ZIlskAo.d.ts} +39 -561
  15. package/dist/{chunk-N3LJ6GFK.js → chunk-3KLC4AMA.js} +40 -11
  16. package/dist/{chunk-6ZG7WNYX.js → chunk-3PYYGFSB.js} +14 -2
  17. package/dist/{chunk-VWMIA2TT.js → chunk-5TEYFX6X.js} +2 -2
  18. package/dist/chunk-6WCIWXUV.js +31 -0
  19. package/dist/chunk-CICDIBOF.js +373 -0
  20. package/dist/{chunk-MHPKEVEW.js → chunk-CZFXGGEK.js} +5 -0
  21. package/dist/chunk-D26YNACF.js +320 -0
  22. package/dist/{chunk-KUPVQXUJ.js → chunk-E6IKQHTX.js} +2 -2
  23. package/dist/chunk-FWLQ5XCS.js +21 -0
  24. package/dist/{chunk-VVRQQRMQ.js → chunk-GKIFABGN.js} +150 -61
  25. package/dist/chunk-GTDW453U.js +522 -0
  26. package/dist/{chunk-Y2IGFLD2.js → chunk-HTZHBTIL.js} +69 -27
  27. package/dist/chunk-K2KS3JLY.js +188 -0
  28. package/dist/{chunk-GBSDAD3N.js → chunk-MK425RXJ.js} +3140 -3202
  29. package/dist/{chunk-YOAPPIWN.js → chunk-QYPMPWVX.js} +1 -1
  30. package/dist/chunk-UAKYDVT3.js +565 -0
  31. package/dist/{chunk-KWFY7L7X.js → chunk-UPQPUJOU.js} +36 -123
  32. package/dist/{chunk-2FHNY52R.js → chunk-UW5232GG.js} +65 -19
  33. package/dist/chunk-WSBYWVTZ.js +717 -0
  34. package/dist/{chunk-422J3QRW.js → chunk-XJFYAXET.js} +9 -8
  35. package/dist/{chunk-OTEUP2SG.js → chunk-XNKSSE32.js} +1 -1
  36. package/dist/{chunk-4OFH4BNX.js → chunk-Y322OTCH.js} +1 -1
  37. package/dist/{client-Cw1pB5sv.d.ts → client-B-hbHX30.d.ts} +109 -40
  38. package/dist/{deployments-DI-W7fBq.d.ts → deployments-M4OHn7G3.d.ts} +407 -18
  39. package/dist/identity-integration-3mX6b5iH.d.ts +1241 -0
  40. package/dist/index.d.ts +13 -11
  41. package/dist/index.js +14 -11
  42. package/dist/internal.d.ts +14 -12
  43. package/dist/internal.js +26 -14
  44. package/dist/{offers-CqXfMIxq.d.ts → offers-DhAtss4_.d.ts} +21 -4
  45. package/dist/pages-B8q8Y_dQ.d.ts +715 -0
  46. package/dist/{participant-activity-DHL8QYks.d.ts → participant-activity-D-Drp24G.d.ts} +16 -3
  47. package/dist/portal-proxy.d.ts +59 -2
  48. package/dist/portal-proxy.js +109 -23
  49. package/dist/react/index.d.ts +211 -27
  50. package/dist/react/index.js +286 -29
  51. package/dist/{action-DBzILFx9.d.ts → request-error-D_dUPLwo.d.ts} +1 -31
  52. package/dist/runtime/authoring.js +1 -1
  53. package/dist/runtime/chunks/Y4OAVXFR.js +1 -0
  54. package/dist/runtime/manifest.json +3 -3
  55. package/dist/runtime/schema.js +1 -1
  56. package/dist/schema.d.ts +154 -30
  57. package/dist/schema.js +128 -75
  58. package/dist/server/index.d.ts +14 -12
  59. package/dist/server/index.js +2189 -1631
  60. package/dist/sign-in-providers-BkjcDsFF.d.ts +39 -0
  61. package/dist/submission-input-DHGKhXfp.d.ts +342 -0
  62. package/dist/{telegram-browser-CTJh4Ro_.d.ts → telegram-browser-BCE7zdOb.d.ts} +49 -6
  63. package/dist/telegram.d.ts +64 -0
  64. package/dist/telegram.js +23 -0
  65. package/dist/testing.d.ts +112 -15
  66. package/dist/testing.js +321 -16
  67. package/dist/tracker-data-Hb1uQnk5.d.ts +1855 -0
  68. package/dist/{transport-B8Ss5lcz.d.ts → transport-DkhX2Cbs.d.ts} +5863 -2217
  69. package/dist/{wallet-DZWL7lJH.d.ts → wallet-DTO7SXj7.d.ts} +27 -7
  70. package/package.json +5 -1
  71. package/dist/accounts-DoabriBX.d.ts +0 -306
  72. package/dist/capability-error-DufwG3G0.d.ts +0 -159
  73. package/dist/chunk-MJEJQH5A.js +0 -962
  74. package/dist/chunk-N7YOS4ZU.js +0 -13
  75. package/dist/chunk-XQKUJL7H.js +0 -602
  76. package/dist/chunk-YNW2ZUUP.js +0 -247
  77. package/dist/groups-9Jm3peq3.d.ts +0 -2827
  78. package/dist/runtime/chunks/ADUMK6CR.js +0 -1
  79. package/dist/submission-input-D9EGH_yb.d.ts +0 -146
  80. package/dist/x-KFJD2x8y.d.ts +0 -331
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  identifier
3
- } from "./chunk-GBSDAD3N.js";
3
+ } from "./chunk-MK425RXJ.js";
4
4
 
5
5
  // src/auth.ts
6
6
  import * as z from "zod";
@@ -42,22 +42,23 @@ var memberSummarySchema = z.object({
42
42
  avatarSeed: z.string().min(1).max(100),
43
43
  /**
44
44
  * The member's own email address for "signed in as": the first of `emails`, or null when they
45
- * have none, such as after wallet-only sign-in. Only the member reads it. Absent from a Relay
46
- * older than this field.
45
+ * have none, such as after wallet-only sign-in. Only the member reads it. Relay always sends
46
+ * it; the SDK reads one older than this field as null.
47
47
  */
48
- email: z.string().min(1).nullable().optional(),
48
+ email: z.string().min(1).nullable().default(null),
49
49
  /**
50
50
  * The verified email addresses that sign the member in: each email-code sign-in address, then
51
51
  * the verified email of each Google or Apple account enabled for sign-in. Accounts connected
52
- * only for activity are left out. Empty when there are none. Absent from a Relay older than
53
- * this field.
52
+ * only for activity are left out. Empty when there are none, and read as empty from a Relay
53
+ * older than this field.
54
54
  */
55
- emails: z.array(z.string().min(1)).optional(),
55
+ emails: z.array(z.string().min(1)).default([]),
56
56
  /**
57
57
  * The member's clock, which Relay judges their activity on. `now` is their current time in epoch
58
58
  * milliseconds and `offsetMs` how far it runs ahead of real time: a test member's clock moves
59
59
  * when the staging toolbar or `domino test-members advance` moves it, and every other member's
60
- * offset is 0. `memberTime()` keeps it ticking. Absent from a Relay older than this field.
60
+ * offset is 0. `memberTime()` keeps it ticking. Absent from a Relay older than this field;
61
+ * `relay.me.get()` then answers real time.
61
62
  */
62
63
  clock: z.object({
63
64
  now: z.number().int().nonnegative(),
@@ -8,7 +8,7 @@ import {
8
8
  rewardBundleSchema,
9
9
  settingsValuesSchema,
10
10
  trackerTriggerContextSchema
11
- } from "./chunk-GBSDAD3N.js";
11
+ } from "./chunk-MK425RXJ.js";
12
12
 
13
13
  // src/server/attempt-captures.ts
14
14
  import * as z from "zod";
@@ -2,7 +2,7 @@ import {
2
2
  RelayErrorCode,
3
3
  clientError,
4
4
  isRequestError
5
- } from "./chunk-GBSDAD3N.js";
5
+ } from "./chunk-K2KS3JLY.js";
6
6
 
7
7
  // src/action.ts
8
8
  function withActionId(value) {
@@ -1,12 +1,14 @@
1
- import { m as QuizEvidence, A as Attempt, M as MemberProgress, a as AttemptStatus, o as TrackerSkipCode, i as PointHistoryQuery, g as PointEntryKind, ao as submitSchema, ap as contentPerformanceQuerySchema } from './schema-CwbRkmlr.js';
2
- import { l as QuestView, m as ResponseSchema, c as PageQuery, e as QuestEnrollmentInput, Q as QuestClaimInput, i as QuestOutcomeQuery, q as questExperienceSchema, a as CreatorAccountProvider, n as RewardDeliveryQuery, o as RewardDeliveryAction, r as contentQualificationQuerySchema } from './pages-Bti7g5mX.js';
3
- import { M as MissingPrerequisite, V as ValueEvidence } from './submission-input-D9EGH_yb.js';
4
- import { a as RequestError, b as RequestErrorDetails, c as RequestErrorKind, e as createRelayAction, O as OptionalActionId } from './action-DBzILFx9.js';
5
- import { b as ParticipantSession, e as exchangeSchema, R as RelayEvent, P as ParticipantActivity } from './participant-activity-DHL8QYks.js';
1
+ import { G as QuizEvidence, a as Attempt, s as MemberProgress, ak as referralAcceptSchema, q as LeaderboardQuery, b as AttemptStatus, V as AttemptCodeSource, f as CampaignEnrollmentInput, h as CampaignWithdrawalInput, J as SignInProvider, c as AuthProvider, I as SignInAccountStatus, x as PointHistoryQuery, v as PointEntryKind, n as LeaderboardHistoryQuery, al as submitSchema, am as engagementPageQuerySchema, an as contentPerformanceQuerySchema } from './accounts-CCqCKCVx.js';
2
+ import { q as ResponseSchema, i as PageQuery, k as QuestEnrollmentInput, Q as QuestClaimInput, n as QuestOutcomeQuery, M as MemberConsent, a as ConsentInput, e as CreatorAccountProvider, r as RewardDeliveryQuery, s as RewardDeliveryAction, t as contentQualificationQuerySchema } from './pages-B8q8Y_dQ.js';
3
+ import { M as MissingPrerequisite, V as ValueEvidence } from './submission-input-DHGKhXfp.js';
4
+ import { R as RequestError, a as RequestErrorDetails, b as RequestErrorKind } from './request-error-D_dUPLwo.js';
5
+ import { b as QuestView, q as questExperienceSchema } from './catalog--ZIlskAo.js';
6
+ import { T as TrackerSkipCode } from './tracker-data-Hb1uQnk5.js';
7
+ import { b as ParticipantSession, e as exchangeSchema, R as RelayEvent, P as ParticipantActivity, M as MemberSummary } from './participant-activity-D-Drp24G.js';
6
8
  import * as z from 'zod';
7
- import { a as AuthProvider } from './accounts-DoabriBX.js';
8
- import { p as referralAcceptSchema, i as LeaderboardQuery, b as CampaignEnrollmentInput, d as CampaignWithdrawalInput, f as LeaderboardHistoryQuery, q as engagementPageQuerySchema } from './groups-9Jm3peq3.js';
9
- import { ag as profileUpdateSchema, d as ProfileCompletionQuery, ah as walletAddressInputSchema, ai as walletSignatureSchema, L as LinkedWallet, m as WalletSigner } from './wallet-DZWL7lJH.js';
9
+ import { c as createRelayAction, O as OptionalActionId } from './action-9Xl0StBg.js';
10
+ import { A as AuthProviders } from './sign-in-providers-BkjcDsFF.js';
11
+ import { ag as profileUpdateSchema, d as ProfileCompletionQuery, ah as walletAddressInputSchema, ai as walletSignatureSchema, L as LinkedWallet, m as WalletSigner } from './wallet-DTO7SXj7.js';
10
12
 
11
13
  /** What happened, as in every Domino client error (see `RequestError`). */
12
14
  type RelayErrorKind = RequestErrorKind;
@@ -336,12 +338,12 @@ type RelayClientOptions = {
336
338
  };
337
339
  /**
338
340
  * What `auth.start` takes: the provider, and whether to sign in (or sign up) or link it to the
339
- * signed-in member.
341
+ * signed-in member. `provider` is any of `providers().signInProviders`, Telegram included.
340
342
  *
341
343
  * @compat input
342
344
  */
343
345
  type AuthStartInput = {
344
- provider: AuthProvider;
346
+ provider: SignInProvider;
345
347
  mode: "sign-in" | "connect";
346
348
  };
347
349
  /**
@@ -1175,6 +1177,11 @@ declare function relayClient(options: RelayClientOptions): {
1175
1177
  }[]>;
1176
1178
  };
1177
1179
  badges: {
1180
+ /**
1181
+ * The project's active badge catalog, as an array.
1182
+ *
1183
+ * @deprecated Use `catalog`, which answers `{ items }` like `me.badges`. Removed in 2.0.0.
1184
+ */
1178
1185
  list: (options?: RelayRequestOptions) => Promise<{
1179
1186
  name: string;
1180
1187
  description: string;
@@ -1182,6 +1189,19 @@ declare function relayClient(options: RelayClientOptions): {
1182
1189
  id: string;
1183
1190
  key: string | null;
1184
1191
  }[]>;
1192
+ /**
1193
+ * The project's active badge catalog, oldest definition first, in `items`. Archived badges
1194
+ * are left out. Open to signed-out visitors.
1195
+ */
1196
+ catalog: (options?: RelayRequestOptions) => Promise<{
1197
+ items: {
1198
+ name: string;
1199
+ description: string;
1200
+ image: string;
1201
+ id: string;
1202
+ key: string | null;
1203
+ }[];
1204
+ }>;
1185
1205
  };
1186
1206
  pointLedgers: {
1187
1207
  /**
@@ -1237,6 +1257,7 @@ declare function relayClient(options: RelayClientOptions): {
1237
1257
  key?: string | undefined;
1238
1258
  group?: string | undefined;
1239
1259
  includeUnscored?: boolean | undefined;
1260
+ ties?: "shared" | "earliest" | undefined;
1240
1261
  settle?: {
1241
1262
  at: "window-end";
1242
1263
  ties: "shared" | "earliest";
@@ -1739,6 +1760,7 @@ declare function relayClient(options: RelayClientOptions): {
1739
1760
  kind: "once";
1740
1761
  } | {
1741
1762
  kind: "keyed";
1763
+ across?: "members" | undefined;
1742
1764
  };
1743
1765
  progress: {
1744
1766
  current: number;
@@ -1860,6 +1882,7 @@ declare function relayClient(options: RelayClientOptions): {
1860
1882
  };
1861
1883
  release?: string | undefined;
1862
1884
  } | undefined;
1885
+ codeSource?: AttemptCodeSource | null | undefined;
1863
1886
  } | null;
1864
1887
  release: string;
1865
1888
  interaction: "url" | "text" | "staff" | "claim" | "automatic" | "quiz" | "photo";
@@ -2086,6 +2109,7 @@ declare function relayClient(options: RelayClientOptions): {
2086
2109
  };
2087
2110
  release?: string | undefined;
2088
2111
  } | undefined;
2112
+ codeSource?: AttemptCodeSource | null | undefined;
2089
2113
  }>;
2090
2114
  experience: (requestOptions?: RelayRequestOptions) => Promise<{
2091
2115
  entitlements: ({
@@ -2427,6 +2451,7 @@ declare function relayClient(options: RelayClientOptions): {
2427
2451
  kind: "once";
2428
2452
  } | {
2429
2453
  kind: "keyed";
2454
+ across?: "members" | undefined;
2430
2455
  };
2431
2456
  progress: {
2432
2457
  current: number;
@@ -2548,6 +2573,7 @@ declare function relayClient(options: RelayClientOptions): {
2548
2573
  };
2549
2574
  release?: string | undefined;
2550
2575
  } | undefined;
2576
+ codeSource?: AttemptCodeSource | null | undefined;
2551
2577
  } | null;
2552
2578
  release: string;
2553
2579
  interaction: "url" | "text" | "staff" | "claim" | "automatic" | "quiz" | "photo";
@@ -2841,6 +2867,7 @@ declare function relayClient(options: RelayClientOptions): {
2841
2867
  kind: "once";
2842
2868
  } | {
2843
2869
  kind: "keyed";
2870
+ across?: "members" | undefined;
2844
2871
  };
2845
2872
  progress: {
2846
2873
  current: number;
@@ -2962,6 +2989,7 @@ declare function relayClient(options: RelayClientOptions): {
2962
2989
  };
2963
2990
  release?: string | undefined;
2964
2991
  } | undefined;
2992
+ codeSource?: AttemptCodeSource | null | undefined;
2965
2993
  } | null;
2966
2994
  release: string;
2967
2995
  interaction: "url" | "text" | "staff" | "claim" | "automatic" | "quiz" | "photo";
@@ -3261,6 +3289,7 @@ declare function relayClient(options: RelayClientOptions): {
3261
3289
  kind: "once";
3262
3290
  } | {
3263
3291
  kind: "keyed";
3292
+ across?: "members" | undefined;
3264
3293
  };
3265
3294
  progress: {
3266
3295
  current: number;
@@ -3382,6 +3411,7 @@ declare function relayClient(options: RelayClientOptions): {
3382
3411
  };
3383
3412
  release?: string | undefined;
3384
3413
  } | undefined;
3414
+ codeSource?: AttemptCodeSource | null | undefined;
3385
3415
  } | null;
3386
3416
  release: string;
3387
3417
  interaction: "url" | "text" | "staff" | "claim" | "automatic" | "quiz" | "photo";
@@ -3518,6 +3548,25 @@ declare function relayClient(options: RelayClientOptions): {
3518
3548
  withdrawalReason: string | null;
3519
3549
  }>;
3520
3550
  };
3551
+ /**
3552
+ * The signed-in member's marketing consent, per channel. The app shows the checkbox and sends
3553
+ * the wording beside it; Relay records the choice with its own time, and only members who
3554
+ * opted in reach the project's destinations.
3555
+ *
3556
+ * @experimental A minor release can change the consent API.
3557
+ */
3558
+ consent: {
3559
+ /**
3560
+ * The member's current consent on each channel they chose on. A channel missing from the
3561
+ * list has no record, which is not the same as withdrawn.
3562
+ */
3563
+ get: (requestOptions?: RelayRequestOptions) => Promise<MemberConsent[]>;
3564
+ /**
3565
+ * Grants (`granted: true`, with the `wording` the member saw) or withdraws one channel.
3566
+ * Repeating the current state and wording records nothing and answers the current state.
3567
+ */
3568
+ set: (value: OptionalActionId<ConsentInput>, requestOptions?: RelayRequestOptions) => Promise<MemberConsent>;
3569
+ };
3521
3570
  /** The signed-in member's linked Solana, EVM and Cosmos wallets for this project. */
3522
3571
  wallets: {
3523
3572
  list: (requestOptions?: RelayRequestOptions) => Promise<{
@@ -3564,19 +3613,7 @@ declare function relayClient(options: RelayClientOptions): {
3564
3613
  }>;
3565
3614
  };
3566
3615
  auth: {
3567
- providers: (requestOptions?: RelayRequestOptions) => Promise<{
3568
- providers: {
3569
- provider: "discord" | "google" | "apple" | "x";
3570
- configured: boolean;
3571
- }[];
3572
- email: boolean;
3573
- wallets: ("solana" | "eip155" | "cosmos")[];
3574
- demo: boolean;
3575
- telegram?: {
3576
- login: boolean;
3577
- miniApp: boolean;
3578
- } | undefined;
3579
- }>;
3616
+ providers: (requestOptions?: RelayRequestOptions) => Promise<AuthProviders>;
3580
3617
  start: {
3581
3618
  (start: AuthStartInput, requestOptions?: RelayRequestOptions): Promise<{
3582
3619
  url: string;
@@ -3653,17 +3690,24 @@ declare function relayClient(options: RelayClientOptions): {
3653
3690
  };
3654
3691
  /**
3655
3692
  * Telegram sign-in and the member's Telegram account. Telegram is not an `AuthProvider` in
3656
- * SDK 1.x, so `accounts()`, `start()` and `disconnect()` leave it out and these take its place.
3693
+ * SDK 1.x, so `accounts()` leaves it out; `signInAccounts()`, `start()` and `disconnect()`
3694
+ * take it like any other sign-in provider. Mini App sign-in is Telegram's own.
3657
3695
  */
3658
3696
  telegram: {
3659
3697
  /**
3660
3698
  * Leaves for Telegram Login when the platform configured it (`providers().telegram.login`):
3661
3699
  * `"sign-in"` signs in, or signs up; `"connect"` links Telegram to the signed-in member.
3700
+ *
3701
+ * @deprecated Use `auth.start({ provider: "telegram", mode })`. Removed in 2.0.0.
3662
3702
  */
3663
3703
  start: (mode: "sign-in" | "connect", requestOptions?: RelayRequestOptions) => Promise<{
3664
3704
  url: string;
3665
3705
  }>;
3666
- /** The member's Telegram account. */
3706
+ /**
3707
+ * The member's Telegram account.
3708
+ *
3709
+ * @deprecated Use the `"telegram"` entry of `auth.signInAccounts()`. Removed in 2.0.0.
3710
+ */
3667
3711
  account: (requestOptions?: RelayRequestOptions) => Promise<{
3668
3712
  configured: boolean;
3669
3713
  status: "disconnected" | "connected" | "reconnect";
@@ -3671,7 +3715,11 @@ declare function relayClient(options: RelayClientOptions): {
3671
3715
  revision: number;
3672
3716
  provider: "telegram";
3673
3717
  }>;
3674
- /** Unlinks the member's Telegram account, as `disconnect()` does for the other providers. */
3718
+ /**
3719
+ * Unlinks the member's Telegram account, as `disconnect()` does for the other providers.
3720
+ *
3721
+ * @deprecated Use `auth.disconnect("telegram")`. Removed in 2.0.0.
3722
+ */
3675
3723
  disconnect: (requestOptions?: RelayRequestOptions) => Promise<{
3676
3724
  ok: boolean;
3677
3725
  }>;
@@ -3680,6 +3728,9 @@ declare function relayClient(options: RelayClientOptions): {
3680
3728
  * (`providers().telegram.miniApp`). Pass the Mini App's signed launch data,
3681
3729
  * `telegramMiniAppInitData()`. Relay checks Telegram's signature for the project's bot and
3682
3730
  * accepts launch data at most five minutes old, once.
3731
+ *
3732
+ * @deprecated Use `relay.telegram.miniApp` from `@domino-sdk/relay/telegram`
3733
+ * (`withTelegram(relay)`). Removed in 2.0.0.
3683
3734
  */
3684
3735
  miniApp: {
3685
3736
  /** Signs in, or signs up, as the Telegram user who opened the Mini App. */
@@ -3742,7 +3793,7 @@ declare function relayClient(options: RelayClientOptions): {
3742
3793
  ok: boolean;
3743
3794
  }>;
3744
3795
  };
3745
- /** The member's connected sign-in accounts, one per provider. */
3796
+ /** The member's connected sign-in accounts, one per `AuthProvider`. */
3746
3797
  accounts: (requestOptions?: RelayRequestOptions) => Promise<{
3747
3798
  provider: "discord" | "google" | "apple" | "x";
3748
3799
  configured: boolean;
@@ -3750,7 +3801,19 @@ declare function relayClient(options: RelayClientOptions): {
3750
3801
  subject: string | null;
3751
3802
  revision: number;
3752
3803
  }[]>;
3753
- disconnect: (provider: AuthProvider, requestOptions?: RelayRequestOptions) => Promise<{
3804
+ /**
3805
+ * The member's account on every sign-in provider the platform has, one entry each, Telegram
3806
+ * included: `accounts()` with an open `provider`, as `providers().signInProviders` lists them.
3807
+ */
3808
+ signInAccounts: (requestOptions?: RelayRequestOptions) => Promise<{
3809
+ provider: SignInProvider;
3810
+ configured: boolean;
3811
+ status: SignInAccountStatus;
3812
+ subject: string | null;
3813
+ revision: number;
3814
+ }[]>;
3815
+ /** Unlinks the member's account on `provider`, any of `signInAccounts()`'s. */
3816
+ disconnect: (provider: SignInProvider, requestOptions?: RelayRequestOptions) => Promise<{
3754
3817
  ok: boolean;
3755
3818
  }>;
3756
3819
  session: (requestOptions?: RelayRequestOptions) => Promise<{
@@ -3775,7 +3838,13 @@ declare function relayClient(options: RelayClientOptions): {
3775
3838
  signOut: (requestOptions?: RelayRequestOptions) => Promise<{
3776
3839
  ok: boolean;
3777
3840
  }>;
3778
- /** Local development only. Existing hosted apps use createParticipantBackend from /portal-proxy. */
3841
+ /**
3842
+ * @deprecated `POST /v1/auth/exchange` refuses this body with 400: the route takes
3843
+ * `{ subject, accounts?, previousToken? }` with an identity integration server key as the
3844
+ * bearer, which a participant client does not hold. A server signs a user in with
3845
+ * `exchangeParticipant` from `@domino-sdk/relay/portal-proxy`; a hosted app proxies with
3846
+ * `createParticipantBackend` from the same entry. Removed in 2.0.0.
3847
+ */
3779
3848
  exchange: (value: z.input<typeof exchangeSchema>, requestOptions?: RelayRequestOptions) => Promise<{
3780
3849
  token: string;
3781
3850
  session: {
@@ -3811,6 +3880,12 @@ declare function relayClient(options: RelayClientOptions): {
3811
3880
  }[];
3812
3881
  }>;
3813
3882
  activity: {
3883
+ /**
3884
+ * One page of the signed-in member's activity feed, oldest event first. A feed never
3885
+ * ends: every page, even an empty one, answers a `nextCursor` to read from next, so a
3886
+ * loop such as `paginate` never finishes on its own. Stop when a page comes back empty
3887
+ * or after as many events as you need, or follow the feed with `observe`.
3888
+ */
3814
3889
  list: (query?: {
3815
3890
  cursor?: string;
3816
3891
  start?: "latest";
@@ -3899,16 +3974,7 @@ declare function relayClient(options: RelayClientOptions): {
3899
3974
  * The signed-in member, the seed of their generated avatar (`defaultAvatar(avatarSeed)`), and
3900
3975
  * their own verified sign-in email addresses: `email` (or null) and `emails`.
3901
3976
  */
3902
- get: (requestOptions?: RelayRequestOptions) => Promise<{
3903
- member: string;
3904
- avatarSeed: string;
3905
- email?: string | null | undefined;
3906
- emails?: string[] | undefined;
3907
- clock?: {
3908
- now: number;
3909
- offsetMs: number;
3910
- } | undefined;
3911
- }>;
3977
+ get: (requestOptions?: RelayRequestOptions) => Promise<MemberSummary>;
3912
3978
  observeProgress: (listener: (value: ProgressObservation) => void, observeOptions?: {
3913
3979
  intervalMs?: number;
3914
3980
  maxBackoffMs?: number;
@@ -4141,6 +4207,7 @@ declare function relayClient(options: RelayClientOptions): {
4141
4207
  kind: "once";
4142
4208
  } | {
4143
4209
  kind: "keyed";
4210
+ across?: "members" | undefined;
4144
4211
  };
4145
4212
  progress: {
4146
4213
  current: number;
@@ -4262,6 +4329,7 @@ declare function relayClient(options: RelayClientOptions): {
4262
4329
  };
4263
4330
  release?: string | undefined;
4264
4331
  } | undefined;
4332
+ codeSource?: AttemptCodeSource | null | undefined;
4265
4333
  } | null;
4266
4334
  key?: string | undefined;
4267
4335
  release?: string | undefined;
@@ -4534,7 +4602,7 @@ declare function relayClient(options: RelayClientOptions): {
4534
4602
  revokedAt?: number | null | undefined;
4535
4603
  reconciliation?: {
4536
4604
  status: "pending" | "removed" | "failed" | "preserved" | "granted";
4537
- ownership: "external" | "unclaimed" | "relay";
4605
+ ownership: "external" | "relay" | "unclaimed";
4538
4606
  at: number;
4539
4607
  reason: string | null;
4540
4608
  } | null | undefined;
@@ -4661,6 +4729,7 @@ declare function relayClient(options: RelayClientOptions): {
4661
4729
  };
4662
4730
  release?: string | undefined;
4663
4731
  } | undefined;
4732
+ codeSource?: AttemptCodeSource | null | undefined;
4664
4733
  }>;
4665
4734
  /** Uploads evidence with a generated key; reuse `actionId` and the same file to replay. */
4666
4735
  upload: (file: Blob, requestOptions?: RelayRequestOptions & {