@domino-sdk/relay 1.18.1 → 1.20.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.
@@ -3,7 +3,7 @@ import { j as QuestView, k as ResponseSchema, a as PageQuery, c as QuestEnrollme
3
3
  import { M as MissingPrerequisite, V as ValueEvidence } from './submission-input-BEJ9qENg.js';
4
4
  import { a as RequestError, b as RequestErrorDetails, c as RequestErrorKind, e as createRelayAction, O as OptionalActionId } from './action-DBzILFx9.js';
5
5
  import { f as QuizEvidence, A as Attempt, M as MemberProgress, a as AttemptStatus, h as TrackerSkipCode, cg as submitSchema, be as contentPerformanceQuerySchema } from './schema-Br3c1GOu.js';
6
- import { b as ParticipantSession, d as exchangeSchema, R as RelayEvent, P as ParticipantActivity } from './participant-activity-DYdUUhw2.js';
6
+ import { b as ParticipantSession, f as exchangeSchema, R as RelayEvent, P as ParticipantActivity } from './telegram-DALZ7GdF.js';
7
7
  import { z } from 'zod';
8
8
  import { a as AuthProvider } from './accounts-5ciAkCMP.js';
9
9
  import { F as profileUpdateSchema, c as ProfileCompletionQuery } from './profiles-D29SS12z.js';
@@ -3392,6 +3392,10 @@ declare function relayClient(options: RelayClientOptions): {
3392
3392
  email: boolean;
3393
3393
  wallets: ("solana" | "eip155" | "cosmos")[];
3394
3394
  demo: boolean;
3395
+ telegram?: {
3396
+ login: boolean;
3397
+ miniApp: boolean;
3398
+ } | undefined;
3395
3399
  }>;
3396
3400
  start: (provider: AuthProvider, mode: "sign-in" | "connect", requestOptions?: RelayRequestOptions) => Promise<{
3397
3401
  url: string;
@@ -3477,6 +3481,63 @@ declare function relayClient(options: RelayClientOptions): {
3477
3481
  environment: "test" | "live";
3478
3482
  }>;
3479
3483
  };
3484
+ /**
3485
+ * Telegram sign-in and the member's Telegram account. Telegram is not an `AuthProvider` in
3486
+ * SDK 1.x, so `accounts()`, `start()` and `disconnect()` leave it out and these take its place.
3487
+ */
3488
+ telegram: {
3489
+ /**
3490
+ * Leaves for Telegram Login when the platform configured it (`providers().telegram.login`):
3491
+ * `"sign-in"` signs in, or signs up; `"connect"` links Telegram to the signed-in member.
3492
+ */
3493
+ start: (mode: "sign-in" | "connect", requestOptions?: RelayRequestOptions) => Promise<{
3494
+ url: string;
3495
+ }>;
3496
+ /** The member's Telegram account. */
3497
+ account: (requestOptions?: RelayRequestOptions) => Promise<{
3498
+ configured: boolean;
3499
+ status: "disconnected" | "connected" | "reconnect";
3500
+ subject: string | null;
3501
+ revision: number;
3502
+ provider: "telegram";
3503
+ }>;
3504
+ /** Unlinks the member's Telegram account, as `disconnect()` does for the other providers. */
3505
+ disconnect: (requestOptions?: RelayRequestOptions) => Promise<{
3506
+ ok: boolean;
3507
+ }>;
3508
+ /**
3509
+ * Sign-in inside a Telegram Mini App, where the project enabled it in Console
3510
+ * (`providers().telegram.miniApp`). Pass the Mini App's signed launch data,
3511
+ * `telegramMiniAppInitData()`. Relay checks Telegram's signature for the project's bot and
3512
+ * accepts launch data at most five minutes old, once.
3513
+ */
3514
+ miniApp: {
3515
+ /** Signs in, or signs up, as the Telegram user who opened the Mini App. */
3516
+ signIn: (initData: string, requestOptions?: RelayRequestOptions) => Promise<{
3517
+ id: string;
3518
+ principal: {
3519
+ kind: "member";
3520
+ member: string;
3521
+ } | {
3522
+ kind: "staff";
3523
+ subject: string;
3524
+ } | {
3525
+ kind: "operator";
3526
+ subject: string;
3527
+ } | {
3528
+ kind: string;
3529
+ };
3530
+ expiresAt: number;
3531
+ organization: string;
3532
+ project: string;
3533
+ environment: "test" | "live";
3534
+ }>;
3535
+ /** Links the Telegram user who opened the Mini App to the signed-in member. */
3536
+ connect: (initData: string, requestOptions?: RelayRequestOptions) => Promise<{
3537
+ ok: boolean;
3538
+ }>;
3539
+ };
3540
+ };
3480
3541
  /** The member's connected sign-in accounts, one per provider. */
3481
3542
  accounts: (requestOptions?: RelayRequestOptions) => Promise<{
3482
3543
  provider: "discord" | "google" | "apple" | "x";
@@ -873,6 +873,19 @@ declare const projectDeploymentSchema: z.ZodObject<{
873
873
  settingRenames: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
874
874
  }, z.core.$strict>>>;
875
875
  }, z.core.$strict>;
876
+ /**
877
+ * Something the deployment publishes that won't work until the project is configured. Warnings
878
+ * never block publication. `integration-required`: the quests in `quests` (authoring keys) need the
879
+ * project's `integration` connection, and their attempts fail with `integration-required` until it
880
+ * is ready. Treat an unknown `code`, which a newer Relay can add, as a notice its `message` explains.
881
+ */
882
+ declare const deploymentWarningSchema: z.ZodObject<{
883
+ code: z.ZodString;
884
+ message: z.ZodString;
885
+ integration: z.ZodOptional<z.ZodString>;
886
+ quests: z.ZodDefault<z.ZodArray<z.ZodString>>;
887
+ }, z.core.$strip>;
888
+ type DeploymentWarning = z.infer<typeof deploymentWarningSchema>;
876
889
  declare const deploymentPreviewSchema: z.ZodObject<{
877
890
  id: z.ZodString;
878
891
  engagement: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -2366,6 +2379,12 @@ declare const deploymentPreviewSchema: z.ZodObject<{
2366
2379
  timeZone: z.ZodString;
2367
2380
  effectiveAt: z.ZodNullable<z.ZodNumber>;
2368
2381
  }, z.core.$strip>>>;
2382
+ warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
2383
+ code: z.ZodString;
2384
+ message: z.ZodString;
2385
+ integration: z.ZodOptional<z.ZodString>;
2386
+ quests: z.ZodDefault<z.ZodArray<z.ZodString>>;
2387
+ }, z.core.$strip>>>;
2369
2388
  }, z.core.$strip>;
2370
2389
  /**
2371
2390
  * The 1.0 body of `POST /deployments/publish`, with the deployment's ID.
@@ -3867,6 +3886,12 @@ declare const deploymentResultSchema: z.ZodObject<{
3867
3886
  timeZone: z.ZodString;
3868
3887
  effectiveAt: z.ZodNullable<z.ZodNumber>;
3869
3888
  }, z.core.$strip>>>;
3889
+ warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
3890
+ code: z.ZodString;
3891
+ message: z.ZodString;
3892
+ integration: z.ZodOptional<z.ZodString>;
3893
+ quests: z.ZodDefault<z.ZodArray<z.ZodString>>;
3894
+ }, z.core.$strip>>>;
3870
3895
  revision: z.ZodNumber;
3871
3896
  }, z.core.$strip>;
3872
3897
  declare const deploymentSourceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -5371,6 +5396,12 @@ declare const deploymentRecordSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5371
5396
  timeZone: z.ZodString;
5372
5397
  effectiveAt: z.ZodNullable<z.ZodNumber>;
5373
5398
  }, z.core.$strip>>>;
5399
+ warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
5400
+ code: z.ZodString;
5401
+ message: z.ZodString;
5402
+ integration: z.ZodOptional<z.ZodString>;
5403
+ quests: z.ZodDefault<z.ZodArray<z.ZodString>>;
5404
+ }, z.core.$strip>>>;
5374
5405
  status: z.ZodLiteral<"preview">;
5375
5406
  source: z.ZodDiscriminatedUnion<[z.ZodObject<{
5376
5407
  kind: z.ZodLiteral<"direct">;
@@ -6876,6 +6907,12 @@ declare const deploymentRecordSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6876
6907
  timeZone: z.ZodString;
6877
6908
  effectiveAt: z.ZodNullable<z.ZodNumber>;
6878
6909
  }, z.core.$strip>>>;
6910
+ warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
6911
+ code: z.ZodString;
6912
+ message: z.ZodString;
6913
+ integration: z.ZodOptional<z.ZodString>;
6914
+ quests: z.ZodDefault<z.ZodArray<z.ZodString>>;
6915
+ }, z.core.$strip>>>;
6879
6916
  status: z.ZodLiteral<"pending">;
6880
6917
  submittedAt: z.ZodNumber;
6881
6918
  submittedBy: z.ZodNullable<z.ZodString>;
@@ -8383,6 +8420,12 @@ declare const deploymentRecordSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
8383
8420
  timeZone: z.ZodString;
8384
8421
  effectiveAt: z.ZodNullable<z.ZodNumber>;
8385
8422
  }, z.core.$strip>>>;
8423
+ warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
8424
+ code: z.ZodString;
8425
+ message: z.ZodString;
8426
+ integration: z.ZodOptional<z.ZodString>;
8427
+ quests: z.ZodDefault<z.ZodArray<z.ZodString>>;
8428
+ }, z.core.$strip>>>;
8386
8429
  status: z.ZodLiteral<"rejected">;
8387
8430
  decidedAt: z.ZodNumber;
8388
8431
  decidedBy: z.ZodNullable<z.ZodString>;
@@ -9893,6 +9936,12 @@ declare const deploymentRecordSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
9893
9936
  timeZone: z.ZodString;
9894
9937
  effectiveAt: z.ZodNullable<z.ZodNumber>;
9895
9938
  }, z.core.$strip>>>;
9939
+ warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
9940
+ code: z.ZodString;
9941
+ message: z.ZodString;
9942
+ integration: z.ZodOptional<z.ZodString>;
9943
+ quests: z.ZodDefault<z.ZodArray<z.ZodString>>;
9944
+ }, z.core.$strip>>>;
9896
9945
  revision: z.ZodNumber;
9897
9946
  status: z.ZodLiteral<"published">;
9898
9947
  submittedAt: z.ZodNullable<z.ZodNumber>;
@@ -9956,4 +10005,4 @@ declare const rollbackDeploymentSchema: z.ZodObject<{
9956
10005
  type DeploymentPreview = z.infer<typeof deploymentPreviewSchema>;
9957
10006
  type DeploymentRecord = z.infer<typeof deploymentRecordSchema>;
9958
10007
 
9959
- export { type CalendarPeriod as C, type DeploymentPreview as D, type ProjectCalendar as P, type DeploymentRecord as a, type ProjectCalendarInput as b, activityTypeSchema as c, activityTypes as d, calendarPeriodSchema as e, canonicalTimeZone as f, deploymentActionSchema as g, deploymentPreviewSchema as h, deploymentRecordSchema as i, deploymentRejectionSchema as j, deploymentResultSchema as k, deploymentSourceSchema as l, projectCalendarInputSchema as m, projectCalendarSchema as n, projectCatalogArtifactSchema as o, projectCalendarDeclarationSchema as p, projectDeploymentSchema as q, promoteDeploymentSchema as r, publishDeploymentSchema as s, refuseStreakTimeZone as t, refuseWindowTimeZone as u, rejectDeploymentSchema as v, rollbackDeploymentSchema as w, submitDeploymentSchema as x, timeZoneNameSchema as y, timeZoneSchema as z };
10008
+ export { timeZoneNameSchema as A, timeZoneSchema as B, type CalendarPeriod as C, type DeploymentPreview as D, type ProjectCalendar as P, type DeploymentRecord as a, type DeploymentWarning as b, type ProjectCalendarInput as c, activityTypeSchema as d, activityTypes as e, calendarPeriodSchema as f, canonicalTimeZone as g, deploymentActionSchema as h, deploymentPreviewSchema as i, deploymentRecordSchema as j, deploymentRejectionSchema as k, deploymentResultSchema as l, deploymentSourceSchema as m, deploymentWarningSchema as n, projectCalendarInputSchema as o, projectCalendarDeclarationSchema as p, projectCalendarSchema as q, projectCatalogArtifactSchema as r, projectDeploymentSchema as s, promoteDeploymentSchema as t, publishDeploymentSchema as u, refuseStreakTimeZone as v, refuseWindowTimeZone as w, rejectDeploymentSchema as x, rollbackDeploymentSchema as y, submitDeploymentSchema as z };
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  export { B as Badge, M as ManagedBadge, a as MemberBadge, b as MemberBadges, O as Offer, c as OfferDefinition, d as OfferPrice, R as RedeemOfferInput, e as Redemption } from './offers-CPqiF3dZ.js';
2
2
  export { R as RelayAction, a as RequestError, b as RequestErrorDetails, c as RequestErrorKind, d as RequestRecovery, e as createRelayAction, i as isRequestError } from './action-DBzILFx9.js';
3
- 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, l as RelayResponseOptions, S as SubmissionDraft, m as SubmissionStatus, n as SubmissionStore, V as ValueSubmission, o as createRelayClient, p as isRelayError } from './client-93pUw04R.js';
3
+ 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, l as RelayResponseOptions, S as SubmissionDraft, m as SubmissionStatus, n as SubmissionStore, V as ValueSubmission, o as createRelayClient, p as isRelayError } from './client-DSlycgar.js';
4
4
  export { A as Attempt, a as AttemptStatus, E as Entitlement, b as EvaluatorProgress, K as KnownAttemptStatus, c as KnownTrackerSkipCode, M as MemberProgress, Q as QuestBudgetView, d as QuestPresentation, e as QuestProfile, f as QuizEvidence, R as Reward, S as SubmissionEvidence, g as SubmitInput, T as TieredRewardReference, h as TrackerSkipCode } from './schema-Br3c1GOu.js';
5
5
  export { f as formatUnits, p as parseUnits } from './units-CwgsPB_r.js';
6
6
  export { A as AccountConnection, a as AuthProvider } from './accounts-5ciAkCMP.js';
7
- export { E as ExchangeInput, M as MemberSummary, P as ParticipantActivity, a as ParticipantPrincipal, b as ParticipantSession, R as RelayEvent, S as Session, s as sessionMember } from './participant-activity-DYdUUhw2.js';
7
+ export { E as ExchangeInput, M as MemberSummary, P as ParticipantActivity, a as ParticipantPrincipal, b as ParticipantSession, R as RelayEvent, S as Session, T as TelegramAccountConnection, c as TelegramSignInMethods, s as sessionMember } from './telegram-DALZ7GdF.js';
8
8
  export { P as Page, a as PageQuery, Q as QuestClaimInput, b as QuestEnrollment, c as QuestEnrollmentInput, d as QuestInteraction, e as QuestOutcome, f as QuestOutcomePage, g as QuestOutcomeQuery, h as QuestOutcomeState, i as QuestRewardView, j as QuestView, R as ResponseResult, U as UnsupportedResponse } from './pages-1h1387a3.js';
9
9
  export { A as AvailabilityWindow, C as CampaignDefinition, a as CampaignEnrollment, b as CampaignEnrollmentInput, c as CampaignView, d as CampaignWithdrawalInput, K as KnownPointEntryKind, L as LeaderboardDefinition, e as LeaderboardPage, f as LeaderboardPlacement, g as LeaderboardQuery, M as MemberCampaignEnrollmentInput, h as MemberCampaignWithdrawalInput, P as PointBalance, i as PointBalances, j as PointEntry, k as PointEntryKind, l as PointHistoryPage, m as PointHistoryQuery, n as PointLedgerReference, o as ProjectGroup, p as ProjectGroupReference, R as ReferralDefinition } from './groups-jLLG7MML.js';
10
10
  export { A as AutomaticCatchUpPreview, a as AutomaticEvent, b as AutomaticOutcome, C as CollectionPass, c as CounterAchievement, d as CounterPolicy, e as CounterProgress } from './automatic-outcomes-BBSdMf0R.js';
package/dist/index.js CHANGED
@@ -5,18 +5,18 @@ import {
5
5
  import {
6
6
  QuestUpdatedError,
7
7
  createRelayClient
8
- } from "./chunk-YGWB6GH3.js";
8
+ } from "./chunk-OJOR6VEB.js";
9
9
  import {
10
10
  createRelayAction
11
11
  } from "./chunk-T47OFHHX.js";
12
12
  import {
13
13
  QuestOutcomeState
14
- } from "./chunk-IE4QOQUI.js";
14
+ } from "./chunk-5ZRDK4KQ.js";
15
15
  import {
16
16
  PointEntryKind
17
17
  } from "./chunk-XSLRNFIY.js";
18
18
  import "./chunk-5P5PTZ3T.js";
19
- import "./chunk-GTM3XNMQ.js";
19
+ import "./chunk-FEUMOQIM.js";
20
20
  import {
21
21
  sessionMember
22
22
  } from "./chunk-YXAK2637.js";
@@ -1,4 +1,4 @@
1
- export { I as IdentityKindClaim, M as ManagementTransportOptions, P as ParticipantRoute, R as REFERRAL_INTEGRATION_REWARD_ERROR, c as containsReferralIntegrationReward, i as identityIntegrationInputSchema, a as identityIntegrationSchema, b as identityIntegrationSecretSchema, d as identityKindClaimSchema, e as isIntegrationParticipantPath, f as isParticipantRoute, m as managementTransport, p as parseImageExtraction, g as parseImageResult, h as participantExchangeSchema, j as participantRoutePattern, k as participantRoutes, q as questConfiguration, s as sequenceCursorSchema, l as sourceDataSchema, n as sourceRoles, v as validateQuestShape } from './transport-CVac_nGZ.js';
1
+ export { I as IdentityKindClaim, M as ManagementTransportOptions, P as ParticipantRoute, R as REFERRAL_INTEGRATION_REWARD_ERROR, c as containsReferralIntegrationReward, i as identityIntegrationInputSchema, a as identityIntegrationSchema, b as identityIntegrationSecretSchema, d as identityKindClaimSchema, e as isIntegrationParticipantPath, f as isParticipantRoute, m as managementTransport, p as parseImageExtraction, g as parseImageResult, h as participantExchangeSchema, j as participantRoutePattern, k as participantRoutes, q as questConfiguration, s as sequenceCursorSchema, l as sourceDataSchema, n as sourceRoles, v as validateQuestShape } from './transport-DE2MMVjr.js';
2
2
  export { E as Extracted } from './images-BPiPqVKn.js';
3
3
  import { c as RequestErrorKind } from './action-DBzILFx9.js';
4
4
  export { i as TrackerDataBudget, s as schemaCheckedReader, t as trackerDataBatchSteps, j as trackerDataIssue, k as trackerDataIssues, l as trackerDataPathTypes, m as trackerDataRecordSteps, w as whereSchemaIssue } from './schema-Br3c1GOu.js';
@@ -9,7 +9,7 @@ import './groups-jLLG7MML.js';
9
9
  import './profiles-D29SS12z.js';
10
10
  import './automatic-outcomes-BBSdMf0R.js';
11
11
  import './attempt-captures-ByzZyggX.js';
12
- import './deployments-Cz-tNK7Z.js';
12
+ import './deployments-nNS4spO9.js';
13
13
 
14
14
  /** The management client's and the CLI's default deadline per call. */
15
15
  declare const MANAGEMENT_TIMEOUT = 30000;
package/dist/internal.js CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  participantExchangeSchema,
10
10
  questConfiguration,
11
11
  sequenceCursorSchema
12
- } from "./chunk-UEPEKXOC.js";
12
+ } from "./chunk-5TQ6452M.js";
13
13
  import {
14
14
  parseImageExtraction,
15
15
  parseImageResult
@@ -25,14 +25,14 @@ import {
25
25
  isParticipantRoute,
26
26
  participantRoutePattern,
27
27
  participantRoutes
28
- } from "./chunk-UIHPWC4C.js";
28
+ } from "./chunk-USVER53M.js";
29
29
  import {
30
30
  MANAGEMENT_TIMEOUT,
31
31
  lifetime,
32
32
  retryAfter,
33
33
  retrying
34
34
  } from "./chunk-5P5PTZ3T.js";
35
- import "./chunk-GTM3XNMQ.js";
35
+ import "./chunk-FEUMOQIM.js";
36
36
  import "./chunk-YXAK2637.js";
37
37
  import {
38
38
  schemaCheckedReader,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  isParticipantRoute
3
- } from "./chunk-UIHPWC4C.js";
3
+ } from "./chunk-USVER53M.js";
4
4
  import {
5
5
  clientIdentity
6
- } from "./chunk-GTM3XNMQ.js";
6
+ } from "./chunk-FEUMOQIM.js";
7
7
  import {
8
8
  exchangeResultSchema
9
9
  } from "./chunk-YXAK2637.js";
@@ -1,6 +1,7 @@
1
1
  import { B as Badge, b as MemberBadges, O as Offer, e as Redemption } from '../offers-CPqiF3dZ.js';
2
- import { b as ParticipantSession, R as RelayEvent, P as ParticipantActivity, M as MemberSummary } from '../participant-activity-DYdUUhw2.js';
3
- import { g as RelayError, R as RelayClient, S as SubmissionDraft } from '../client-93pUw04R.js';
2
+ import { b as ParticipantSession, R as RelayEvent, P as ParticipantActivity, M as MemberSummary } from '../telegram-DALZ7GdF.js';
3
+ export { T as TelegramAccountConnection, c as TelegramSignInMethods } from '../telegram-DALZ7GdF.js';
4
+ import { g as RelayError, R as RelayClient, S as SubmissionDraft } from '../client-DSlycgar.js';
4
5
  import { P as Page, y as collectionViewSchema, j as QuestView, g as QuestOutcomeQuery, e as QuestOutcome } from '../pages-1h1387a3.js';
5
6
  import * as react from 'react';
6
7
  import { ReactNode } from 'react';
@@ -8,8 +9,8 @@ import { J as JSONType } from '../util.d-w9f9t3ua.js';
8
9
  import { z } from 'zod';
9
10
  import { E as Entitlement, a as AttemptStatus, T as TieredRewardReference } from '../schema-Br3c1GOu.js';
10
11
  import { a as AuthProvider, A as AccountConnection } from '../accounts-5ciAkCMP.js';
11
- import { c as SignInMethods, C as CosmosChains, d as SignInOption, f as SignInUnavailable, g as SignInWallet, D as DiscoveredWallet } from '../sign-in-options--25uHySG.js';
12
- export { a as EmailSignInOption, O as OAuthSignInOption, b as SignInIcon, W as WalletSignInOption } from '../sign-in-options--25uHySG.js';
12
+ import { c as SignInMethods, C as CosmosChains, d as SignInOption, f as SignInUnavailable, T as TelegramSignInOption, g as SignInWallet, D as DiscoveredWallet } from '../telegram-browser-CGB01TaB.js';
13
+ export { a as EmailSignInOption, O as OAuthSignInOption, b as SignInIcon, W as WalletSignInOption, t as telegramMiniAppInitData } from '../telegram-browser-CGB01TaB.js';
13
14
  import { f as WalletSigner, d as WalletSignInNetwork, L as LinkedWallet } from '../wallet-CDyo-U4n.js';
14
15
  import { f as LeaderboardPlacement, b7 as referralSummarySchema, e as LeaderboardPage, i as PointBalances, j as PointEntry, n as PointLedgerReference } from '../groups-jLLG7MML.js';
15
16
  import { f as ProfileUpdate, e as ProfileSummary, a as ProfileCompletion, d as ProfileReferral } from '../profiles-D29SS12z.js';
@@ -1371,6 +1372,13 @@ declare function useSignIn(): {
1371
1372
  withProvider: (provider: OAuthProvider) => Promise<void>;
1372
1373
  /** Signs in, or signs up, with a wallet; the wallet asks the participant to sign a message. */
1373
1374
  withWallet: (signer: WalletSigner) => Promise<void>;
1375
+ /** Leaves for Telegram Login, where the platform configured it. */
1376
+ withTelegram: () => Promise<void>;
1377
+ /**
1378
+ * Signs in, or signs up, inside a Telegram Mini App the project enabled, with its launch data
1379
+ * (`telegramMiniAppInitData()`).
1380
+ */
1381
+ withTelegramMiniApp: (initData: string) => Promise<void>;
1374
1382
  };
1375
1383
  /**
1376
1384
  * Signs the participant out: `mutate()`, which never rejects, or `mutateAsync()`, which rejects
@@ -1406,6 +1414,8 @@ declare function useSignInOptions(input?: {
1406
1414
  }): {
1407
1415
  options: SignInOption[] | null;
1408
1416
  unavailable: SignInUnavailable[];
1417
+ /** Telegram Login, to render beside `options`; null when the platform did not configure it. */
1418
+ telegram: TelegramSignInOption | null;
1409
1419
  /** Why the project's methods could not be read; the options are then email alone. */
1410
1420
  methodsError: RelayError | null;
1411
1421
  /** True while a sign-in action runs. */
@@ -1500,6 +1510,79 @@ declare function useAccounts(): {
1500
1510
  error: RelayError | null;
1501
1511
  refresh(): Promise<void>;
1502
1512
  };
1513
+ /**
1514
+ * The signed-in participant's Telegram account in `data`. Telegram is not one of `useAccounts()`'s
1515
+ * providers in SDK 1.x, so it has this hook of its own, with the same behavior: `connect()` leaves
1516
+ * for Telegram Login, `connectMiniApp(initData)` links the user who opened a Telegram Mini App,
1517
+ * and a failure lands in `actionError`.
1518
+ */
1519
+ declare function useTelegramAccount(): {
1520
+ connect: () => Promise<boolean>;
1521
+ connectMiniApp: (initData: string) => Promise<boolean>;
1522
+ disconnect: () => Promise<boolean>;
1523
+ isPending: boolean;
1524
+ actionError: RelayError | null;
1525
+ resetAction: () => void;
1526
+ retry: () => Promise<boolean>;
1527
+ settle: () => boolean;
1528
+ /** True when the account can be used to verify quests right now. */
1529
+ isConnected: boolean;
1530
+ status: "loading";
1531
+ data: undefined;
1532
+ error: null;
1533
+ refresh(): Promise<void>;
1534
+ } | {
1535
+ connect: () => Promise<boolean>;
1536
+ connectMiniApp: (initData: string) => Promise<boolean>;
1537
+ disconnect: () => Promise<boolean>;
1538
+ isPending: boolean;
1539
+ actionError: RelayError | null;
1540
+ resetAction: () => void;
1541
+ retry: () => Promise<boolean>;
1542
+ settle: () => boolean;
1543
+ /** True when the account can be used to verify quests right now. */
1544
+ isConnected: boolean;
1545
+ status: "error";
1546
+ data: undefined;
1547
+ error: RelayError;
1548
+ refresh(): Promise<void>;
1549
+ } | {
1550
+ connect: () => Promise<boolean>;
1551
+ connectMiniApp: (initData: string) => Promise<boolean>;
1552
+ disconnect: () => Promise<boolean>;
1553
+ isPending: boolean;
1554
+ actionError: RelayError | null;
1555
+ resetAction: () => void;
1556
+ retry: () => Promise<boolean>;
1557
+ settle: () => boolean;
1558
+ /** True when the account can be used to verify quests right now. */
1559
+ isConnected: boolean;
1560
+ status: "signed-out";
1561
+ data: undefined;
1562
+ error: null;
1563
+ refresh(): Promise<void>;
1564
+ } | {
1565
+ connect: () => Promise<boolean>;
1566
+ connectMiniApp: (initData: string) => Promise<boolean>;
1567
+ disconnect: () => Promise<boolean>;
1568
+ isPending: boolean;
1569
+ actionError: RelayError | null;
1570
+ resetAction: () => void;
1571
+ retry: () => Promise<boolean>;
1572
+ settle: () => boolean;
1573
+ /** True when the account can be used to verify quests right now. */
1574
+ isConnected: boolean;
1575
+ status: "ready";
1576
+ data: {
1577
+ configured: boolean;
1578
+ status: "disconnected" | "connected" | "reconnect";
1579
+ subject: string | null;
1580
+ revision: number;
1581
+ provider: "telegram";
1582
+ };
1583
+ error: RelayError | null;
1584
+ refresh(): Promise<void>;
1585
+ };
1503
1586
 
1504
1587
  /**
1505
1588
  * The signed-in participant's linked Solana, EVM and Cosmos wallets, in `data`.
@@ -1864,4 +1947,4 @@ declare function usePointLedgers(): Query<PointLedgerReference[]>;
1864
1947
  */
1865
1948
  declare function useTieredRewards(): Query<TieredRewardReference[]>;
1866
1949
 
1867
- export { type Collection, CosmosChains, DiscoveredWallet, type ExperienceData, type Invitation, type KnownQuestStatusCode, type KnownRoleDeliveryStatus, type MemberPagedQuery, type MemberQuery, type MemberQueryOptions, type MemberSnapshot, type Mutation, type MutationContext, type MutationOptions, type MutationStatus, type OAuthProvider, Page, type PageLoader, type PageRead, type PagedQuery, type Query, type QueryContext, type QueryKey, type QueryOptions, type QueryRead, type QuerySnapshot, type QuestInput, type QuestNotice, type QuestStatus, type QuestStatusCode, type QuestStatusText, type QuestTone, type ReferralSummary, type RelayActionResult, RelayClient, type RelayPolling, RelayProvider, type RelayQueryOptions, type RoleDelivery, type RoleDeliveryStatus, type SavedSubmission, SignInMethods, SignInOption, SignInUnavailable, SignInWallet, canRepeat, canSubmit, captureReferralCode, completionCountText, isAutomatic, isConnected, isFinished, progressOf, questGroups, questStatus, questStatusText, relayKeys, roleDeliveryLabel, roleDeliveryStatus, useAccounts, useActivity, useBadgeCatalog, useBadges, useBalances, useDeliveries, useEntitlements, useExperience, useInvalidate, useInvitation, useLeaderboard, useLeaderboardPlacement, useMe, useMemberPages, useMemberQuery, useMyProfile, useOffers, usePointHistory, usePointLedgers, useProfile, useProfileBadges, useProfileCompletions, useProfileReferral, useQuest, useQuestOutcomes, useRedeemOffer, useReferralSummary, useRelay, useRelayAction, useRelayMutation, useRelayPages, useRelayQuery, useSession, useSetQueryData, useSignIn, useSignInMethods, useSignInOptions, useSignInWallets, useSignOut, useTieredRewards, useWalletDiscovery, useWallets };
1950
+ export { type Collection, CosmosChains, DiscoveredWallet, type ExperienceData, type Invitation, type KnownQuestStatusCode, type KnownRoleDeliveryStatus, type MemberPagedQuery, type MemberQuery, type MemberQueryOptions, type MemberSnapshot, type Mutation, type MutationContext, type MutationOptions, type MutationStatus, type OAuthProvider, Page, type PageLoader, type PageRead, type PagedQuery, type Query, type QueryContext, type QueryKey, type QueryOptions, type QueryRead, type QuerySnapshot, type QuestInput, type QuestNotice, type QuestStatus, type QuestStatusCode, type QuestStatusText, type QuestTone, type ReferralSummary, type RelayActionResult, RelayClient, type RelayPolling, RelayProvider, type RelayQueryOptions, type RoleDelivery, type RoleDeliveryStatus, type SavedSubmission, SignInMethods, SignInOption, SignInUnavailable, SignInWallet, TelegramSignInOption, canRepeat, canSubmit, captureReferralCode, completionCountText, isAutomatic, isConnected, isFinished, progressOf, questGroups, questStatus, questStatusText, relayKeys, roleDeliveryLabel, roleDeliveryStatus, useAccounts, useActivity, useBadgeCatalog, useBadges, useBalances, useDeliveries, useEntitlements, useExperience, useInvalidate, useInvitation, useLeaderboard, useLeaderboardPlacement, useMe, useMemberPages, useMemberQuery, useMyProfile, useOffers, usePointHistory, usePointLedgers, useProfile, useProfileBadges, useProfileCompletions, useProfileReferral, useQuest, useQuestOutcomes, useRedeemOffer, useReferralSummary, useRelay, useRelayAction, useRelayMutation, useRelayPages, useRelayQuery, useSession, useSetQueryData, useSignIn, useSignInMethods, useSignInOptions, useSignInWallets, useSignOut, useTelegramAccount, useTieredRewards, useWalletDiscovery, useWallets };
@@ -7,16 +7,17 @@ import {
7
7
  discoverSignInWallets,
8
8
  discoverSolanaWallets,
9
9
  readSignInMethods,
10
- signInOptionsFrom
11
- } from "../chunk-3IX2IYMQ.js";
12
- import "../chunk-YGWB6GH3.js";
10
+ signInOptionsFrom,
11
+ telegramMiniAppInitData
12
+ } from "../chunk-COT7AUM7.js";
13
+ import "../chunk-OJOR6VEB.js";
13
14
  import {
14
15
  createRelayAction
15
16
  } from "../chunk-T47OFHHX.js";
16
- import "../chunk-IE4QOQUI.js";
17
+ import "../chunk-5ZRDK4KQ.js";
17
18
  import "../chunk-XSLRNFIY.js";
18
19
  import "../chunk-5P5PTZ3T.js";
19
- import "../chunk-GTM3XNMQ.js";
20
+ import "../chunk-FEUMOQIM.js";
20
21
  import {
21
22
  sessionMember
22
23
  } from "../chunk-YXAK2637.js";
@@ -2418,6 +2419,20 @@ function useSignIn() {
2418
2419
  }, "Couldn't start sign-in. Try again."),
2419
2420
  [relay, run]
2420
2421
  );
2422
+ const withTelegram = useCallback7(
2423
+ () => run(async () => {
2424
+ const { url } = await relay.auth.telegram.start("sign-in");
2425
+ window.location.assign(url);
2426
+ }, "Couldn't start Telegram sign-in. Try again."),
2427
+ [relay, run]
2428
+ );
2429
+ const withTelegramMiniApp = useCallback7(
2430
+ (initData) => run(async () => {
2431
+ await relay.auth.telegram.miniApp.signIn(initData);
2432
+ setChallenge(null);
2433
+ }, "Couldn't sign in with Telegram. Reopen the Mini App and try again."),
2434
+ [relay, run, setChallenge]
2435
+ );
2421
2436
  const withWallet = useCallback7(
2422
2437
  (signer) => run(async () => {
2423
2438
  await relay.auth.wallet.signIn(signer);
@@ -2442,7 +2457,14 @@ function useSignIn() {
2442
2457
  startOver,
2443
2458
  withProvider,
2444
2459
  /** Signs in, or signs up, with a wallet; the wallet asks the participant to sign a message. */
2445
- withWallet
2460
+ withWallet,
2461
+ /** Leaves for Telegram Login, where the platform configured it. */
2462
+ withTelegram,
2463
+ /**
2464
+ * Signs in, or signs up, inside a Telegram Mini App the project enabled, with its launch data
2465
+ * (`telegramMiniAppInitData()`).
2466
+ */
2467
+ withTelegramMiniApp
2446
2468
  }),
2447
2469
  [
2448
2470
  busy,
@@ -2453,7 +2475,9 @@ function useSignIn() {
2453
2475
  verifyCode,
2454
2476
  startOver,
2455
2477
  withProvider,
2456
- withWallet
2478
+ withWallet,
2479
+ withTelegram,
2480
+ withTelegramMiniApp
2457
2481
  ]
2458
2482
  );
2459
2483
  }
@@ -2495,13 +2519,14 @@ function useSignInOptions(input = {}) {
2495
2519
  sendCode,
2496
2520
  verifyCode,
2497
2521
  withProvider,
2498
- withWallet
2522
+ withWallet,
2523
+ withTelegram
2499
2524
  } = useSignIn();
2500
2525
  const built = useMemo7(() => {
2501
2526
  if (!methods) {
2502
2527
  return null;
2503
2528
  }
2504
- if (!wallets && methods.providers.length === 0 && !methods.email) {
2529
+ if (!wallets && methods.providers.length === 0 && !methods.email && !methods.telegram?.login) {
2505
2530
  return null;
2506
2531
  }
2507
2532
  return signInOptionsFrom(methods, wallets ?? [], {
@@ -2511,15 +2536,26 @@ function useSignInOptions(input = {}) {
2511
2536
  oauth: withProvider,
2512
2537
  sendCode,
2513
2538
  verifyCode,
2514
- wallet: withWallet
2539
+ wallet: withWallet,
2540
+ telegram: withTelegram
2515
2541
  }
2516
2542
  });
2517
- }, [methods, wallets, cosmos, withProvider, sendCode, verifyCode, withWallet]);
2543
+ }, [
2544
+ methods,
2545
+ wallets,
2546
+ cosmos,
2547
+ withProvider,
2548
+ sendCode,
2549
+ verifyCode,
2550
+ withWallet,
2551
+ withTelegram
2552
+ ]);
2518
2553
  const methodsError = methods?.error ?? null;
2519
2554
  return useMemo7(
2520
2555
  () => ({
2521
2556
  options: built?.options ?? null,
2522
2557
  unavailable: built?.unavailable ?? NONE_UNAVAILABLE,
2558
+ telegram: built?.telegram ?? null,
2523
2559
  methodsError,
2524
2560
  isPending: busy,
2525
2561
  busy,
@@ -2596,6 +2632,66 @@ function useAccounts() {
2596
2632
  ]
2597
2633
  );
2598
2634
  }
2635
+ function useTelegramAccount() {
2636
+ const relay = useRelay();
2637
+ const invalidate = useInvalidate();
2638
+ const session = useScopeSession();
2639
+ const query = useMemberQuery(
2640
+ [...relayKeys.accounts, "telegram"],
2641
+ (options) => relay.auth.telegram.account(options),
2642
+ { refetchOnFocus: true }
2643
+ );
2644
+ const { isPending, actionError: actionError2, resetAction, run, retry, settle } = useAction();
2645
+ const actions = useMemo8(
2646
+ () => ({
2647
+ connect: () => run(async () => {
2648
+ const { url } = await relay.auth.telegram.start("connect", {
2649
+ session
2650
+ });
2651
+ window.location.assign(url);
2652
+ }),
2653
+ connectMiniApp: (initData) => run(async () => {
2654
+ await relay.auth.telegram.miniApp.connect(initData, { session });
2655
+ void invalidate([relayKeys.accounts, relayKeys.experience]);
2656
+ }),
2657
+ disconnect: () => run(async () => {
2658
+ await relay.auth.telegram.disconnect({ session });
2659
+ void invalidate([
2660
+ relayKeys.accounts,
2661
+ relayKeys.experience,
2662
+ relayKeys.profiles
2663
+ ]);
2664
+ })
2665
+ }),
2666
+ [relay, invalidate, session, run]
2667
+ );
2668
+ const account = query.data;
2669
+ return useMemo8(
2670
+ () => ({
2671
+ ...query,
2672
+ isPending,
2673
+ actionError: actionError2,
2674
+ resetAction,
2675
+ retry,
2676
+ settle,
2677
+ /** True when the account can be used to verify quests right now. */
2678
+ isConnected: Boolean(
2679
+ account?.configured && account.status === "connected"
2680
+ ),
2681
+ ...actions
2682
+ }),
2683
+ [
2684
+ query,
2685
+ isPending,
2686
+ actionError2,
2687
+ resetAction,
2688
+ retry,
2689
+ settle,
2690
+ account,
2691
+ actions
2692
+ ]
2693
+ );
2694
+ }
2599
2695
 
2600
2696
  // src/react/profiles.ts
2601
2697
  import { useMemo as useMemo9 } from "react";
@@ -2904,6 +3000,7 @@ export {
2904
3000
  relayKeys,
2905
3001
  roleDeliveryLabel,
2906
3002
  roleDeliveryStatus,
3003
+ telegramMiniAppInitData,
2907
3004
  useAccounts,
2908
3005
  useActivity,
2909
3006
  useBadgeCatalog,
@@ -2943,6 +3040,7 @@ export {
2943
3040
  useSignInOptions,
2944
3041
  useSignInWallets,
2945
3042
  useSignOut,
3043
+ useTelegramAccount,
2946
3044
  useTieredRewards,
2947
3045
  useWalletDiscovery,
2948
3046
  useWallets