@cavuno/board 1.15.1 → 1.17.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
@@ -1452,6 +1452,43 @@ interface components {
1452
1452
  [key: string]: unknown;
1453
1453
  };
1454
1454
  };
1455
+ Plan: {
1456
+ /** @enum {string} */
1457
+ object: "plan";
1458
+ id: string;
1459
+ name: string;
1460
+ description: string | null;
1461
+ /** @enum {string} */
1462
+ purpose: "job_posting" | "talent_access";
1463
+ /** @enum {string} */
1464
+ kind: "free" | "subscription" | "one_time" | "bundle";
1465
+ /** @enum {string|null} */
1466
+ billingInterval: "month" | "year" | null;
1467
+ isRecommended: boolean;
1468
+ displayOrder: number;
1469
+ invoiceOnly: boolean;
1470
+ /** @enum {string|null} */
1471
+ publishTiming: "on_issue" | "on_payment" | null;
1472
+ netTermsDays: number | null;
1473
+ price: {
1474
+ currency: string;
1475
+ amountCents: number;
1476
+ /** @description The public Stripe Price id used to start checkout. */
1477
+ stripePriceId: string | null;
1478
+ } | null;
1479
+ featureSummary: {
1480
+ durationDays: number;
1481
+ maxActiveJobs: number;
1482
+ featuredSlots: number;
1483
+ /** @enum {string} */
1484
+ featureSelectionMode: "auto" | "manual";
1485
+ };
1486
+ /** @description Talent-access allowances (per billing period). Present only when `purpose` is `talent_access`. `"unlimited"` is a sentinel value. */
1487
+ talent?: {
1488
+ unlocksPerPeriod: string;
1489
+ messagesPerPeriod: string;
1490
+ };
1491
+ };
1455
1492
  PublicBlogAdjacentPosts: {
1456
1493
  /** @enum {string} */
1457
1494
  object: "blog_adjacent_posts";
@@ -1993,6 +2030,20 @@ interface components {
1993
2030
  jobCount: number;
1994
2031
  currency: string;
1995
2032
  };
2033
+ SalesLedPlan: {
2034
+ /** @enum {string} */
2035
+ object: "sales_led_plan";
2036
+ id: string;
2037
+ name: string;
2038
+ description: string;
2039
+ /** @description Display price text, e.g. "Contact us". */
2040
+ priceText: string;
2041
+ ctaText: string;
2042
+ /** @description The CTA target — a URL, mailto:, or tel: link. */
2043
+ ctaDestination: string;
2044
+ featuredBullets: string[];
2045
+ displayOrder: number;
2046
+ };
1996
2047
  SaveJobBody: {
1997
2048
  jobId: string;
1998
2049
  };
@@ -2255,6 +2306,77 @@ interface components {
2255
2306
  boardMedianMax: number | null;
2256
2307
  currency: string;
2257
2308
  };
2309
+ TalentDirectoryEntry: {
2310
+ /** @enum {string} */
2311
+ object: "talent_directory_entry";
2312
+ handle: string | null;
2313
+ displayName: string | null;
2314
+ headline: string | null;
2315
+ location: string | null;
2316
+ avatarUrl: string | null;
2317
+ bio: string | null;
2318
+ jobSearchStatus: string | null;
2319
+ skills: string[];
2320
+ experiences: {
2321
+ title: string;
2322
+ companyName: string;
2323
+ startDate: string;
2324
+ endDate: string | null;
2325
+ }[];
2326
+ education: {
2327
+ institutionName: string;
2328
+ startDate: string | null;
2329
+ endDate: string | null;
2330
+ }[];
2331
+ };
2332
+ TalentProfile: {
2333
+ /** @enum {string} */
2334
+ object: "talent_profile";
2335
+ handle: string | null;
2336
+ displayName: string | null;
2337
+ headline: string | null;
2338
+ location: string | null;
2339
+ bio: string | null;
2340
+ avatarUrl: string | null;
2341
+ /** @description The candidate job-search status, or `null` when it is set to employers-only (an anonymous caller is not an employer). */
2342
+ jobSearchStatus: string | null;
2343
+ experiences: {
2344
+ title: string;
2345
+ companyName: string;
2346
+ companyUrl: string | null;
2347
+ location: string | null;
2348
+ employmentType: string | null;
2349
+ locationType: string | null;
2350
+ foundVia: string | null;
2351
+ /** @description Start month, `YYYY-MM`. */
2352
+ startDate: string;
2353
+ /** @description End month `YYYY-MM`, or `null` for a current role. */
2354
+ endDate: string | null;
2355
+ description: string | null;
2356
+ /** @description Skills the candidate applied in this role. */
2357
+ experienceSkills: string[];
2358
+ }[];
2359
+ education: {
2360
+ institutionName: string;
2361
+ institutionUrl: string | null;
2362
+ degree: string | null;
2363
+ fieldOfStudy: string | null;
2364
+ grade: string | null;
2365
+ activitiesAndSocieties: string | null;
2366
+ startDate: string | null;
2367
+ endDate: string | null;
2368
+ description: string | null;
2369
+ }[];
2370
+ skills: {
2371
+ name: string;
2372
+ /** @description Reference to the canonical skill taxonomy, when matched. */
2373
+ jobSkillId: string | null;
2374
+ }[];
2375
+ languages: {
2376
+ name: string;
2377
+ proficiency: string;
2378
+ }[];
2379
+ };
2258
2380
  /** @description Geo for place resolutions; `null` for category/skill. */
2259
2381
  TaxonomyGeo: {
2260
2382
  lat: number | null;
@@ -2855,7 +2977,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
2855
2977
  * constant because the package is platform-neutral and cannot read
2856
2978
  * package.json at runtime.
2857
2979
  */
2858
- declare const SDK_VERSION = "1.15.1";
2980
+ declare const SDK_VERSION = "1.17.0";
2859
2981
 
2860
2982
  type BoardUser = Schemas['BoardUser'];
2861
2983
  type BoardAuthSession = Schemas['BoardAuthSession'];
@@ -2994,6 +3116,40 @@ type CompanyMarketsListQuery = {
2994
3116
  };
2995
3117
  type CompaniesSearchBody = Schemas['PublicCompaniesSearchBody'];
2996
3118
 
3119
+ /**
3120
+ * A candidate's public profile — header (name, headline, location, bio, avatar,
3121
+ * job-search status) plus their experiences, education, skills, and languages.
3122
+ * Only `public` profiles are returned; `jobSearchStatus` is `null` when the
3123
+ * candidate scoped it to employers only.
3124
+ */
3125
+ type TalentProfile = Schemas['TalentProfile'];
3126
+ /** A candidate card in the public talent directory. */
3127
+ type TalentDirectoryEntry = Schemas['TalentDirectoryEntry'];
3128
+ type TalentDirectoryQuery = {
3129
+ cursor?: string;
3130
+ /** Free-text search (name / headline / skills). */
3131
+ q?: string;
3132
+ /** Filter to candidates listing a given skill. */
3133
+ skill?: string;
3134
+ /** 1–100, default 20. */
3135
+ limit?: number;
3136
+ };
3137
+ type TalentDirectoryListEnvelope = ListEnvelope<TalentDirectoryEntry>;
3138
+
3139
+ /**
3140
+ * A board plan (employer pricing). `purpose` is `job_posting` or
3141
+ * `talent_access`; talent-access plans carry a `talent` allowance block.
3142
+ */
3143
+ type Plan = Schemas['Plan'];
3144
+ /** A sales-led ("contact us") plan — a custom CTA tier with no programmatic price. */
3145
+ type SalesLedPlan = Schemas['SalesLedPlan'];
3146
+ type PlansListQuery = {
3147
+ /** Filter to a single purpose. Omit to return all public plans. */
3148
+ purpose?: 'job_posting' | 'talent_access';
3149
+ };
3150
+ type PlanListEnvelope = ListEnvelope<Plan>;
3151
+ type SalesLedPlanListEnvelope = ListEnvelope<SalesLedPlan>;
3152
+
2997
3153
  type SavedJob = Schemas['SavedJob'];
2998
3154
  type SavedJobsListQuery = {
2999
3155
  cursor?: string;
@@ -4380,7 +4536,56 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
4380
4536
  }>;
4381
4537
  };
4382
4538
  };
4539
+ talent: {
4540
+ list(query?: TalentDirectoryQuery, options?: FetchOptions): Promise<TalentDirectoryListEnvelope>;
4541
+ retrieve(handle: string, options?: FetchOptions): Promise<{
4542
+ object: "talent_profile";
4543
+ handle: string | null;
4544
+ displayName: string | null;
4545
+ headline: string | null;
4546
+ location: string | null;
4547
+ bio: string | null;
4548
+ avatarUrl: string | null;
4549
+ jobSearchStatus: string | null;
4550
+ experiences: {
4551
+ title: string;
4552
+ companyName: string;
4553
+ companyUrl: string | null;
4554
+ location: string | null;
4555
+ employmentType: string | null;
4556
+ locationType: string | null;
4557
+ foundVia: string | null;
4558
+ startDate: string;
4559
+ endDate: string | null;
4560
+ description: string | null;
4561
+ experienceSkills: string[];
4562
+ }[];
4563
+ education: {
4564
+ institutionName: string;
4565
+ institutionUrl: string | null;
4566
+ degree: string | null;
4567
+ fieldOfStudy: string | null;
4568
+ grade: string | null;
4569
+ activitiesAndSocieties: string | null;
4570
+ startDate: string | null;
4571
+ endDate: string | null;
4572
+ description: string | null;
4573
+ }[];
4574
+ skills: {
4575
+ name: string;
4576
+ jobSkillId: string | null;
4577
+ }[];
4578
+ languages: {
4579
+ name: string;
4580
+ proficiency: string;
4581
+ }[];
4582
+ }>;
4583
+ };
4584
+ plans: {
4585
+ list(query?: PlansListQuery, options?: FetchOptions): Promise<PlanListEnvelope>;
4586
+ salesLed(options?: FetchOptions): Promise<SalesLedPlanListEnvelope>;
4587
+ };
4383
4588
  };
4384
4589
  type BoardSdk = ReturnType<typeof createBoardClient>;
4385
4590
 
4386
- 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 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 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 SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
4591
+ 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 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 };
package/dist/index.d.ts CHANGED
@@ -1452,6 +1452,43 @@ interface components {
1452
1452
  [key: string]: unknown;
1453
1453
  };
1454
1454
  };
1455
+ Plan: {
1456
+ /** @enum {string} */
1457
+ object: "plan";
1458
+ id: string;
1459
+ name: string;
1460
+ description: string | null;
1461
+ /** @enum {string} */
1462
+ purpose: "job_posting" | "talent_access";
1463
+ /** @enum {string} */
1464
+ kind: "free" | "subscription" | "one_time" | "bundle";
1465
+ /** @enum {string|null} */
1466
+ billingInterval: "month" | "year" | null;
1467
+ isRecommended: boolean;
1468
+ displayOrder: number;
1469
+ invoiceOnly: boolean;
1470
+ /** @enum {string|null} */
1471
+ publishTiming: "on_issue" | "on_payment" | null;
1472
+ netTermsDays: number | null;
1473
+ price: {
1474
+ currency: string;
1475
+ amountCents: number;
1476
+ /** @description The public Stripe Price id used to start checkout. */
1477
+ stripePriceId: string | null;
1478
+ } | null;
1479
+ featureSummary: {
1480
+ durationDays: number;
1481
+ maxActiveJobs: number;
1482
+ featuredSlots: number;
1483
+ /** @enum {string} */
1484
+ featureSelectionMode: "auto" | "manual";
1485
+ };
1486
+ /** @description Talent-access allowances (per billing period). Present only when `purpose` is `talent_access`. `"unlimited"` is a sentinel value. */
1487
+ talent?: {
1488
+ unlocksPerPeriod: string;
1489
+ messagesPerPeriod: string;
1490
+ };
1491
+ };
1455
1492
  PublicBlogAdjacentPosts: {
1456
1493
  /** @enum {string} */
1457
1494
  object: "blog_adjacent_posts";
@@ -1993,6 +2030,20 @@ interface components {
1993
2030
  jobCount: number;
1994
2031
  currency: string;
1995
2032
  };
2033
+ SalesLedPlan: {
2034
+ /** @enum {string} */
2035
+ object: "sales_led_plan";
2036
+ id: string;
2037
+ name: string;
2038
+ description: string;
2039
+ /** @description Display price text, e.g. "Contact us". */
2040
+ priceText: string;
2041
+ ctaText: string;
2042
+ /** @description The CTA target — a URL, mailto:, or tel: link. */
2043
+ ctaDestination: string;
2044
+ featuredBullets: string[];
2045
+ displayOrder: number;
2046
+ };
1996
2047
  SaveJobBody: {
1997
2048
  jobId: string;
1998
2049
  };
@@ -2255,6 +2306,77 @@ interface components {
2255
2306
  boardMedianMax: number | null;
2256
2307
  currency: string;
2257
2308
  };
2309
+ TalentDirectoryEntry: {
2310
+ /** @enum {string} */
2311
+ object: "talent_directory_entry";
2312
+ handle: string | null;
2313
+ displayName: string | null;
2314
+ headline: string | null;
2315
+ location: string | null;
2316
+ avatarUrl: string | null;
2317
+ bio: string | null;
2318
+ jobSearchStatus: string | null;
2319
+ skills: string[];
2320
+ experiences: {
2321
+ title: string;
2322
+ companyName: string;
2323
+ startDate: string;
2324
+ endDate: string | null;
2325
+ }[];
2326
+ education: {
2327
+ institutionName: string;
2328
+ startDate: string | null;
2329
+ endDate: string | null;
2330
+ }[];
2331
+ };
2332
+ TalentProfile: {
2333
+ /** @enum {string} */
2334
+ object: "talent_profile";
2335
+ handle: string | null;
2336
+ displayName: string | null;
2337
+ headline: string | null;
2338
+ location: string | null;
2339
+ bio: string | null;
2340
+ avatarUrl: string | null;
2341
+ /** @description The candidate job-search status, or `null` when it is set to employers-only (an anonymous caller is not an employer). */
2342
+ jobSearchStatus: string | null;
2343
+ experiences: {
2344
+ title: string;
2345
+ companyName: string;
2346
+ companyUrl: string | null;
2347
+ location: string | null;
2348
+ employmentType: string | null;
2349
+ locationType: string | null;
2350
+ foundVia: string | null;
2351
+ /** @description Start month, `YYYY-MM`. */
2352
+ startDate: string;
2353
+ /** @description End month `YYYY-MM`, or `null` for a current role. */
2354
+ endDate: string | null;
2355
+ description: string | null;
2356
+ /** @description Skills the candidate applied in this role. */
2357
+ experienceSkills: string[];
2358
+ }[];
2359
+ education: {
2360
+ institutionName: string;
2361
+ institutionUrl: string | null;
2362
+ degree: string | null;
2363
+ fieldOfStudy: string | null;
2364
+ grade: string | null;
2365
+ activitiesAndSocieties: string | null;
2366
+ startDate: string | null;
2367
+ endDate: string | null;
2368
+ description: string | null;
2369
+ }[];
2370
+ skills: {
2371
+ name: string;
2372
+ /** @description Reference to the canonical skill taxonomy, when matched. */
2373
+ jobSkillId: string | null;
2374
+ }[];
2375
+ languages: {
2376
+ name: string;
2377
+ proficiency: string;
2378
+ }[];
2379
+ };
2258
2380
  /** @description Geo for place resolutions; `null` for category/skill. */
2259
2381
  TaxonomyGeo: {
2260
2382
  lat: number | null;
@@ -2855,7 +2977,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
2855
2977
  * constant because the package is platform-neutral and cannot read
2856
2978
  * package.json at runtime.
2857
2979
  */
2858
- declare const SDK_VERSION = "1.15.1";
2980
+ declare const SDK_VERSION = "1.17.0";
2859
2981
 
2860
2982
  type BoardUser = Schemas['BoardUser'];
2861
2983
  type BoardAuthSession = Schemas['BoardAuthSession'];
@@ -2994,6 +3116,40 @@ type CompanyMarketsListQuery = {
2994
3116
  };
2995
3117
  type CompaniesSearchBody = Schemas['PublicCompaniesSearchBody'];
2996
3118
 
3119
+ /**
3120
+ * A candidate's public profile — header (name, headline, location, bio, avatar,
3121
+ * job-search status) plus their experiences, education, skills, and languages.
3122
+ * Only `public` profiles are returned; `jobSearchStatus` is `null` when the
3123
+ * candidate scoped it to employers only.
3124
+ */
3125
+ type TalentProfile = Schemas['TalentProfile'];
3126
+ /** A candidate card in the public talent directory. */
3127
+ type TalentDirectoryEntry = Schemas['TalentDirectoryEntry'];
3128
+ type TalentDirectoryQuery = {
3129
+ cursor?: string;
3130
+ /** Free-text search (name / headline / skills). */
3131
+ q?: string;
3132
+ /** Filter to candidates listing a given skill. */
3133
+ skill?: string;
3134
+ /** 1–100, default 20. */
3135
+ limit?: number;
3136
+ };
3137
+ type TalentDirectoryListEnvelope = ListEnvelope<TalentDirectoryEntry>;
3138
+
3139
+ /**
3140
+ * A board plan (employer pricing). `purpose` is `job_posting` or
3141
+ * `talent_access`; talent-access plans carry a `talent` allowance block.
3142
+ */
3143
+ type Plan = Schemas['Plan'];
3144
+ /** A sales-led ("contact us") plan — a custom CTA tier with no programmatic price. */
3145
+ type SalesLedPlan = Schemas['SalesLedPlan'];
3146
+ type PlansListQuery = {
3147
+ /** Filter to a single purpose. Omit to return all public plans. */
3148
+ purpose?: 'job_posting' | 'talent_access';
3149
+ };
3150
+ type PlanListEnvelope = ListEnvelope<Plan>;
3151
+ type SalesLedPlanListEnvelope = ListEnvelope<SalesLedPlan>;
3152
+
2997
3153
  type SavedJob = Schemas['SavedJob'];
2998
3154
  type SavedJobsListQuery = {
2999
3155
  cursor?: string;
@@ -4380,7 +4536,56 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
4380
4536
  }>;
4381
4537
  };
4382
4538
  };
4539
+ talent: {
4540
+ list(query?: TalentDirectoryQuery, options?: FetchOptions): Promise<TalentDirectoryListEnvelope>;
4541
+ retrieve(handle: string, options?: FetchOptions): Promise<{
4542
+ object: "talent_profile";
4543
+ handle: string | null;
4544
+ displayName: string | null;
4545
+ headline: string | null;
4546
+ location: string | null;
4547
+ bio: string | null;
4548
+ avatarUrl: string | null;
4549
+ jobSearchStatus: string | null;
4550
+ experiences: {
4551
+ title: string;
4552
+ companyName: string;
4553
+ companyUrl: string | null;
4554
+ location: string | null;
4555
+ employmentType: string | null;
4556
+ locationType: string | null;
4557
+ foundVia: string | null;
4558
+ startDate: string;
4559
+ endDate: string | null;
4560
+ description: string | null;
4561
+ experienceSkills: string[];
4562
+ }[];
4563
+ education: {
4564
+ institutionName: string;
4565
+ institutionUrl: string | null;
4566
+ degree: string | null;
4567
+ fieldOfStudy: string | null;
4568
+ grade: string | null;
4569
+ activitiesAndSocieties: string | null;
4570
+ startDate: string | null;
4571
+ endDate: string | null;
4572
+ description: string | null;
4573
+ }[];
4574
+ skills: {
4575
+ name: string;
4576
+ jobSkillId: string | null;
4577
+ }[];
4578
+ languages: {
4579
+ name: string;
4580
+ proficiency: string;
4581
+ }[];
4582
+ }>;
4583
+ };
4584
+ plans: {
4585
+ list(query?: PlansListQuery, options?: FetchOptions): Promise<PlanListEnvelope>;
4586
+ salesLed(options?: FetchOptions): Promise<SalesLedPlanListEnvelope>;
4587
+ };
4383
4588
  };
4384
4589
  type BoardSdk = ReturnType<typeof createBoardClient>;
4385
4590
 
4386
- 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 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 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 SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
4591
+ 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 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 };
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.15.1";
152
+ var SDK_VERSION = "1.17.0";
153
153
 
154
154
  // src/client.ts
155
155
  function isRawBody(body) {
@@ -911,6 +911,36 @@ function passwordNamespace(client) {
911
911
  };
912
912
  }
913
913
 
914
+ // src/namespaces/plans.ts
915
+ function plansNamespace(client) {
916
+ return {
917
+ /**
918
+ * List the board's public plans (employer pricing) — job-posting +
919
+ * talent-access plans as a flat list, filterable by `purpose`. Group by
920
+ * `purpose` to render the pricing columns.
921
+ *
922
+ * @example
923
+ * const { data } = await board.plans.list({ purpose: 'talent_access' });
924
+ */
925
+ list(query, options) {
926
+ return client.fetch("/plans", { ...options, query });
927
+ },
928
+ /**
929
+ * List the board's sales-led ("contact us") plans — custom marketing tiers
930
+ * with a CTA destination and no programmatic price.
931
+ *
932
+ * @example
933
+ * const { data } = await board.plans.salesLed();
934
+ */
935
+ salesLed(options) {
936
+ return client.fetch(
937
+ "/sales-led-plans",
938
+ options
939
+ );
940
+ }
941
+ };
942
+ }
943
+
914
944
  // src/namespaces/redirects.ts
915
945
  function redirectsNamespace(client) {
916
946
  return {
@@ -1031,6 +1061,44 @@ function salariesNamespace(client) {
1031
1061
  };
1032
1062
  }
1033
1063
 
1064
+ // src/namespaces/talent.ts
1065
+ function talentNamespace(client) {
1066
+ return {
1067
+ /**
1068
+ * List the board's public talent directory — candidate cards ranked by
1069
+ * job-search status then most-recently-updated, the same ordering the
1070
+ * hosted `/talent` page renders. Only `public` profiles appear.
1071
+ *
1072
+ * Throws `talent_directory_restricted` (403) when the board restricts the
1073
+ * directory to employers (render an employer upsell), or
1074
+ * `talent_directory_not_found` (404) when it is disabled.
1075
+ *
1076
+ * @example
1077
+ * const { data } = await board.talent.list({ skill: 'react', limit: 20 });
1078
+ */
1079
+ list(query, options) {
1080
+ return client.fetch("/talent", {
1081
+ ...options,
1082
+ query
1083
+ });
1084
+ },
1085
+ /**
1086
+ * Retrieve a candidate's public profile by handle (or board-user id). Only
1087
+ * `public` profiles resolve; a non-public or unknown handle throws
1088
+ * `talent_not_found` (404).
1089
+ *
1090
+ * @example
1091
+ * const profile = await board.talent.retrieve('jane-doe');
1092
+ */
1093
+ retrieve(handle, options) {
1094
+ return client.fetch(
1095
+ `/talent/${encodeURIComponent(handle)}`,
1096
+ options
1097
+ );
1098
+ }
1099
+ };
1100
+ }
1101
+
1034
1102
  // src/namespaces/taxonomy.ts
1035
1103
  function taxonomyResolver(client, kind) {
1036
1104
  return {
@@ -1117,6 +1185,8 @@ function createBoardClient(options) {
1117
1185
  redirects: redirectsNamespace(client),
1118
1186
  jobAlerts: jobAlertsNamespace(client),
1119
1187
  jobPosting: jobPostingNamespace(client),
1120
- salaries: salariesNamespace(client)
1188
+ salaries: salariesNamespace(client),
1189
+ talent: talentNamespace(client),
1190
+ plans: plansNamespace(client)
1121
1191
  };
1122
1192
  }
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.15.1";
112
+ var SDK_VERSION = "1.17.0";
113
113
 
114
114
  // src/client.ts
115
115
  function isRawBody(body) {
@@ -871,6 +871,36 @@ function passwordNamespace(client) {
871
871
  };
872
872
  }
873
873
 
874
+ // src/namespaces/plans.ts
875
+ function plansNamespace(client) {
876
+ return {
877
+ /**
878
+ * List the board's public plans (employer pricing) — job-posting +
879
+ * talent-access plans as a flat list, filterable by `purpose`. Group by
880
+ * `purpose` to render the pricing columns.
881
+ *
882
+ * @example
883
+ * const { data } = await board.plans.list({ purpose: 'talent_access' });
884
+ */
885
+ list(query, options) {
886
+ return client.fetch("/plans", { ...options, query });
887
+ },
888
+ /**
889
+ * List the board's sales-led ("contact us") plans — custom marketing tiers
890
+ * with a CTA destination and no programmatic price.
891
+ *
892
+ * @example
893
+ * const { data } = await board.plans.salesLed();
894
+ */
895
+ salesLed(options) {
896
+ return client.fetch(
897
+ "/sales-led-plans",
898
+ options
899
+ );
900
+ }
901
+ };
902
+ }
903
+
874
904
  // src/namespaces/redirects.ts
875
905
  function redirectsNamespace(client) {
876
906
  return {
@@ -991,6 +1021,44 @@ function salariesNamespace(client) {
991
1021
  };
992
1022
  }
993
1023
 
1024
+ // src/namespaces/talent.ts
1025
+ function talentNamespace(client) {
1026
+ return {
1027
+ /**
1028
+ * List the board's public talent directory — candidate cards ranked by
1029
+ * job-search status then most-recently-updated, the same ordering the
1030
+ * hosted `/talent` page renders. Only `public` profiles appear.
1031
+ *
1032
+ * Throws `talent_directory_restricted` (403) when the board restricts the
1033
+ * directory to employers (render an employer upsell), or
1034
+ * `talent_directory_not_found` (404) when it is disabled.
1035
+ *
1036
+ * @example
1037
+ * const { data } = await board.talent.list({ skill: 'react', limit: 20 });
1038
+ */
1039
+ list(query, options) {
1040
+ return client.fetch("/talent", {
1041
+ ...options,
1042
+ query
1043
+ });
1044
+ },
1045
+ /**
1046
+ * Retrieve a candidate's public profile by handle (or board-user id). Only
1047
+ * `public` profiles resolve; a non-public or unknown handle throws
1048
+ * `talent_not_found` (404).
1049
+ *
1050
+ * @example
1051
+ * const profile = await board.talent.retrieve('jane-doe');
1052
+ */
1053
+ retrieve(handle, options) {
1054
+ return client.fetch(
1055
+ `/talent/${encodeURIComponent(handle)}`,
1056
+ options
1057
+ );
1058
+ }
1059
+ };
1060
+ }
1061
+
994
1062
  // src/namespaces/taxonomy.ts
995
1063
  function taxonomyResolver(client, kind) {
996
1064
  return {
@@ -1077,7 +1145,9 @@ function createBoardClient(options) {
1077
1145
  redirects: redirectsNamespace(client),
1078
1146
  jobAlerts: jobAlertsNamespace(client),
1079
1147
  jobPosting: jobPostingNamespace(client),
1080
- salaries: salariesNamespace(client)
1148
+ salaries: salariesNamespace(client),
1149
+ talent: talentNamespace(client),
1150
+ plans: plansNamespace(client)
1081
1151
  };
1082
1152
  }
1083
1153
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cavuno/board",
3
- "version": "1.15.1",
3
+ "version": "1.17.0",
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.15.1",
2
+ "version": "1.17.0",
3
3
  "skills": [
4
4
  {
5
5
  "name": "cavuno-board-auth",