@cavuno/board 4.65.0 → 4.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/{_spec-CIufstif.d.mts → _spec-DBI6azWs.d.mts} +39 -1
  3. package/dist/{_spec-CIufstif.d.ts → _spec-DBI6azWs.d.ts} +39 -1
  4. package/dist/{blog-DuNJLfIh.d.ts → blog--VKuBIdw.d.ts} +1 -1
  5. package/dist/{blog-teDJ9KaO.d.mts → blog-Bx-rjH4V.d.mts} +1 -1
  6. package/dist/{board-DZNCHGgl.d.mts → board-BsUhxdjL.d.mts} +2 -2
  7. package/dist/{board-iCHYuNhr.d.ts → board-USJ9ZZab.d.ts} +2 -2
  8. package/dist/{breadcrumbs-Bt3oNIAx.d.mts → breadcrumbs-BVN_gIJq.d.mts} +2 -2
  9. package/dist/{breadcrumbs-DYGo0yB9.d.ts → breadcrumbs-maV86vZP.d.ts} +2 -2
  10. package/dist/browser/cavuno-board.global.min.js +1 -1
  11. package/dist/{chunk-H3YIWHXR.mjs → chunk-R62XFNS7.mjs} +1 -0
  12. package/dist/filters.d.mts +2 -2
  13. package/dist/filters.d.ts +2 -2
  14. package/dist/format.d.mts +4 -4
  15. package/dist/format.d.ts +4 -4
  16. package/dist/index.d.mts +42 -15
  17. package/dist/index.d.ts +42 -15
  18. package/dist/index.js +19 -1
  19. package/dist/index.mjs +19 -2
  20. package/dist/{jobs-DM_QMccX.d.ts → jobs-Dyj1HZ8W.d.ts} +1 -1
  21. package/dist/{jobs-CbXbDBij.d.mts → jobs-qoVMh_Zd.d.mts} +1 -1
  22. package/dist/{search-PrqcJMft.d.mts → search-CrXCM8Hq.d.mts} +1 -1
  23. package/dist/{search-B7x4qt9A.d.ts → search-DPHLf8pI.d.ts} +1 -1
  24. package/dist/{seo-C1Br7ygq.d.ts → seo-BDwe8PwT.d.ts} +1 -1
  25. package/dist/{seo-ohehUCzN.d.mts → seo-DRVgmTCQ.d.mts} +1 -1
  26. package/dist/seo-files.d.mts +2 -2
  27. package/dist/seo-files.d.ts +2 -2
  28. package/dist/seo.d.mts +6 -6
  29. package/dist/seo.d.ts +6 -6
  30. package/dist/server.d.mts +6 -6
  31. package/dist/server.d.ts +6 -6
  32. package/dist/server.mjs +1 -1
  33. package/dist/sitemap.d.mts +6 -6
  34. package/dist/sitemap.d.ts +6 -6
  35. package/dist/sitemap.mjs +1 -1
  36. package/dist/suggest.d.mts +2 -2
  37. package/dist/suggest.d.ts +2 -2
  38. package/package.json +1 -1
  39. package/skills/cavuno-board-filters/SKILL.md +12 -4
  40. package/skills/cavuno-board-post-a-job/SKILL.md +54 -5
  41. package/skills/manifest.json +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,37 @@
3
3
  This changelog records changes that affect Board API compatibility, exported
4
4
  types, runtime behavior, or supported integration patterns.
5
5
 
6
+ ## 4.66.0 — 2026-11-11
7
+
8
+ - Embedded checkout for paid job postings: send `checkoutUiMode:
9
+ 'embedded_page'` to `board.jobPosting.submit` and a paid plan returns
10
+ `status: 'embedded_checkout'` with the `clientSecret`, publishable key and
11
+ connected account to mount Stripe Embedded Checkout. `hosted_page` stays
12
+ the default.
13
+ - New `board.jobPosting.getCheckout(sessionId)` reads a posting's checkout
14
+ outcome: `awaiting_payment`, `processing`, `paid`, `payment_failed` or
15
+ `canceled`, with `jobStatus` and, once live, `jobUrl`. It answers
16
+ `GET /boards/{identifier}/job-postings/checkout/{sessionId}`, and an unknown
17
+ session returns `job_posting_checkout_not_found`.
18
+ - Categories carry `totalJobCount`, the published jobs on the category or any
19
+ subcategory, each job once. `board.taxonomy.categories.list` accepts
20
+ `sort: 'totalJobCount'`, which also lists a parent with no jobs of its own.
21
+ A parent category is listed while any subcategory has published jobs.
22
+ - `GET`, `PUT` and `DELETE /sdk-frontend` register the URL your own frontend
23
+ serves the board on, so board links, auth emails, OAuth completion and
24
+ checkout returns point at it.
25
+ - `GET /contacts`, `GET /contacts/{id}`, `GET /contacts/{id}/emails` and
26
+ `GET /contacts/{id}/activity` read the board's contacts, their emails and
27
+ their activity.
28
+ - `GET /domains/{id}/dns` checks a domain's live DNS records.
29
+ - `GET /settings` and `PATCH /settings` take `mcpEnabled` and
30
+ `mcpDisabledTools`, to switch the board's MCP server off or leave out
31
+ individual tools.
32
+ - `GET /taxonomies/retag` and `POST /taxonomies/retag` re-tag live jobs (or,
33
+ for markets, companies with live jobs) against a list the board manages,
34
+ once every 24 hours per list. `/taxonomies/settings` takes
35
+ `listDescription`, one sentence on what each list means.
36
+
6
37
  ## 4.65.0 — 2026-11-09
7
38
 
8
39
  - Board MCP server: every board on a plan with API access serves a public,
@@ -1214,6 +1214,11 @@ interface components {
1214
1214
  }[];
1215
1215
  };
1216
1216
  colorMode?: string;
1217
+ /**
1218
+ * @description How a paid plan is checked out. `hosted_page` (the default) returns `status: checkout` with a Stripe-hosted `checkoutUrl`. `embedded_page` returns `status: embedded_checkout` with a client secret to mount Stripe Embedded Checkout on your own page; cards complete in place, and payment methods that need a redirect return to the board origin's `/post/success`.
1219
+ * @enum {string}
1220
+ */
1221
+ checkoutUiMode?: "hosted_page" | "embedded_page";
1217
1222
  };
1218
1223
  CreatePipelineStageBody: {
1219
1224
  /** @description The job whose pipeline gains the stage. */
@@ -2046,6 +2051,24 @@ interface components {
2046
2051
  object: "job_posting_billing_verification";
2047
2052
  success: boolean;
2048
2053
  };
2054
+ JobPostingCheckoutStatus: {
2055
+ /** @enum {string} */
2056
+ object: "job_posting_checkout_status";
2057
+ /**
2058
+ * @description `awaiting_payment` until Stripe confirms the payment to Cavuno, usually within seconds (poll briefly), `processing` while a delayed payment such as a bank debit clears (days), `paid` once it has, `payment_failed` when that delayed payment failed (the job stays a draft until a new checkout is paid), `canceled` when the checkout expired unpaid.
2059
+ * @enum {string}
2060
+ */
2061
+ status: "awaiting_payment" | "processing" | "paid" | "payment_failed" | "canceled";
2062
+ jobId: string;
2063
+ jobTitle: string;
2064
+ /**
2065
+ * @description `published` once the job is live, `pending_approval` while the board reviews it, `unpublished` otherwise (before payment, or taken down).
2066
+ * @enum {string}
2067
+ */
2068
+ jobStatus: "published" | "pending_approval" | "unpublished";
2069
+ /** @description `published` only: the job's public URL on the board. */
2070
+ jobUrl: string | null;
2071
+ };
2049
2072
  JobPostingLogo: {
2050
2073
  /** @enum {string} */
2051
2074
  object: "job_posting_logo";
@@ -2085,6 +2108,19 @@ interface components {
2085
2108
  status: "checkout";
2086
2109
  checkoutUrl: string;
2087
2110
  jobId: string;
2111
+ } | {
2112
+ /** @enum {string} */
2113
+ object: "job_posting_result";
2114
+ /** @enum {string} */
2115
+ status: "embedded_checkout";
2116
+ /** @description The Checkout Session client secret for `stripe.initEmbeddedCheckout`. The session expires after 24 hours unless paid. */
2117
+ clientSecret: string;
2118
+ sessionId: string;
2119
+ /** @description The board's connected Stripe account; pass it as `stripeAccount` to `loadStripe`. */
2120
+ stripeAccountId: string;
2121
+ /** @description The Stripe publishable key for `loadStripe`. */
2122
+ publishableKey: string;
2123
+ jobId: string;
2088
2124
  } | {
2089
2125
  /** @enum {string} */
2090
2126
  object: "job_posting_result";
@@ -3562,8 +3598,10 @@ interface components {
3562
3598
  canonicalSlug: string;
3563
3599
  /** @description Board-language name with source-name fallback. */
3564
3600
  displayName: string;
3565
- /** @description Live published-job count for this term on the board. Maintained as jobs publish and expire — not a tally of the current list page. */
3601
+ /** @description Live published-job count for this term on the board. Maintained as jobs publish and expire — not a tally of the current list page. For a category, only jobs tagged with the category itself, so a parent whose jobs all sit on its children has `0`; see `totalJobCount`. */
3566
3602
  jobCount: number;
3603
+ /** @description Live jobs on this category or any descendant, each job once. Present on categories; equals `jobCount` for a category with no children. Absent on skills. */
3604
+ totalJobCount?: number;
3567
3605
  };
3568
3606
  PublicVerifyBoardPasswordBody: {
3569
3607
  /** @description The board password. */
@@ -1214,6 +1214,11 @@ interface components {
1214
1214
  }[];
1215
1215
  };
1216
1216
  colorMode?: string;
1217
+ /**
1218
+ * @description How a paid plan is checked out. `hosted_page` (the default) returns `status: checkout` with a Stripe-hosted `checkoutUrl`. `embedded_page` returns `status: embedded_checkout` with a client secret to mount Stripe Embedded Checkout on your own page; cards complete in place, and payment methods that need a redirect return to the board origin's `/post/success`.
1219
+ * @enum {string}
1220
+ */
1221
+ checkoutUiMode?: "hosted_page" | "embedded_page";
1217
1222
  };
1218
1223
  CreatePipelineStageBody: {
1219
1224
  /** @description The job whose pipeline gains the stage. */
@@ -2046,6 +2051,24 @@ interface components {
2046
2051
  object: "job_posting_billing_verification";
2047
2052
  success: boolean;
2048
2053
  };
2054
+ JobPostingCheckoutStatus: {
2055
+ /** @enum {string} */
2056
+ object: "job_posting_checkout_status";
2057
+ /**
2058
+ * @description `awaiting_payment` until Stripe confirms the payment to Cavuno, usually within seconds (poll briefly), `processing` while a delayed payment such as a bank debit clears (days), `paid` once it has, `payment_failed` when that delayed payment failed (the job stays a draft until a new checkout is paid), `canceled` when the checkout expired unpaid.
2059
+ * @enum {string}
2060
+ */
2061
+ status: "awaiting_payment" | "processing" | "paid" | "payment_failed" | "canceled";
2062
+ jobId: string;
2063
+ jobTitle: string;
2064
+ /**
2065
+ * @description `published` once the job is live, `pending_approval` while the board reviews it, `unpublished` otherwise (before payment, or taken down).
2066
+ * @enum {string}
2067
+ */
2068
+ jobStatus: "published" | "pending_approval" | "unpublished";
2069
+ /** @description `published` only: the job's public URL on the board. */
2070
+ jobUrl: string | null;
2071
+ };
2049
2072
  JobPostingLogo: {
2050
2073
  /** @enum {string} */
2051
2074
  object: "job_posting_logo";
@@ -2085,6 +2108,19 @@ interface components {
2085
2108
  status: "checkout";
2086
2109
  checkoutUrl: string;
2087
2110
  jobId: string;
2111
+ } | {
2112
+ /** @enum {string} */
2113
+ object: "job_posting_result";
2114
+ /** @enum {string} */
2115
+ status: "embedded_checkout";
2116
+ /** @description The Checkout Session client secret for `stripe.initEmbeddedCheckout`. The session expires after 24 hours unless paid. */
2117
+ clientSecret: string;
2118
+ sessionId: string;
2119
+ /** @description The board's connected Stripe account; pass it as `stripeAccount` to `loadStripe`. */
2120
+ stripeAccountId: string;
2121
+ /** @description The Stripe publishable key for `loadStripe`. */
2122
+ publishableKey: string;
2123
+ jobId: string;
2088
2124
  } | {
2089
2125
  /** @enum {string} */
2090
2126
  object: "job_posting_result";
@@ -3562,8 +3598,10 @@ interface components {
3562
3598
  canonicalSlug: string;
3563
3599
  /** @description Board-language name with source-name fallback. */
3564
3600
  displayName: string;
3565
- /** @description Live published-job count for this term on the board. Maintained as jobs publish and expire — not a tally of the current list page. */
3601
+ /** @description Live published-job count for this term on the board. Maintained as jobs publish and expire — not a tally of the current list page. For a category, only jobs tagged with the category itself, so a parent whose jobs all sit on its children has `0`; see `totalJobCount`. */
3566
3602
  jobCount: number;
3603
+ /** @description Live jobs on this category or any descendant, each job once. Present on categories; equals `jobCount` for a category with no children. Absent on skills. */
3604
+ totalJobCount?: number;
3567
3605
  };
3568
3606
  PublicVerifyBoardPasswordBody: {
3569
3607
  /** @description The board password. */
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-CIufstif.js';
1
+ import { S as Schemas } from './_spec-DBI6azWs.js';
2
2
 
3
3
  /** Author shape embedded on posts (no `object` discriminator). */
4
4
  type BlogAuthorEmbed = Schemas['PublicBlogAuthorEmbed'];
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-CIufstif.mjs';
1
+ import { S as Schemas } from './_spec-DBI6azWs.mjs';
2
2
 
3
3
  /** Author shape embedded on posts (no `object` discriminator). */
4
4
  type BlogAuthorEmbed = Schemas['PublicBlogAuthorEmbed'];
@@ -1,5 +1,5 @@
1
- import { S as Schemas } from './_spec-CIufstif.mjs';
2
- import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-CbXbDBij.mjs';
1
+ import { S as Schemas } from './_spec-DBI6azWs.mjs';
2
+ import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-qoVMh_Zd.mjs';
3
3
 
4
4
  type PublicCompany = Schemas['CompanyPublic'];
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { S as Schemas } from './_spec-CIufstif.js';
2
- import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-DM_QMccX.js';
1
+ import { S as Schemas } from './_spec-DBI6azWs.js';
2
+ import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-Dyj1HZ8W.js';
3
3
 
4
4
  type PublicCompany = Schemas['CompanyPublic'];
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-DZNCHGgl.mjs';
2
- import { P as PublicJob } from './jobs-CbXbDBij.mjs';
1
+ import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-BsUhxdjL.mjs';
2
+ import { P as PublicJob } from './jobs-qoVMh_Zd.mjs';
3
3
 
4
4
  /**
5
5
  * Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
@@ -1,5 +1,5 @@
1
- import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-iCHYuNhr.js';
2
- import { P as PublicJob } from './jobs-DM_QMccX.js';
1
+ import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-USJ9ZZab.js';
2
+ import { P as PublicJob } from './jobs-Dyj1HZ8W.js';
3
3
 
4
4
  /**
5
5
  * Wire enum for `salaryTimeframe`. Defined here (not re-exported from any