@cavuno/board 4.7.0 → 4.9.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 (47) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/{_spec-B2ZrXuea.d.mts → _spec-B9Ah8dNs.d.mts} +78 -3
  3. package/dist/{_spec-B2ZrXuea.d.ts → _spec-B9Ah8dNs.d.ts} +78 -3
  4. package/dist/bin.mjs +174 -19
  5. package/dist/{blog-B125P3dS.d.mts → blog-BmqWfLZi.d.mts} +1 -1
  6. package/dist/{blog-BmEG_fhe.d.ts → blog-bh07fZ8Q.d.ts} +1 -1
  7. package/dist/{board-QTX75RxT.d.mts → board-B4jLqmxn.d.mts} +5 -3
  8. package/dist/{board-6woxZtzD.d.ts → board-De8nLbk7.d.ts} +5 -3
  9. package/dist/{breadcrumbs-BVeDYPCw.d.ts → breadcrumbs-B1HVufC7.d.ts} +2 -2
  10. package/dist/{breadcrumbs-CP42mzYb.d.mts → breadcrumbs-BVQL2dNY.d.mts} +2 -2
  11. package/dist/browser/cavuno-board.global.min.js +1 -1
  12. package/dist/{chunk-ZCEAOJ6Y.mjs → chunk-T46JASKG.mjs} +4 -0
  13. package/dist/doctor.d.mts +3 -1
  14. package/dist/doctor.d.ts +3 -1
  15. package/dist/doctor.js +169 -17
  16. package/dist/doctor.mjs +169 -17
  17. package/dist/filters.d.mts +2 -2
  18. package/dist/filters.d.ts +2 -2
  19. package/dist/format.d.mts +4 -4
  20. package/dist/format.d.ts +4 -4
  21. package/dist/index.d.mts +82 -25
  22. package/dist/index.d.ts +82 -25
  23. package/dist/index.js +48 -3
  24. package/dist/index.mjs +45 -4
  25. package/dist/{jobs-DrdhICLO.d.mts → jobs-B7q3BgIK.d.mts} +1 -1
  26. package/dist/{jobs-BH1CgV8J.d.ts → jobs-Iv6Wkvvf.d.ts} +1 -1
  27. package/dist/{search-CCsijbzU.d.ts → search-CbDZwdyl.d.ts} +1 -1
  28. package/dist/{search-B9T6rAhd.d.mts → search-DC0jatQN.d.mts} +1 -1
  29. package/dist/seo-BDFUuvXM.d.ts +12 -0
  30. package/dist/seo-HCE7aCkh.d.mts +12 -0
  31. package/dist/seo-files.d.mts +36 -0
  32. package/dist/seo-files.d.ts +36 -0
  33. package/dist/seo-files.js +102 -0
  34. package/dist/seo-files.mjs +81 -0
  35. package/dist/seo.d.mts +6 -6
  36. package/dist/seo.d.ts +6 -6
  37. package/dist/server.d.mts +6 -5
  38. package/dist/server.d.ts +6 -5
  39. package/dist/server.mjs +1 -1
  40. package/dist/sitemap.d.mts +6 -5
  41. package/dist/sitemap.d.ts +6 -5
  42. package/dist/suggest.d.mts +2 -2
  43. package/dist/suggest.d.ts +2 -2
  44. package/package.json +11 -1
  45. package/skills/cavuno-board-account/SKILL.md +6 -1
  46. package/skills/cavuno-board-filters/SKILL.md +17 -3
  47. package/skills/manifest.json +1 -1
@@ -134,7 +134,12 @@ if (data.length === 0 && (skills.data.length === 0 || resume.parseStatus !== 'pa
134
134
 
135
135
  ## Notification preferences
136
136
 
137
- Authenticated settings expose `messageEmails` and `applicationEmails`. Updating one channel returns the full set.
137
+ Authenticated settings expose `messageEmails`, `applicationEmails`, and
138
+ `recommendedJobEmails`. The first two default subscribed when no stored
139
+ preference exists; recommendation email is explicit opt-in and defaults
140
+ unsubscribed. Each preference includes additive `waitlisted`. Updating
141
+ one channel returns the full set. A subscribe at the Email subscribers
142
+ cap waitlists instead of failing.
138
143
 
139
144
  ```ts snippet
140
145
  const preferences = await board.me.notificationPreferences.retrieve();
@@ -67,7 +67,9 @@ application's copy (message catalog or hard-coded board language).
67
67
 
68
68
  Category and skill collections contain terms backed by published jobs. Each
69
69
  term already carries a board-language `displayName`, immutable English
70
- `sourceSlug` for filtering, and board-language `canonicalSlug` for links.
70
+ `sourceSlug` for filtering, board-language `canonicalSlug` for links, and
71
+ a live `jobCount` (published jobs on the board — not a tally of the current
72
+ list page).
71
73
 
72
74
  ```ts snippet
73
75
  const categories = await board.taxonomy.categories.list({ limit: 50 });
@@ -77,11 +79,23 @@ const categoryOptions = categories.data.map((term) => ({
77
79
  label: term.displayName,
78
80
  filterValue: term.sourceSlug,
79
81
  href: `/jobs/${term.canonicalSlug}`,
82
+ jobCount: term.jobCount,
80
83
  }));
81
84
  ```
82
85
 
83
- Category and skill lists accept `q`, `limit` (1–100), and opaque `cursor`.
84
- Pass `nextCursor` unchanged to the next request.
86
+ For homepage "browse by category" tiles, ask for the busiest terms rather
87
+ than the first page of the name-sorted collection:
88
+
89
+ ```ts snippet
90
+ const top = await board.taxonomy.categories.list({
91
+ limit: 8,
92
+ sort: 'jobCount',
93
+ });
94
+ ```
95
+
96
+ Category and skill lists accept `q`, `limit` (1–100), `sort` (`name` or
97
+ `jobCount`), and opaque `cursor`. Pass `nextCursor` unchanged to the next
98
+ request. The cursor is bound to `q`, `limit`, and `sort`.
85
99
 
86
100
  ```ts snippet
87
101
  const first = await board.taxonomy.categories.list({ limit: 50 });
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.7.0",
2
+ "version": "4.9.0",
3
3
  "skills": [
4
4
  {
5
5
  "name": "cavuno-board-account",