@proofchain/sdk 2.19.0 → 2.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.
package/dist/index.d.mts CHANGED
@@ -2209,6 +2209,8 @@ interface Quest {
2209
2209
  starts_at?: string;
2210
2210
  ends_at?: string;
2211
2211
  time_limit_hours?: number;
2212
+ /** When true, auto-expire all in-progress users when ends_at passes. */
2213
+ expire_on_end?: boolean;
2212
2214
  prerequisite_quest_ids: string[];
2213
2215
  max_participants?: number;
2214
2216
  max_completions?: number;
@@ -2251,7 +2253,7 @@ interface UserQuestProgress {
2251
2253
  user_id: string;
2252
2254
  quest_id: string;
2253
2255
  quest_name: string;
2254
- status: 'not_started' | 'in_progress' | 'completed' | 'reward_claimable' | 'reward_pending' | 'reward_issued' | 'expired' | 'abandoned';
2256
+ status: 'not_started' | 'in_progress' | 'completed' | 'claimed' | 'expired';
2255
2257
  started_at?: string;
2256
2258
  completed_at?: string;
2257
2259
  expires_at?: string;
@@ -2278,14 +2280,25 @@ interface StepProgress {
2278
2280
  step_name: string;
2279
2281
  order: number;
2280
2282
  status: 'pending' | 'in_progress' | 'completed' | 'skipped';
2283
+ started_at?: string;
2281
2284
  completed_at?: string;
2282
2285
  event_id?: string;
2283
2286
  }
2287
+ interface StepStartResult {
2288
+ step_index: number;
2289
+ status: 'in_progress' | 'completed';
2290
+ started_at?: string;
2291
+ quest_id: string;
2292
+ quest_name: string;
2293
+ step_name: string;
2294
+ /** Present when step was already completed */
2295
+ message?: string;
2296
+ }
2284
2297
  interface StepCompletionResult {
2285
2298
  step_index: number;
2286
2299
  step_completed: boolean;
2287
2300
  quest_completed: boolean;
2288
- reward_claimable: boolean;
2301
+ can_claim: boolean;
2289
2302
  current_count: number;
2290
2303
  target_count: number;
2291
2304
  points_earned: number;
@@ -2319,6 +2332,8 @@ interface CreateQuestRequest {
2319
2332
  starts_at?: string;
2320
2333
  ends_at?: string;
2321
2334
  time_limit_hours?: number;
2335
+ /** When true, auto-expire all in-progress users when ends_at passes. */
2336
+ expire_on_end?: boolean;
2322
2337
  prerequisite_quest_ids?: string[];
2323
2338
  max_participants?: number;
2324
2339
  max_completions?: number;
@@ -2425,6 +2440,16 @@ declare class QuestsClient {
2425
2440
  * Get user's progress on a quest
2426
2441
  */
2427
2442
  getUserProgress(questId: string, userId: string): Promise<UserQuestProgress>;
2443
+ /**
2444
+ * Mark a quest step as in-progress (started).
2445
+ *
2446
+ * Call this when the user clicks a CTA link to begin a challenge.
2447
+ * Sets the step to 'in_progress' status so the frontend can show
2448
+ * a pending state while waiting for the completion event to fire.
2449
+ *
2450
+ * Idempotent — safe to call multiple times for the same step.
2451
+ */
2452
+ startStep(questId: string, userId: string, stepIndex: number): Promise<StepStartResult>;
2428
2453
  /**
2429
2454
  * Complete a step manually by step index
2430
2455
  */
@@ -2436,7 +2461,7 @@ declare class QuestsClient {
2436
2461
  /**
2437
2462
  * Claim a completed quest reward.
2438
2463
  * Only applicable for quests with reward_mode='claimable'.
2439
- * Transitions the quest from REWARD_CLAIMABLE to REWARD_PENDING/COMPLETED
2464
+ * Transitions the quest from COMPLETED to CLAIMED
2440
2465
  * and awards points + creates the earned reward.
2441
2466
  */
2442
2467
  claimReward(questId: string, userId: string): Promise<ClaimRewardResult>;
@@ -3092,7 +3117,7 @@ interface PushSubscriptionJSON {
3092
3117
  };
3093
3118
  }
3094
3119
  /** Notification event types pushed by the server. */
3095
- type NotificationEventType = 'connected' | 'quest_step_completed' | 'quest_completed' | 'reward_earned' | 'reward_distributed' | 'reward_claimable' | 'points_awarded' | 'badge_earned' | 'level_up';
3120
+ type NotificationEventType = 'connected' | 'quest_step_started' | 'quest_step_completed' | 'quest_completed' | 'reward_earned' | 'reward_distributed' | 'reward_claimable' | 'points_awarded' | 'badge_earned' | 'level_up';
3096
3121
  /** A notification event received from the SSE stream. */
3097
3122
  interface NotificationEvent {
3098
3123
  /** Unique event ID */
@@ -3821,4 +3846,4 @@ declare class TimeoutError extends ProofChainError {
3821
3846
  constructor(message?: string);
3822
3847
  }
3823
3848
 
3824
- export { type Achievement, type ActivitySummaryView, type AddNFTRequest, type AnchorResult, type ApiKey, type AttestRequest, type AttestationMode, type AttestationResult, AuthenticationError, AuthorizationError, type AvailableView, type Badge, type BatchIngestRequest, type BatchIngestResponse, type BatchVerifyResult, type BlockchainProof, type BlockchainStats, type Certificate, type CertificateVerifyResult, CertificatesResource, type Channel, type ChannelState, type ChannelStatus, ChannelsResource, type ClaimNFTResult, type ClaimRewardResult, type CohortDefinition, type CohortGroupStats, CohortLeaderboardClient, type CohortLeaderboardEntry, type CohortLeaderboardOptions, type CohortLeaderboardResponse, type ComprehensiveWalletInfo, type CreateAchievementRequest, type CreateApiKeyRequest, type CreateBadgeRequest, type CreateChannelRequest, type CreateCredentialTypeRequest, type CreateDataViewRequest, type CreateDualWalletsRequest, type CreateEndUserRequest, type CreateEventRequest, type CreatePassportDefinitionRequest, type CreatePassportRequest, type CreateQuestRequest, type CreateQuestStepRequest, type CreateRewardDefinitionRequest, type CreateSchemaRequest, type CreateTemplateFieldRequest, type CreateTemplateRequest, type CreateWalletRequest as CreateUserWalletRequest, type CreateWalletRequest$1 as CreateWalletRequest, type CreateWebhookRequest, type CredentialType, type CredentialVerifyResult, CredentialsClient, type DataViewColumn, type DataViewComputation, type DataViewDetail, type DataViewExecuteResult, type DataViewInfo, type DataViewListResponse, type DataViewPreviewRequest, type DataViewPreviewResult, type DataViewSummary, DataViewsClient, type DistributeResult, DocumentsResource, type DualWallets, type EarnedReward, type EndUser, EndUserIngestionClient, type EndUserIngestionClientOptions, type EndUserListResponse, EndUsersClient, type Event, type EventBatchProof, type EventMetadata, type EventStatus, EventsResource, type ExecuteSwapRequest, type Facet, type FacetsResponse, type FanProfileView, type FanpassGroupStats, FanpassLeaderboardClient, type FanpassLeaderboardEntry, type FanpassLeaderboardOptions, type FanpassLeaderboardResponse, type FanpassUserComparisonResponse, type FieldValue, type GDPRDeletionRequest, type GDPRDeletionResponse, type GDPRPreviewResponse, type IngestEventRequest, type IngestEventResponse, IngestionClient, type IngestionClientOptions, type IssueCertificateRequest, type IssueCredentialRequest, type IssuedCredential, type LeaderboardUserProfile$1 as LeaderboardUserProfile, type LinkWalletRequest, type ListCertificatesRequest, type ListCohortsOptions, type ListEndUsersOptions, type ListEventsRequest, type ListIssuedCredentialsOptions, type ListQuestsOptions, type ListRewardsOptions, type ListSchemasOptions, type ManualRewardRequest, type MergeUsersRequest, type Milestone, type NFT, NetworkError, NotFoundError, type NotificationCallback, type NotificationEvent, type NotificationEventType, NotificationsClient, type Passport, PassportClient, type PassportDefinition, type PassportFieldValue, type PassportHistory, type PassportTemplate, type PassportV2Data, type PassportWithFields, ProofChain, ProofChainError, type ProofChainOptions, type ProofVerifyResult, type PushSubscriptionJSON, type Quest, type QuestStep, type QuestWithProgress, QuestsClient, RateLimitError, type RegisterWalletRequest, type RevokeResult, type RewardAsset, type RewardAttestationResult, type RewardDefinition, type RewardEarned, type VerifyResult as RewardVerifyResult, RewardsClient, type Schema, type SchemaDetail, type SchemaField, type SchemaListResponse, type ValidationError$1 as SchemaValidationError, SchemasClient, type SearchFilters, type SearchQueryRequest, type SearchRequest, SearchResource, type SearchResponse, type SearchResult, type SearchStats, ServerError, type SetProfileRequest, type Settlement, type StepCompletionResult, type StepProgress, type StreamAck, type StreamEventRequest, type SubscribeOptions, type SwapQuote, type SwapQuoteRequest, type SwapResult, type TemplateField, type TenantInfo, TenantResource, type TierDefinition, TimeoutError, type TokenBalance, type TransferRequest, type TransferResult, type Unsubscribe, type UpdateDataViewRequest, type UpdateEndUserRequest, type UpdatePassportRequest, type UpdateWebhookRequest, type UsageStats, type UserAchievement, type UserActivity, type UserActivityResponse, type UserBadge, type UserBreakdownResponse, type UserCohortBreakdownEntry, type UserCredentialsSummary, type UserQuestProgress, type UserReward$1 as UserReward, type UserRewardsResponse, type UserWalletSummary, type UserWithWallets, type UsersWithWalletsResponse, type ValidateDataRequest, ValidationError, type ValidationErrorDetail, type ValidationResult, type VaultFile, type VaultFolder, type VaultListResponse, VaultResource, type VaultStats, type VaultUploadRequest, type VerificationResult, VerifyResource, type ViewColumn, type ViewTemplate, type Wallet, type WalletBalance, WalletClient, type WalletCreationResult, type WalletStats, type Webhook, WebhooksResource };
3849
+ export { type Achievement, type ActivitySummaryView, type AddNFTRequest, type AnchorResult, type ApiKey, type AttestRequest, type AttestationMode, type AttestationResult, AuthenticationError, AuthorizationError, type AvailableView, type Badge, type BatchIngestRequest, type BatchIngestResponse, type BatchVerifyResult, type BlockchainProof, type BlockchainStats, type Certificate, type CertificateVerifyResult, CertificatesResource, type Channel, type ChannelState, type ChannelStatus, ChannelsResource, type ClaimNFTResult, type ClaimRewardResult, type CohortDefinition, type CohortGroupStats, CohortLeaderboardClient, type CohortLeaderboardEntry, type CohortLeaderboardOptions, type CohortLeaderboardResponse, type ComprehensiveWalletInfo, type CreateAchievementRequest, type CreateApiKeyRequest, type CreateBadgeRequest, type CreateChannelRequest, type CreateCredentialTypeRequest, type CreateDataViewRequest, type CreateDualWalletsRequest, type CreateEndUserRequest, type CreateEventRequest, type CreatePassportDefinitionRequest, type CreatePassportRequest, type CreateQuestRequest, type CreateQuestStepRequest, type CreateRewardDefinitionRequest, type CreateSchemaRequest, type CreateTemplateFieldRequest, type CreateTemplateRequest, type CreateWalletRequest as CreateUserWalletRequest, type CreateWalletRequest$1 as CreateWalletRequest, type CreateWebhookRequest, type CredentialType, type CredentialVerifyResult, CredentialsClient, type DataViewColumn, type DataViewComputation, type DataViewDetail, type DataViewExecuteResult, type DataViewInfo, type DataViewListResponse, type DataViewPreviewRequest, type DataViewPreviewResult, type DataViewSummary, DataViewsClient, type DistributeResult, DocumentsResource, type DualWallets, type EarnedReward, type EndUser, EndUserIngestionClient, type EndUserIngestionClientOptions, type EndUserListResponse, EndUsersClient, type Event, type EventBatchProof, type EventMetadata, type EventStatus, EventsResource, type ExecuteSwapRequest, type Facet, type FacetsResponse, type FanProfileView, type FanpassGroupStats, FanpassLeaderboardClient, type FanpassLeaderboardEntry, type FanpassLeaderboardOptions, type FanpassLeaderboardResponse, type FanpassUserComparisonResponse, type FieldValue, type GDPRDeletionRequest, type GDPRDeletionResponse, type GDPRPreviewResponse, type IngestEventRequest, type IngestEventResponse, IngestionClient, type IngestionClientOptions, type IssueCertificateRequest, type IssueCredentialRequest, type IssuedCredential, type LeaderboardUserProfile$1 as LeaderboardUserProfile, type LinkWalletRequest, type ListCertificatesRequest, type ListCohortsOptions, type ListEndUsersOptions, type ListEventsRequest, type ListIssuedCredentialsOptions, type ListQuestsOptions, type ListRewardsOptions, type ListSchemasOptions, type ManualRewardRequest, type MergeUsersRequest, type Milestone, type NFT, NetworkError, NotFoundError, type NotificationCallback, type NotificationEvent, type NotificationEventType, NotificationsClient, type Passport, PassportClient, type PassportDefinition, type PassportFieldValue, type PassportHistory, type PassportTemplate, type PassportV2Data, type PassportWithFields, ProofChain, ProofChainError, type ProofChainOptions, type ProofVerifyResult, type PushSubscriptionJSON, type Quest, type QuestStep, type QuestWithProgress, QuestsClient, RateLimitError, type RegisterWalletRequest, type RevokeResult, type RewardAsset, type RewardAttestationResult, type RewardDefinition, type RewardEarned, type VerifyResult as RewardVerifyResult, RewardsClient, type Schema, type SchemaDetail, type SchemaField, type SchemaListResponse, type ValidationError$1 as SchemaValidationError, SchemasClient, type SearchFilters, type SearchQueryRequest, type SearchRequest, SearchResource, type SearchResponse, type SearchResult, type SearchStats, ServerError, type SetProfileRequest, type Settlement, type StepCompletionResult, type StepProgress, type StepStartResult, type StreamAck, type StreamEventRequest, type SubscribeOptions, type SwapQuote, type SwapQuoteRequest, type SwapResult, type TemplateField, type TenantInfo, TenantResource, type TierDefinition, TimeoutError, type TokenBalance, type TransferRequest, type TransferResult, type Unsubscribe, type UpdateDataViewRequest, type UpdateEndUserRequest, type UpdatePassportRequest, type UpdateWebhookRequest, type UsageStats, type UserAchievement, type UserActivity, type UserActivityResponse, type UserBadge, type UserBreakdownResponse, type UserCohortBreakdownEntry, type UserCredentialsSummary, type UserQuestProgress, type UserReward$1 as UserReward, type UserRewardsResponse, type UserWalletSummary, type UserWithWallets, type UsersWithWalletsResponse, type ValidateDataRequest, ValidationError, type ValidationErrorDetail, type ValidationResult, type VaultFile, type VaultFolder, type VaultListResponse, VaultResource, type VaultStats, type VaultUploadRequest, type VerificationResult, VerifyResource, type ViewColumn, type ViewTemplate, type Wallet, type WalletBalance, WalletClient, type WalletCreationResult, type WalletStats, type Webhook, WebhooksResource };
package/dist/index.d.ts CHANGED
@@ -2209,6 +2209,8 @@ interface Quest {
2209
2209
  starts_at?: string;
2210
2210
  ends_at?: string;
2211
2211
  time_limit_hours?: number;
2212
+ /** When true, auto-expire all in-progress users when ends_at passes. */
2213
+ expire_on_end?: boolean;
2212
2214
  prerequisite_quest_ids: string[];
2213
2215
  max_participants?: number;
2214
2216
  max_completions?: number;
@@ -2251,7 +2253,7 @@ interface UserQuestProgress {
2251
2253
  user_id: string;
2252
2254
  quest_id: string;
2253
2255
  quest_name: string;
2254
- status: 'not_started' | 'in_progress' | 'completed' | 'reward_claimable' | 'reward_pending' | 'reward_issued' | 'expired' | 'abandoned';
2256
+ status: 'not_started' | 'in_progress' | 'completed' | 'claimed' | 'expired';
2255
2257
  started_at?: string;
2256
2258
  completed_at?: string;
2257
2259
  expires_at?: string;
@@ -2278,14 +2280,25 @@ interface StepProgress {
2278
2280
  step_name: string;
2279
2281
  order: number;
2280
2282
  status: 'pending' | 'in_progress' | 'completed' | 'skipped';
2283
+ started_at?: string;
2281
2284
  completed_at?: string;
2282
2285
  event_id?: string;
2283
2286
  }
2287
+ interface StepStartResult {
2288
+ step_index: number;
2289
+ status: 'in_progress' | 'completed';
2290
+ started_at?: string;
2291
+ quest_id: string;
2292
+ quest_name: string;
2293
+ step_name: string;
2294
+ /** Present when step was already completed */
2295
+ message?: string;
2296
+ }
2284
2297
  interface StepCompletionResult {
2285
2298
  step_index: number;
2286
2299
  step_completed: boolean;
2287
2300
  quest_completed: boolean;
2288
- reward_claimable: boolean;
2301
+ can_claim: boolean;
2289
2302
  current_count: number;
2290
2303
  target_count: number;
2291
2304
  points_earned: number;
@@ -2319,6 +2332,8 @@ interface CreateQuestRequest {
2319
2332
  starts_at?: string;
2320
2333
  ends_at?: string;
2321
2334
  time_limit_hours?: number;
2335
+ /** When true, auto-expire all in-progress users when ends_at passes. */
2336
+ expire_on_end?: boolean;
2322
2337
  prerequisite_quest_ids?: string[];
2323
2338
  max_participants?: number;
2324
2339
  max_completions?: number;
@@ -2425,6 +2440,16 @@ declare class QuestsClient {
2425
2440
  * Get user's progress on a quest
2426
2441
  */
2427
2442
  getUserProgress(questId: string, userId: string): Promise<UserQuestProgress>;
2443
+ /**
2444
+ * Mark a quest step as in-progress (started).
2445
+ *
2446
+ * Call this when the user clicks a CTA link to begin a challenge.
2447
+ * Sets the step to 'in_progress' status so the frontend can show
2448
+ * a pending state while waiting for the completion event to fire.
2449
+ *
2450
+ * Idempotent — safe to call multiple times for the same step.
2451
+ */
2452
+ startStep(questId: string, userId: string, stepIndex: number): Promise<StepStartResult>;
2428
2453
  /**
2429
2454
  * Complete a step manually by step index
2430
2455
  */
@@ -2436,7 +2461,7 @@ declare class QuestsClient {
2436
2461
  /**
2437
2462
  * Claim a completed quest reward.
2438
2463
  * Only applicable for quests with reward_mode='claimable'.
2439
- * Transitions the quest from REWARD_CLAIMABLE to REWARD_PENDING/COMPLETED
2464
+ * Transitions the quest from COMPLETED to CLAIMED
2440
2465
  * and awards points + creates the earned reward.
2441
2466
  */
2442
2467
  claimReward(questId: string, userId: string): Promise<ClaimRewardResult>;
@@ -3092,7 +3117,7 @@ interface PushSubscriptionJSON {
3092
3117
  };
3093
3118
  }
3094
3119
  /** Notification event types pushed by the server. */
3095
- type NotificationEventType = 'connected' | 'quest_step_completed' | 'quest_completed' | 'reward_earned' | 'reward_distributed' | 'reward_claimable' | 'points_awarded' | 'badge_earned' | 'level_up';
3120
+ type NotificationEventType = 'connected' | 'quest_step_started' | 'quest_step_completed' | 'quest_completed' | 'reward_earned' | 'reward_distributed' | 'reward_claimable' | 'points_awarded' | 'badge_earned' | 'level_up';
3096
3121
  /** A notification event received from the SSE stream. */
3097
3122
  interface NotificationEvent {
3098
3123
  /** Unique event ID */
@@ -3821,4 +3846,4 @@ declare class TimeoutError extends ProofChainError {
3821
3846
  constructor(message?: string);
3822
3847
  }
3823
3848
 
3824
- export { type Achievement, type ActivitySummaryView, type AddNFTRequest, type AnchorResult, type ApiKey, type AttestRequest, type AttestationMode, type AttestationResult, AuthenticationError, AuthorizationError, type AvailableView, type Badge, type BatchIngestRequest, type BatchIngestResponse, type BatchVerifyResult, type BlockchainProof, type BlockchainStats, type Certificate, type CertificateVerifyResult, CertificatesResource, type Channel, type ChannelState, type ChannelStatus, ChannelsResource, type ClaimNFTResult, type ClaimRewardResult, type CohortDefinition, type CohortGroupStats, CohortLeaderboardClient, type CohortLeaderboardEntry, type CohortLeaderboardOptions, type CohortLeaderboardResponse, type ComprehensiveWalletInfo, type CreateAchievementRequest, type CreateApiKeyRequest, type CreateBadgeRequest, type CreateChannelRequest, type CreateCredentialTypeRequest, type CreateDataViewRequest, type CreateDualWalletsRequest, type CreateEndUserRequest, type CreateEventRequest, type CreatePassportDefinitionRequest, type CreatePassportRequest, type CreateQuestRequest, type CreateQuestStepRequest, type CreateRewardDefinitionRequest, type CreateSchemaRequest, type CreateTemplateFieldRequest, type CreateTemplateRequest, type CreateWalletRequest as CreateUserWalletRequest, type CreateWalletRequest$1 as CreateWalletRequest, type CreateWebhookRequest, type CredentialType, type CredentialVerifyResult, CredentialsClient, type DataViewColumn, type DataViewComputation, type DataViewDetail, type DataViewExecuteResult, type DataViewInfo, type DataViewListResponse, type DataViewPreviewRequest, type DataViewPreviewResult, type DataViewSummary, DataViewsClient, type DistributeResult, DocumentsResource, type DualWallets, type EarnedReward, type EndUser, EndUserIngestionClient, type EndUserIngestionClientOptions, type EndUserListResponse, EndUsersClient, type Event, type EventBatchProof, type EventMetadata, type EventStatus, EventsResource, type ExecuteSwapRequest, type Facet, type FacetsResponse, type FanProfileView, type FanpassGroupStats, FanpassLeaderboardClient, type FanpassLeaderboardEntry, type FanpassLeaderboardOptions, type FanpassLeaderboardResponse, type FanpassUserComparisonResponse, type FieldValue, type GDPRDeletionRequest, type GDPRDeletionResponse, type GDPRPreviewResponse, type IngestEventRequest, type IngestEventResponse, IngestionClient, type IngestionClientOptions, type IssueCertificateRequest, type IssueCredentialRequest, type IssuedCredential, type LeaderboardUserProfile$1 as LeaderboardUserProfile, type LinkWalletRequest, type ListCertificatesRequest, type ListCohortsOptions, type ListEndUsersOptions, type ListEventsRequest, type ListIssuedCredentialsOptions, type ListQuestsOptions, type ListRewardsOptions, type ListSchemasOptions, type ManualRewardRequest, type MergeUsersRequest, type Milestone, type NFT, NetworkError, NotFoundError, type NotificationCallback, type NotificationEvent, type NotificationEventType, NotificationsClient, type Passport, PassportClient, type PassportDefinition, type PassportFieldValue, type PassportHistory, type PassportTemplate, type PassportV2Data, type PassportWithFields, ProofChain, ProofChainError, type ProofChainOptions, type ProofVerifyResult, type PushSubscriptionJSON, type Quest, type QuestStep, type QuestWithProgress, QuestsClient, RateLimitError, type RegisterWalletRequest, type RevokeResult, type RewardAsset, type RewardAttestationResult, type RewardDefinition, type RewardEarned, type VerifyResult as RewardVerifyResult, RewardsClient, type Schema, type SchemaDetail, type SchemaField, type SchemaListResponse, type ValidationError$1 as SchemaValidationError, SchemasClient, type SearchFilters, type SearchQueryRequest, type SearchRequest, SearchResource, type SearchResponse, type SearchResult, type SearchStats, ServerError, type SetProfileRequest, type Settlement, type StepCompletionResult, type StepProgress, type StreamAck, type StreamEventRequest, type SubscribeOptions, type SwapQuote, type SwapQuoteRequest, type SwapResult, type TemplateField, type TenantInfo, TenantResource, type TierDefinition, TimeoutError, type TokenBalance, type TransferRequest, type TransferResult, type Unsubscribe, type UpdateDataViewRequest, type UpdateEndUserRequest, type UpdatePassportRequest, type UpdateWebhookRequest, type UsageStats, type UserAchievement, type UserActivity, type UserActivityResponse, type UserBadge, type UserBreakdownResponse, type UserCohortBreakdownEntry, type UserCredentialsSummary, type UserQuestProgress, type UserReward$1 as UserReward, type UserRewardsResponse, type UserWalletSummary, type UserWithWallets, type UsersWithWalletsResponse, type ValidateDataRequest, ValidationError, type ValidationErrorDetail, type ValidationResult, type VaultFile, type VaultFolder, type VaultListResponse, VaultResource, type VaultStats, type VaultUploadRequest, type VerificationResult, VerifyResource, type ViewColumn, type ViewTemplate, type Wallet, type WalletBalance, WalletClient, type WalletCreationResult, type WalletStats, type Webhook, WebhooksResource };
3849
+ export { type Achievement, type ActivitySummaryView, type AddNFTRequest, type AnchorResult, type ApiKey, type AttestRequest, type AttestationMode, type AttestationResult, AuthenticationError, AuthorizationError, type AvailableView, type Badge, type BatchIngestRequest, type BatchIngestResponse, type BatchVerifyResult, type BlockchainProof, type BlockchainStats, type Certificate, type CertificateVerifyResult, CertificatesResource, type Channel, type ChannelState, type ChannelStatus, ChannelsResource, type ClaimNFTResult, type ClaimRewardResult, type CohortDefinition, type CohortGroupStats, CohortLeaderboardClient, type CohortLeaderboardEntry, type CohortLeaderboardOptions, type CohortLeaderboardResponse, type ComprehensiveWalletInfo, type CreateAchievementRequest, type CreateApiKeyRequest, type CreateBadgeRequest, type CreateChannelRequest, type CreateCredentialTypeRequest, type CreateDataViewRequest, type CreateDualWalletsRequest, type CreateEndUserRequest, type CreateEventRequest, type CreatePassportDefinitionRequest, type CreatePassportRequest, type CreateQuestRequest, type CreateQuestStepRequest, type CreateRewardDefinitionRequest, type CreateSchemaRequest, type CreateTemplateFieldRequest, type CreateTemplateRequest, type CreateWalletRequest as CreateUserWalletRequest, type CreateWalletRequest$1 as CreateWalletRequest, type CreateWebhookRequest, type CredentialType, type CredentialVerifyResult, CredentialsClient, type DataViewColumn, type DataViewComputation, type DataViewDetail, type DataViewExecuteResult, type DataViewInfo, type DataViewListResponse, type DataViewPreviewRequest, type DataViewPreviewResult, type DataViewSummary, DataViewsClient, type DistributeResult, DocumentsResource, type DualWallets, type EarnedReward, type EndUser, EndUserIngestionClient, type EndUserIngestionClientOptions, type EndUserListResponse, EndUsersClient, type Event, type EventBatchProof, type EventMetadata, type EventStatus, EventsResource, type ExecuteSwapRequest, type Facet, type FacetsResponse, type FanProfileView, type FanpassGroupStats, FanpassLeaderboardClient, type FanpassLeaderboardEntry, type FanpassLeaderboardOptions, type FanpassLeaderboardResponse, type FanpassUserComparisonResponse, type FieldValue, type GDPRDeletionRequest, type GDPRDeletionResponse, type GDPRPreviewResponse, type IngestEventRequest, type IngestEventResponse, IngestionClient, type IngestionClientOptions, type IssueCertificateRequest, type IssueCredentialRequest, type IssuedCredential, type LeaderboardUserProfile$1 as LeaderboardUserProfile, type LinkWalletRequest, type ListCertificatesRequest, type ListCohortsOptions, type ListEndUsersOptions, type ListEventsRequest, type ListIssuedCredentialsOptions, type ListQuestsOptions, type ListRewardsOptions, type ListSchemasOptions, type ManualRewardRequest, type MergeUsersRequest, type Milestone, type NFT, NetworkError, NotFoundError, type NotificationCallback, type NotificationEvent, type NotificationEventType, NotificationsClient, type Passport, PassportClient, type PassportDefinition, type PassportFieldValue, type PassportHistory, type PassportTemplate, type PassportV2Data, type PassportWithFields, ProofChain, ProofChainError, type ProofChainOptions, type ProofVerifyResult, type PushSubscriptionJSON, type Quest, type QuestStep, type QuestWithProgress, QuestsClient, RateLimitError, type RegisterWalletRequest, type RevokeResult, type RewardAsset, type RewardAttestationResult, type RewardDefinition, type RewardEarned, type VerifyResult as RewardVerifyResult, RewardsClient, type Schema, type SchemaDetail, type SchemaField, type SchemaListResponse, type ValidationError$1 as SchemaValidationError, SchemasClient, type SearchFilters, type SearchQueryRequest, type SearchRequest, SearchResource, type SearchResponse, type SearchResult, type SearchStats, ServerError, type SetProfileRequest, type Settlement, type StepCompletionResult, type StepProgress, type StepStartResult, type StreamAck, type StreamEventRequest, type SubscribeOptions, type SwapQuote, type SwapQuoteRequest, type SwapResult, type TemplateField, type TenantInfo, TenantResource, type TierDefinition, TimeoutError, type TokenBalance, type TransferRequest, type TransferResult, type Unsubscribe, type UpdateDataViewRequest, type UpdateEndUserRequest, type UpdatePassportRequest, type UpdateWebhookRequest, type UsageStats, type UserAchievement, type UserActivity, type UserActivityResponse, type UserBadge, type UserBreakdownResponse, type UserCohortBreakdownEntry, type UserCredentialsSummary, type UserQuestProgress, type UserReward$1 as UserReward, type UserRewardsResponse, type UserWalletSummary, type UserWithWallets, type UsersWithWalletsResponse, type ValidateDataRequest, ValidationError, type ValidationErrorDetail, type ValidationResult, type VaultFile, type VaultFolder, type VaultListResponse, VaultResource, type VaultStats, type VaultUploadRequest, type VerificationResult, VerifyResource, type ViewColumn, type ViewTemplate, type Wallet, type WalletBalance, WalletClient, type WalletCreationResult, type WalletStats, type Webhook, WebhooksResource };
package/dist/index.js CHANGED
@@ -1804,6 +1804,21 @@ var QuestsClient = class {
1804
1804
  async getUserProgress(questId, userId) {
1805
1805
  return this.http.get(`/quests/${questId}/progress/${encodeURIComponent(userId)}`);
1806
1806
  }
1807
+ /**
1808
+ * Mark a quest step as in-progress (started).
1809
+ *
1810
+ * Call this when the user clicks a CTA link to begin a challenge.
1811
+ * Sets the step to 'in_progress' status so the frontend can show
1812
+ * a pending state while waiting for the completion event to fire.
1813
+ *
1814
+ * Idempotent — safe to call multiple times for the same step.
1815
+ */
1816
+ async startStep(questId, userId, stepIndex) {
1817
+ return this.http.post(
1818
+ `/quests/${questId}/progress/${encodeURIComponent(userId)}/step/${stepIndex}/start`,
1819
+ {}
1820
+ );
1821
+ }
1807
1822
  /**
1808
1823
  * Complete a step manually by step index
1809
1824
  */
@@ -1822,7 +1837,7 @@ var QuestsClient = class {
1822
1837
  /**
1823
1838
  * Claim a completed quest reward.
1824
1839
  * Only applicable for quests with reward_mode='claimable'.
1825
- * Transitions the quest from REWARD_CLAIMABLE to REWARD_PENDING/COMPLETED
1840
+ * Transitions the quest from COMPLETED to CLAIMED
1826
1841
  * and awards points + creates the earned reward.
1827
1842
  */
1828
1843
  async claimReward(questId, userId) {
package/dist/index.mjs CHANGED
@@ -1747,6 +1747,21 @@ var QuestsClient = class {
1747
1747
  async getUserProgress(questId, userId) {
1748
1748
  return this.http.get(`/quests/${questId}/progress/${encodeURIComponent(userId)}`);
1749
1749
  }
1750
+ /**
1751
+ * Mark a quest step as in-progress (started).
1752
+ *
1753
+ * Call this when the user clicks a CTA link to begin a challenge.
1754
+ * Sets the step to 'in_progress' status so the frontend can show
1755
+ * a pending state while waiting for the completion event to fire.
1756
+ *
1757
+ * Idempotent — safe to call multiple times for the same step.
1758
+ */
1759
+ async startStep(questId, userId, stepIndex) {
1760
+ return this.http.post(
1761
+ `/quests/${questId}/progress/${encodeURIComponent(userId)}/step/${stepIndex}/start`,
1762
+ {}
1763
+ );
1764
+ }
1750
1765
  /**
1751
1766
  * Complete a step manually by step index
1752
1767
  */
@@ -1765,7 +1780,7 @@ var QuestsClient = class {
1765
1780
  /**
1766
1781
  * Claim a completed quest reward.
1767
1782
  * Only applicable for quests with reward_mode='claimable'.
1768
- * Transitions the quest from REWARD_CLAIMABLE to REWARD_PENDING/COMPLETED
1783
+ * Transitions the quest from COMPLETED to CLAIMED
1769
1784
  * and awards points + creates the earned reward.
1770
1785
  */
1771
1786
  async claimReward(questId, userId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proofchain/sdk",
3
- "version": "2.19.0",
3
+ "version": "2.20.0",
4
4
  "description": "Official JavaScript/TypeScript SDK for ProofChain - blockchain-anchored document attestation",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",