@cavuno/board 1.19.0 → 1.19.1

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
@@ -214,6 +214,9 @@ interface components {
214
214
  /** @description The board-access grant. Send it as the `X-Board-Access` header on subsequent content reads to pass the password wall. */
215
215
  token: string;
216
216
  };
217
+ BoardAuthConsumeMagicLinkBody: {
218
+ token: string;
219
+ };
217
220
  BoardAuthForgotPasswordBody: {
218
221
  /** Format: email */
219
222
  email: string;
@@ -226,6 +229,17 @@ interface components {
226
229
  BoardAuthLogoutBody: {
227
230
  refreshToken: string;
228
231
  };
232
+ BoardAuthOAuthAuthorizationUrl: {
233
+ /** @enum {string} */
234
+ object: 'oauth_authorization_url';
235
+ /** @enum {string} */
236
+ provider: 'google' | 'linkedin';
237
+ /** Format: uri */
238
+ authorizeUrl: string;
239
+ };
240
+ BoardAuthOAuthExchangeBody: {
241
+ token: string;
242
+ };
229
243
  BoardAuthRefreshBody: {
230
244
  refreshToken: string;
231
245
  };
@@ -246,6 +260,12 @@ interface components {
246
260
  password: string;
247
261
  displayName: string;
248
262
  };
263
+ BoardAuthRequestMagicLinkBody: {
264
+ /** Format: email */
265
+ email: string;
266
+ /** @description Optional same-origin path to carry through the email link. */
267
+ returnTo?: string;
268
+ };
249
269
  BoardAuthResetPasswordBody: {
250
270
  token: string;
251
271
  /** @description Minimum 8 characters. */
@@ -2986,7 +3006,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
2986
3006
  * constant because the package is platform-neutral and cannot read
2987
3007
  * package.json at runtime.
2988
3008
  */
2989
- declare const SDK_VERSION = "1.19.0";
3009
+ declare const SDK_VERSION = "1.19.1";
2990
3010
 
2991
3011
  type BoardUser = Schemas['BoardUser'];
2992
3012
  type BoardAuthSession = Schemas['BoardAuthSession'];
@@ -2997,6 +3017,14 @@ type LogoutBody = Schemas['BoardAuthLogoutBody'];
2997
3017
  type VerifyEmailBody = Schemas['BoardAuthVerifyEmailBody'];
2998
3018
  type ForgotPasswordBody = Schemas['BoardAuthForgotPasswordBody'];
2999
3019
  type ResetPasswordBody = Schemas['BoardAuthResetPasswordBody'];
3020
+ type RequestMagicLinkBody = Schemas['BoardAuthRequestMagicLinkBody'];
3021
+ type ConsumeMagicLinkBody = Schemas['BoardAuthConsumeMagicLinkBody'];
3022
+ type OAuthProvider = 'google' | 'linkedin';
3023
+ type OAuthAuthorizationQuery = {
3024
+ returnTo?: string;
3025
+ };
3026
+ type OAuthAuthorizationUrl = Schemas['BoardAuthOAuthAuthorizationUrl'];
3027
+ type OAuthExchangeBody = Schemas['BoardAuthOAuthExchangeBody'];
3000
3028
 
3001
3029
  type PublicBoard = Schemas['PublicBoardContext'];
3002
3030
  type PublicBoardFeatures = PublicBoard['features'];
@@ -3876,6 +3904,26 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3876
3904
  verifyEmail(body: VerifyEmailBody, options?: FetchOptions): Promise<void>;
3877
3905
  forgotPassword(body: ForgotPasswordBody, options?: FetchOptions): Promise<void>;
3878
3906
  resetPassword(body: ResetPasswordBody, options?: FetchOptions): Promise<void>;
3907
+ requestMagicLink(body: RequestMagicLinkBody, options?: FetchOptions): Promise<void>;
3908
+ consumeMagicLink(body: ConsumeMagicLinkBody, options?: FetchOptions): Promise<{
3909
+ object: "board_auth_session";
3910
+ accessToken: string;
3911
+ refreshToken: string;
3912
+ expiresAt: number;
3913
+ boardUser: components["schemas"]["BoardUser"];
3914
+ }>;
3915
+ getOAuthAuthorizationUrl(provider: OAuthProvider, query?: OAuthAuthorizationQuery, options?: FetchOptions): Promise<{
3916
+ object: "oauth_authorization_url";
3917
+ provider: "google" | "linkedin";
3918
+ authorizeUrl: string;
3919
+ }>;
3920
+ exchangeOAuth(body: OAuthExchangeBody, options?: FetchOptions): Promise<{
3921
+ object: "board_auth_session";
3922
+ accessToken: string;
3923
+ refreshToken: string;
3924
+ expiresAt: number;
3925
+ boardUser: components["schemas"]["BoardUser"];
3926
+ }>;
3879
3927
  };
3880
3928
  me: {
3881
3929
  retrieve(query?: Record<string, never>, options?: FetchOptions): Promise<{
@@ -4602,4 +4650,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
4602
4650
  };
4603
4651
  type BoardSdk = ReturnType<typeof createBoardClient>;
4604
4652
 
4605
- export { ACCESS_TOKEN_KEY, type Awaitable, BOARD_ACCESS_GRANT_KEY, type BlogAuthorEmbed, type BlogPostsListQuery, type BlogSearchBody, type BlogSimilarQuery, type BlogTagEmbed, type BoardAccessGrant, BoardApiError, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type CompaniesListQuery, type CompaniesSearchBody, type CompanyCategorySalary, type CompanyJobsListQuery, type CompanyListEnvelope, type CompanyMarket, type CompanyMarketRef, type CompanyMarketsListQuery, type CompanySalary, type CompanySimilarQuery, type CreateBoardClientOptions, type CreateJobPostingInput, type CustomStorage, type EducationRequirement, type EmbedJobsQuery, type EmploymentType, type FetchOptions, type ForgotPasswordBody, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, type JobCardListEnvelope, type JobCardSearchEnvelope, type JobCompany, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, type JobSort, type JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, type LocationSkillsIndex, type LocationTitlesIndex, type Logger, type LoginBody, type LogoutBody, type OfficeLocation, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicBlogAdjacentPosts, type PublicBlogAuthor, type PublicBlogPost, type PublicBlogPostSummary, type PublicBlogTag, type PublicBoard, type PublicBoardAnalytics, type PublicBoardFeatures, type PublicBoardTheme, type PublicCompany, type PublicCompanyDetail, type PublicJob, type PublicJobCard, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type RedirectResolution, type RefreshBody, type RegisterBody, type RelatedSearch, type RemoteOption, type RemotePermit, type RemoteTimezone, type ResetPasswordBody, SDK_VERSION, type SalaryCompany, type SalaryDetailQuery, type SalaryLocation, type SalarySkill, type SalaryTitle, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
4653
+ export { ACCESS_TOKEN_KEY, type Awaitable, BOARD_ACCESS_GRANT_KEY, type BlogAuthorEmbed, type BlogPostsListQuery, type BlogSearchBody, type BlogSimilarQuery, type BlogTagEmbed, type BoardAccessGrant, BoardApiError, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type CompaniesListQuery, type CompaniesSearchBody, type CompanyCategorySalary, type CompanyJobsListQuery, type CompanyListEnvelope, type CompanyMarket, type CompanyMarketRef, type CompanyMarketsListQuery, type CompanySalary, type CompanySimilarQuery, type ConsumeMagicLinkBody, type CreateBoardClientOptions, type CreateJobPostingInput, type CustomStorage, type EducationRequirement, type EmbedJobsQuery, type EmploymentType, type FetchOptions, type ForgotPasswordBody, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, type JobCardListEnvelope, type JobCardSearchEnvelope, type JobCompany, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, type JobSort, type JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, type LocationSkillsIndex, type LocationTitlesIndex, type Logger, type LoginBody, type LogoutBody, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type OfficeLocation, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicBlogAdjacentPosts, type PublicBlogAuthor, type PublicBlogPost, type PublicBlogPostSummary, type PublicBlogTag, type PublicBoard, type PublicBoardAnalytics, type PublicBoardFeatures, type PublicBoardTheme, type PublicCompany, type PublicCompanyDetail, type PublicJob, type PublicJobCard, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type RedirectResolution, type RefreshBody, type RegisterBody, type RelatedSearch, type RemoteOption, type RemotePermit, type RemoteTimezone, type RequestMagicLinkBody, type ResetPasswordBody, SDK_VERSION, type SalaryCompany, type SalaryDetailQuery, type SalaryLocation, type SalarySkill, type SalaryTitle, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
package/dist/index.d.ts CHANGED
@@ -214,6 +214,9 @@ interface components {
214
214
  /** @description The board-access grant. Send it as the `X-Board-Access` header on subsequent content reads to pass the password wall. */
215
215
  token: string;
216
216
  };
217
+ BoardAuthConsumeMagicLinkBody: {
218
+ token: string;
219
+ };
217
220
  BoardAuthForgotPasswordBody: {
218
221
  /** Format: email */
219
222
  email: string;
@@ -226,6 +229,17 @@ interface components {
226
229
  BoardAuthLogoutBody: {
227
230
  refreshToken: string;
228
231
  };
232
+ BoardAuthOAuthAuthorizationUrl: {
233
+ /** @enum {string} */
234
+ object: 'oauth_authorization_url';
235
+ /** @enum {string} */
236
+ provider: 'google' | 'linkedin';
237
+ /** Format: uri */
238
+ authorizeUrl: string;
239
+ };
240
+ BoardAuthOAuthExchangeBody: {
241
+ token: string;
242
+ };
229
243
  BoardAuthRefreshBody: {
230
244
  refreshToken: string;
231
245
  };
@@ -246,6 +260,12 @@ interface components {
246
260
  password: string;
247
261
  displayName: string;
248
262
  };
263
+ BoardAuthRequestMagicLinkBody: {
264
+ /** Format: email */
265
+ email: string;
266
+ /** @description Optional same-origin path to carry through the email link. */
267
+ returnTo?: string;
268
+ };
249
269
  BoardAuthResetPasswordBody: {
250
270
  token: string;
251
271
  /** @description Minimum 8 characters. */
@@ -2986,7 +3006,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
2986
3006
  * constant because the package is platform-neutral and cannot read
2987
3007
  * package.json at runtime.
2988
3008
  */
2989
- declare const SDK_VERSION = "1.19.0";
3009
+ declare const SDK_VERSION = "1.19.1";
2990
3010
 
2991
3011
  type BoardUser = Schemas['BoardUser'];
2992
3012
  type BoardAuthSession = Schemas['BoardAuthSession'];
@@ -2997,6 +3017,14 @@ type LogoutBody = Schemas['BoardAuthLogoutBody'];
2997
3017
  type VerifyEmailBody = Schemas['BoardAuthVerifyEmailBody'];
2998
3018
  type ForgotPasswordBody = Schemas['BoardAuthForgotPasswordBody'];
2999
3019
  type ResetPasswordBody = Schemas['BoardAuthResetPasswordBody'];
3020
+ type RequestMagicLinkBody = Schemas['BoardAuthRequestMagicLinkBody'];
3021
+ type ConsumeMagicLinkBody = Schemas['BoardAuthConsumeMagicLinkBody'];
3022
+ type OAuthProvider = 'google' | 'linkedin';
3023
+ type OAuthAuthorizationQuery = {
3024
+ returnTo?: string;
3025
+ };
3026
+ type OAuthAuthorizationUrl = Schemas['BoardAuthOAuthAuthorizationUrl'];
3027
+ type OAuthExchangeBody = Schemas['BoardAuthOAuthExchangeBody'];
3000
3028
 
3001
3029
  type PublicBoard = Schemas['PublicBoardContext'];
3002
3030
  type PublicBoardFeatures = PublicBoard['features'];
@@ -3876,6 +3904,26 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
3876
3904
  verifyEmail(body: VerifyEmailBody, options?: FetchOptions): Promise<void>;
3877
3905
  forgotPassword(body: ForgotPasswordBody, options?: FetchOptions): Promise<void>;
3878
3906
  resetPassword(body: ResetPasswordBody, options?: FetchOptions): Promise<void>;
3907
+ requestMagicLink(body: RequestMagicLinkBody, options?: FetchOptions): Promise<void>;
3908
+ consumeMagicLink(body: ConsumeMagicLinkBody, options?: FetchOptions): Promise<{
3909
+ object: "board_auth_session";
3910
+ accessToken: string;
3911
+ refreshToken: string;
3912
+ expiresAt: number;
3913
+ boardUser: components["schemas"]["BoardUser"];
3914
+ }>;
3915
+ getOAuthAuthorizationUrl(provider: OAuthProvider, query?: OAuthAuthorizationQuery, options?: FetchOptions): Promise<{
3916
+ object: "oauth_authorization_url";
3917
+ provider: "google" | "linkedin";
3918
+ authorizeUrl: string;
3919
+ }>;
3920
+ exchangeOAuth(body: OAuthExchangeBody, options?: FetchOptions): Promise<{
3921
+ object: "board_auth_session";
3922
+ accessToken: string;
3923
+ refreshToken: string;
3924
+ expiresAt: number;
3925
+ boardUser: components["schemas"]["BoardUser"];
3926
+ }>;
3879
3927
  };
3880
3928
  me: {
3881
3929
  retrieve(query?: Record<string, never>, options?: FetchOptions): Promise<{
@@ -4602,4 +4650,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
4602
4650
  };
4603
4651
  type BoardSdk = ReturnType<typeof createBoardClient>;
4604
4652
 
4605
- export { ACCESS_TOKEN_KEY, type Awaitable, BOARD_ACCESS_GRANT_KEY, type BlogAuthorEmbed, type BlogPostsListQuery, type BlogSearchBody, type BlogSimilarQuery, type BlogTagEmbed, type BoardAccessGrant, BoardApiError, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type CompaniesListQuery, type CompaniesSearchBody, type CompanyCategorySalary, type CompanyJobsListQuery, type CompanyListEnvelope, type CompanyMarket, type CompanyMarketRef, type CompanyMarketsListQuery, type CompanySalary, type CompanySimilarQuery, type CreateBoardClientOptions, type CreateJobPostingInput, type CustomStorage, type EducationRequirement, type EmbedJobsQuery, type EmploymentType, type FetchOptions, type ForgotPasswordBody, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, type JobCardListEnvelope, type JobCardSearchEnvelope, type JobCompany, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, type JobSort, type JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, type LocationSkillsIndex, type LocationTitlesIndex, type Logger, type LoginBody, type LogoutBody, type OfficeLocation, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicBlogAdjacentPosts, type PublicBlogAuthor, type PublicBlogPost, type PublicBlogPostSummary, type PublicBlogTag, type PublicBoard, type PublicBoardAnalytics, type PublicBoardFeatures, type PublicBoardTheme, type PublicCompany, type PublicCompanyDetail, type PublicJob, type PublicJobCard, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type RedirectResolution, type RefreshBody, type RegisterBody, type RelatedSearch, type RemoteOption, type RemotePermit, type RemoteTimezone, type ResetPasswordBody, SDK_VERSION, type SalaryCompany, type SalaryDetailQuery, type SalaryLocation, type SalarySkill, type SalaryTitle, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
4653
+ export { ACCESS_TOKEN_KEY, type Awaitable, BOARD_ACCESS_GRANT_KEY, type BlogAuthorEmbed, type BlogPostsListQuery, type BlogSearchBody, type BlogSimilarQuery, type BlogTagEmbed, type BoardAccessGrant, BoardApiError, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type CompaniesListQuery, type CompaniesSearchBody, type CompanyCategorySalary, type CompanyJobsListQuery, type CompanyListEnvelope, type CompanyMarket, type CompanyMarketRef, type CompanyMarketsListQuery, type CompanySalary, type CompanySimilarQuery, type ConsumeMagicLinkBody, type CreateBoardClientOptions, type CreateJobPostingInput, type CustomStorage, type EducationRequirement, type EmbedJobsQuery, type EmploymentType, type FetchOptions, type ForgotPasswordBody, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, type JobCardListEnvelope, type JobCardSearchEnvelope, type JobCompany, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, type JobSort, type JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, type LocationSkillsIndex, type LocationTitlesIndex, type Logger, type LoginBody, type LogoutBody, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type OfficeLocation, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicBlogAdjacentPosts, type PublicBlogAuthor, type PublicBlogPost, type PublicBlogPostSummary, type PublicBlogTag, type PublicBoard, type PublicBoardAnalytics, type PublicBoardFeatures, type PublicBoardTheme, type PublicCompany, type PublicCompanyDetail, type PublicJob, type PublicJobCard, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type RedirectResolution, type RefreshBody, type RegisterBody, type RelatedSearch, type RemoteOption, type RemotePermit, type RemoteTimezone, type RequestMagicLinkBody, type ResetPasswordBody, SDK_VERSION, type SalaryCompany, type SalaryDetailQuery, type SalaryLocation, type SalarySkill, type SalaryTitle, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
package/dist/index.js CHANGED
@@ -149,7 +149,7 @@ async function clearSession(storage) {
149
149
  }
150
150
 
151
151
  // src/version.ts
152
- var SDK_VERSION = "1.19.0";
152
+ var SDK_VERSION = "1.19.1";
153
153
 
154
154
  // src/client.ts
155
155
  function isRawBody(body) {
@@ -374,6 +374,74 @@ function authNamespace(client) {
374
374
  method: "POST",
375
375
  body
376
376
  });
377
+ },
378
+ /**
379
+ * Request a passwordless magic link. The API always resolves 204
380
+ * when the request is accepted; the email link lands on the
381
+ * board/starter `/auth/magic-link` route.
382
+ *
383
+ * @example
384
+ * await board.auth.requestMagicLink({
385
+ * email: 'a@b.com',
386
+ * returnTo: '/account',
387
+ * });
388
+ */
389
+ requestMagicLink(body, options) {
390
+ return client.fetch("/auth/magic-link", {
391
+ ...options,
392
+ method: "POST",
393
+ body
394
+ });
395
+ },
396
+ /**
397
+ * Consume a magic-link token and persist the returned bearer pair.
398
+ *
399
+ * @example
400
+ * await board.auth.consumeMagicLink({ token });
401
+ */
402
+ async consumeMagicLink(body, options) {
403
+ const session = await client.fetch(
404
+ "/auth/magic-link/consume",
405
+ {
406
+ ...options,
407
+ method: "POST",
408
+ body
409
+ }
410
+ );
411
+ return persist(session);
412
+ },
413
+ /**
414
+ * Build a provider authorization URL. The SDK returns the URL; the
415
+ * host app owns browser navigation.
416
+ *
417
+ * @example
418
+ * const { authorizeUrl } = await board.auth.getOAuthAuthorizationUrl('google');
419
+ * window.location.href = authorizeUrl;
420
+ */
421
+ getOAuthAuthorizationUrl(provider, query, options) {
422
+ return client.fetch(`/auth/oauth/${provider}`, {
423
+ ...options,
424
+ method: "GET",
425
+ query
426
+ });
427
+ },
428
+ /**
429
+ * Exchange the provider callback one-time token and persist the
430
+ * returned bearer pair.
431
+ *
432
+ * @example
433
+ * await board.auth.exchangeOAuth({ token });
434
+ */
435
+ async exchangeOAuth(body, options) {
436
+ const session = await client.fetch(
437
+ "/auth/oauth/exchange",
438
+ {
439
+ ...options,
440
+ method: "POST",
441
+ body
442
+ }
443
+ );
444
+ return persist(session);
377
445
  }
378
446
  };
379
447
  }
package/dist/index.mjs CHANGED
@@ -109,7 +109,7 @@ async function clearSession(storage) {
109
109
  }
110
110
 
111
111
  // src/version.ts
112
- var SDK_VERSION = "1.19.0";
112
+ var SDK_VERSION = "1.19.1";
113
113
 
114
114
  // src/client.ts
115
115
  function isRawBody(body) {
@@ -334,6 +334,74 @@ function authNamespace(client) {
334
334
  method: "POST",
335
335
  body
336
336
  });
337
+ },
338
+ /**
339
+ * Request a passwordless magic link. The API always resolves 204
340
+ * when the request is accepted; the email link lands on the
341
+ * board/starter `/auth/magic-link` route.
342
+ *
343
+ * @example
344
+ * await board.auth.requestMagicLink({
345
+ * email: 'a@b.com',
346
+ * returnTo: '/account',
347
+ * });
348
+ */
349
+ requestMagicLink(body, options) {
350
+ return client.fetch("/auth/magic-link", {
351
+ ...options,
352
+ method: "POST",
353
+ body
354
+ });
355
+ },
356
+ /**
357
+ * Consume a magic-link token and persist the returned bearer pair.
358
+ *
359
+ * @example
360
+ * await board.auth.consumeMagicLink({ token });
361
+ */
362
+ async consumeMagicLink(body, options) {
363
+ const session = await client.fetch(
364
+ "/auth/magic-link/consume",
365
+ {
366
+ ...options,
367
+ method: "POST",
368
+ body
369
+ }
370
+ );
371
+ return persist(session);
372
+ },
373
+ /**
374
+ * Build a provider authorization URL. The SDK returns the URL; the
375
+ * host app owns browser navigation.
376
+ *
377
+ * @example
378
+ * const { authorizeUrl } = await board.auth.getOAuthAuthorizationUrl('google');
379
+ * window.location.href = authorizeUrl;
380
+ */
381
+ getOAuthAuthorizationUrl(provider, query, options) {
382
+ return client.fetch(`/auth/oauth/${provider}`, {
383
+ ...options,
384
+ method: "GET",
385
+ query
386
+ });
387
+ },
388
+ /**
389
+ * Exchange the provider callback one-time token and persist the
390
+ * returned bearer pair.
391
+ *
392
+ * @example
393
+ * await board.auth.exchangeOAuth({ token });
394
+ */
395
+ async exchangeOAuth(body, options) {
396
+ const session = await client.fetch(
397
+ "/auth/oauth/exchange",
398
+ {
399
+ ...options,
400
+ method: "POST",
401
+ body
402
+ }
403
+ );
404
+ return persist(session);
337
405
  }
338
406
  };
339
407
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cavuno/board",
3
- "version": "1.19.0",
3
+ "version": "1.19.1",
4
4
  "description": "Typed isomorphic client for the Cavuno Board API",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.19.0",
2
+ "version": "1.19.1",
3
3
  "skills": [
4
4
  {
5
5
  "name": "cavuno-board-auth",