@cavuno/board 4.62.0 → 4.63.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 (40) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/{_spec-BCwCDDX2.d.mts → _spec-D1Qg_Twd.d.mts} +44 -3
  3. package/dist/{_spec-BCwCDDX2.d.ts → _spec-D1Qg_Twd.d.ts} +44 -3
  4. package/dist/{blog-BQ869KiE.d.ts → blog-Dp2jAVVM.d.ts} +1 -1
  5. package/dist/{blog-C0wl_hx8.d.mts → blog-e0YbZBjg.d.mts} +1 -1
  6. package/dist/{board-D5x6dfUk.d.ts → board-BeNZLOYC.d.ts} +2 -2
  7. package/dist/{board-D2ImSfzo.d.mts → board-Cc3wbTKI.d.mts} +2 -2
  8. package/dist/{breadcrumbs-CkIH_iCI.d.ts → breadcrumbs-BOFeIYEX.d.ts} +2 -2
  9. package/dist/{breadcrumbs-DqkhouJc.d.mts → breadcrumbs-C5WjB8jm.d.mts} +2 -2
  10. package/dist/browser/cavuno-board.global.min.js +1 -1
  11. package/dist/{chunk-GRQRZRLO.mjs → chunk-COHTNSU2.mjs} +2 -1
  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 +64 -15
  17. package/dist/index.d.ts +64 -15
  18. package/dist/index.js +25 -6
  19. package/dist/index.mjs +24 -6
  20. package/dist/{jobs-B86GBnD5.d.mts → jobs-CClqlUld.d.mts} +1 -1
  21. package/dist/{jobs-Bjb0KdER.d.ts → jobs-D04ngjCP.d.ts} +1 -1
  22. package/dist/{search-PLWHFWyZ.d.mts → search-BtrwcLkc.d.mts} +1 -1
  23. package/dist/{search-CQHlSXMC.d.ts → search-DZeNdYN6.d.ts} +1 -1
  24. package/dist/{seo-C8JYKw0_.d.ts → seo-DLoyZRTo.d.ts} +1 -1
  25. package/dist/{seo-cXaJTDHD.d.mts → seo-LfpgbdnO.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-products/SKILL.md +4 -1
  40. package/skills/manifest.json +1 -1
@@ -1,5 +1,5 @@
1
- import { B as BoardSeo } from './seo-cXaJTDHD.mjs';
2
- import './_spec-BCwCDDX2.mjs';
1
+ import { B as BoardSeo } from './seo-LfpgbdnO.mjs';
2
+ import './_spec-D1Qg_Twd.mjs';
3
3
 
4
4
  /**
5
5
  * `@cavuno/board/seo-files` — platform-owned crawler/identity file bodies
@@ -1,5 +1,5 @@
1
- import { B as BoardSeo } from './seo-C8JYKw0_.js';
2
- import './_spec-BCwCDDX2.js';
1
+ import { B as BoardSeo } from './seo-DLoyZRTo.js';
2
+ import './_spec-D1Qg_Twd.js';
3
3
 
4
4
  /**
5
5
  * `@cavuno/board/seo-files` — platform-owned crawler/identity file bodies
package/dist/seo.d.mts CHANGED
@@ -1,9 +1,9 @@
1
- import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-C0wl_hx8.mjs';
2
- import { e as JsonLdObject } from './breadcrumbs-DqkhouJc.mjs';
3
- export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-DqkhouJc.mjs';
4
- import './_spec-BCwCDDX2.mjs';
5
- import './board-D2ImSfzo.mjs';
6
- import './jobs-B86GBnD5.mjs';
1
+ import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-e0YbZBjg.mjs';
2
+ import { e as JsonLdObject } from './breadcrumbs-C5WjB8jm.mjs';
3
+ export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-C5WjB8jm.mjs';
4
+ import './_spec-D1Qg_Twd.mjs';
5
+ import './board-Cc3wbTKI.mjs';
6
+ import './jobs-CClqlUld.mjs';
7
7
 
8
8
  /**
9
9
  * Blog structured data on the `@cavuno/board` wire types, transcribed from
package/dist/seo.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-BQ869KiE.js';
2
- import { e as JsonLdObject } from './breadcrumbs-CkIH_iCI.js';
3
- export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-CkIH_iCI.js';
4
- import './_spec-BCwCDDX2.js';
5
- import './board-D5x6dfUk.js';
6
- import './jobs-Bjb0KdER.js';
1
+ import { P as PublicBlogPostSummary, B as BlogAuthorEmbed } from './blog-Dp2jAVVM.js';
2
+ import { e as JsonLdObject } from './breadcrumbs-BOFeIYEX.js';
3
+ export { A as ALL_COUNTRY_CODES, B as BreadcrumbItemInput, g as FaqItem, J as JobBreadcrumb, h as JsonLdBoard, N as NumberNotation, i as SENIORITY_ORDER, j as SalaryFaqEntry, k as SalaryJsonLdOptions, l as SalaryOccupationListOptions, b as buildJobBreadcrumbs, m as buildSalaryFaq, o as companyCategorySalaryJsonLd, p as companySalaryJsonLd, q as createBreadcrumbJsonLd, r as createJobPostingJsonLd, s as crossAxisSalaryJsonLd, t as faqJsonLd, c as formatSalaryStat, d as formatSalaryStatRange, u as itemListJsonLd, v as locationSalaryJsonLd, n as normalizeWebsiteUrl, w as skillSalaryJsonLd, x as sortBySeniority, y as titleSalaryJsonLd } from './breadcrumbs-BOFeIYEX.js';
4
+ import './_spec-D1Qg_Twd.js';
5
+ import './board-BeNZLOYC.js';
6
+ import './jobs-D04ngjCP.js';
7
7
 
8
8
  /**
9
9
  * Blog structured data on the `@cavuno/board` wire types, transcribed from
package/dist/server.d.mts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { BoardSdk } from './index.mjs';
2
- import './_spec-BCwCDDX2.mjs';
3
- import './search-PLWHFWyZ.mjs';
4
- import './jobs-B86GBnD5.mjs';
5
- import './board-D2ImSfzo.mjs';
6
- import './seo-cXaJTDHD.mjs';
7
- import './blog-C0wl_hx8.mjs';
2
+ import './_spec-D1Qg_Twd.mjs';
3
+ import './search-BtrwcLkc.mjs';
4
+ import './jobs-CClqlUld.mjs';
5
+ import './board-Cc3wbTKI.mjs';
6
+ import './seo-LfpgbdnO.mjs';
7
+ import './blog-e0YbZBjg.mjs';
8
8
 
9
9
  /**
10
10
  * Session cookie codec — pure (no framework imports, no node imports) so it
package/dist/server.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { BoardSdk } from './index.js';
2
- import './_spec-BCwCDDX2.js';
3
- import './search-CQHlSXMC.js';
4
- import './jobs-Bjb0KdER.js';
5
- import './board-D5x6dfUk.js';
6
- import './seo-C8JYKw0_.js';
7
- import './blog-BQ869KiE.js';
2
+ import './_spec-D1Qg_Twd.js';
3
+ import './search-DZeNdYN6.js';
4
+ import './jobs-D04ngjCP.js';
5
+ import './board-BeNZLOYC.js';
6
+ import './seo-DLoyZRTo.js';
7
+ import './blog-Dp2jAVVM.js';
8
8
 
9
9
  /**
10
10
  * Session cookie codec — pure (no framework imports, no node imports) so it
package/dist/server.mjs CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-Z4ALWIGS.mjs";
5
5
  import {
6
6
  isUnauthorized
7
- } from "./chunk-GRQRZRLO.mjs";
7
+ } from "./chunk-COHTNSU2.mjs";
8
8
 
9
9
  // src/server/cookie.ts
10
10
  var COOKIE_ATTRIBUTES = "Path=/; HttpOnly; Secure; SameSite=Lax";
@@ -1,10 +1,10 @@
1
1
  import { BoardSdk } from './index.mjs';
2
- import './_spec-BCwCDDX2.mjs';
3
- import './search-PLWHFWyZ.mjs';
4
- import './jobs-B86GBnD5.mjs';
5
- import './board-D2ImSfzo.mjs';
6
- import './seo-cXaJTDHD.mjs';
7
- import './blog-C0wl_hx8.mjs';
2
+ import './_spec-D1Qg_Twd.mjs';
3
+ import './search-BtrwcLkc.mjs';
4
+ import './jobs-CClqlUld.mjs';
5
+ import './board-Cc3wbTKI.mjs';
6
+ import './seo-LfpgbdnO.mjs';
7
+ import './blog-e0YbZBjg.mjs';
8
8
 
9
9
  /**
10
10
  * Sitemap primitives — the pure XML + bucket-filename logic behind a board
package/dist/sitemap.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { BoardSdk } from './index.js';
2
- import './_spec-BCwCDDX2.js';
3
- import './search-CQHlSXMC.js';
4
- import './jobs-Bjb0KdER.js';
5
- import './board-D5x6dfUk.js';
6
- import './seo-C8JYKw0_.js';
7
- import './blog-BQ869KiE.js';
2
+ import './_spec-D1Qg_Twd.js';
3
+ import './search-DZeNdYN6.js';
4
+ import './jobs-D04ngjCP.js';
5
+ import './board-BeNZLOYC.js';
6
+ import './seo-DLoyZRTo.js';
7
+ import './blog-Dp2jAVVM.js';
8
8
 
9
9
  /**
10
10
  * Sitemap primitives — the pure XML + bucket-filename logic behind a board
package/dist/sitemap.mjs CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-DLSO6XXY.mjs";
4
4
  import {
5
5
  isNotFound
6
- } from "./chunk-GRQRZRLO.mjs";
6
+ } from "./chunk-COHTNSU2.mjs";
7
7
  import {
8
8
  BOARD_PATHS,
9
9
  blogAuthorPath,
@@ -1,5 +1,5 @@
1
- import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-PLWHFWyZ.mjs';
2
- import './_spec-BCwCDDX2.mjs';
1
+ import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-BtrwcLkc.mjs';
2
+ import './_spec-D1Qg_Twd.mjs';
3
3
 
4
4
  /**
5
5
  * `@cavuno/board/suggest` — framework-agnostic headless search-suggest
package/dist/suggest.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-CQHlSXMC.js';
2
- import './_spec-BCwCDDX2.js';
1
+ import { h as SuggestionItem, b as SearchSuggestQuery, F as FetchOptions, g as SuggestResult } from './search-DZeNdYN6.js';
2
+ import './_spec-D1Qg_Twd.js';
3
3
 
4
4
  /**
5
5
  * `@cavuno/board/suggest` — framework-agnostic headless search-suggest
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cavuno/board",
3
- "version": "4.62.0",
3
+ "version": "4.63.0",
4
4
  "description": "Build custom job boards and careers pages with Cavuno’s TypeScript SDK.",
5
5
  "keywords": [
6
6
  "api-client",
@@ -130,10 +130,13 @@ A board can have one tip jar: visitors tip any amount at or above a minimum on t
130
130
  const jar = await board.tipJar.get(); // tip_jar_not_found (404): hide the tip page and its links
131
131
  // jar.suggestedCents: three amounts, smallest first; jar.minimumCents; jar.allowNote
132
132
  // jar.tipCount is null unless the board shows the number of tips
133
+ // jar.coverFee: the card rate, or null when the board does not offer to cover the card fee;
134
+ // tipCoverFeeCents(amountCents, jar.coverFee) is the fee to show ("Add {fee} to cover the card fee")
133
135
 
134
136
  const kit = await board.tipJar.checkout({
135
137
  amountCents: 500, // at least jar.minimumCents
136
138
  note: 'Thanks for the weekly roundup!', // only when jar.allowNote; 280 characters max
139
+ coverFee: true, // the tipper ticked "cover the card fee"; only when jar.coverFee is not null
137
140
  returnPath: '/tip',
138
141
  website: '', // honeypot: render hidden, send empty
139
142
  });
@@ -145,7 +148,7 @@ if (status.status === 'paid') showThanks(status.thankYouMessage, status.receiptE
145
148
  // 'processing' until the payment clears: poll briefly
146
149
  ```
147
150
 
148
- Stripe collects the tipper's email (prefilled for a signed-in board user), so the form asks only for the amount and the note. Render the note as a plain `textarea`. `receiptEmail` is masked (`m•••@gmail.com`) because the session id is in a shareable URL. Link to the tip page with `jar.url`, which follows the board's route manifest. Errors: `tip_amount_below_minimum` (400, `details.minimumCents`), `tip_amount_invalid`, `tip_note_not_allowed`, `tip_note_too_long` (400), `tip_jar_not_found` (404), `stripe_not_connected` (409), `rate_limited` (429), `rate_limit_unavailable` (503); `getCheckout` with an unknown session is `tip_checkout_not_found` (404). The API never returns other tippers' emails or notes.
151
+ Stripe collects the tipper's email (prefilled for a signed-in board user), so the form asks only for the amount and the note. Render the note as a plain `textarea`. `receiptEmail` is masked (`m•••@gmail.com`) because the session id is in a shareable URL. Link to the tip page with `jar.url`, which follows the board's route manifest. Errors: `tip_amount_below_minimum` (400, `details.minimumCents`), `tip_amount_invalid`, `tip_note_not_allowed`, `tip_note_too_long`, `tip_fee_cover_not_allowed` (400), `tip_jar_not_found` (404), `stripe_not_connected` (409), `rate_limited` (429), `rate_limit_unavailable` (503); `getCheckout` with an unknown session is `tip_checkout_not_found` (404). The API never returns other tippers' emails or notes.
149
152
 
150
153
  ## Completion gate
151
154
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.62.0",
2
+ "version": "4.63.0",
3
3
  "skills": [
4
4
  {
5
5
  "name": "cavuno-board-account",