@cavuno/board 1.24.0 → 1.26.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 (37) hide show
  1. package/README.md +88 -0
  2. package/dist/bin.mjs +67 -34
  3. package/dist/filters.d.mts +55 -0
  4. package/dist/filters.d.ts +55 -0
  5. package/dist/filters.js +193 -0
  6. package/dist/filters.mjs +170 -0
  7. package/dist/format.d.mts +240 -0
  8. package/dist/format.d.ts +240 -0
  9. package/dist/format.js +453 -0
  10. package/dist/format.mjs +430 -0
  11. package/dist/index.d.mts +92 -3825
  12. package/dist/index.d.ts +92 -3825
  13. package/dist/index.js +154 -7
  14. package/dist/index.mjs +151 -4
  15. package/dist/jobs-CM67_J6H.d.mts +3836 -0
  16. package/dist/jobs-CM67_J6H.d.ts +3836 -0
  17. package/dist/theme.d.mts +63 -0
  18. package/dist/theme.d.ts +63 -0
  19. package/dist/theme.js +149 -0
  20. package/dist/theme.mjs +128 -0
  21. package/package.json +37 -2
  22. package/skills/cavuno-board-account/SKILL.md +147 -0
  23. package/skills/cavuno-board-applications/SKILL.md +110 -0
  24. package/skills/cavuno-board-blog/SKILL.md +99 -0
  25. package/skills/cavuno-board-companies/SKILL.md +99 -0
  26. package/skills/cavuno-board-filters/SKILL.md +89 -0
  27. package/skills/cavuno-board-format/SKILL.md +104 -0
  28. package/skills/cavuno-board-job-alerts/SKILL.md +115 -0
  29. package/skills/cavuno-board-job-posting/SKILL.md +130 -0
  30. package/skills/cavuno-board-jobs/SKILL.md +15 -0
  31. package/skills/cavuno-board-messaging/SKILL.md +121 -0
  32. package/skills/cavuno-board-paywall/SKILL.md +108 -0
  33. package/skills/cavuno-board-salaries/SKILL.md +87 -0
  34. package/skills/cavuno-board-setup/SKILL.md +26 -2
  35. package/skills/cavuno-board-smoke-test/SKILL.md +84 -0
  36. package/skills/cavuno-board-theme/SKILL.md +69 -0
  37. package/skills/manifest.json +92 -1
@@ -1,6 +1,20 @@
1
1
  {
2
- "version": "1.24.0",
2
+ "version": "1.26.0",
3
3
  "skills": [
4
+ {
5
+ "name": "cavuno-board-account",
6
+ "description": "Candidate account self-service with the @cavuno/board SDK — me.retrieve/delete, the candidate profile (merge-patch update, handle availability), experience/education CRUD, skills/languages full-replace, avatar upload, resume upload with async parse polling, and notification preferences plus the anonymous token unsubscribe. Use when building account, profile-edit, onboarding, or notification-settings pages for a signed-in board user.",
7
+ "path": "skills/cavuno-board-account/SKILL.md",
8
+ "framework": null,
9
+ "category": "core"
10
+ },
11
+ {
12
+ "name": "cavuno-board-applications",
13
+ "description": "The native apply flow with the @cavuno/board SDK — jobs.apply (signed-in or guest), attaching a resume via jobs.uploadApplicationResume, the jobs.myApplication \"have I applied?\" check, managing submitted applications (me.applications list/retrieve/updateFacts/withdraw), and saved jobs (me.savedJobs). Use when building an apply form, an application-tracker page, or a save-job button.",
14
+ "path": "skills/cavuno-board-applications/SKILL.md",
15
+ "framework": null,
16
+ "category": "core"
17
+ },
4
18
  {
5
19
  "name": "cavuno-board-auth",
6
20
  "description": "Authenticate board users with the @cavuno/board SDK — register, login, refresh, logout, email verification and password reset. Covers bearer-JWT storage modes, the deliberate no-auto-refresh-on-401 rule (and single-flight handling), and the server-side httpOnly-cookie pattern that keeps tokens out of the browser.",
@@ -8,6 +22,13 @@
8
22
  "framework": null,
9
23
  "category": "core"
10
24
  },
25
+ {
26
+ "name": "cavuno-board-blog",
27
+ "description": "Build the blog with the @cavuno/board SDK — post archives (blog.posts.list with tagSlug/authorSlug/featured), the post page (blog.posts.retrieve + adjacent + similar), blog.tags and blog.authors, and free-text blog.search. Covers the summary-vs-detail split (html on the single read only), cursor pagination, slug-change redirects (redirected/newSlug), and the SEO fields the API actually returns.",
28
+ "path": "skills/cavuno-board-blog/SKILL.md",
29
+ "framework": null,
30
+ "category": "core"
31
+ },
11
32
  {
12
33
  "name": "cavuno-board-client",
13
34
  "description": "Create and configure the @cavuno/board client — baseUrl and the pk_ board identifier, global headers, request/response hooks, per-call FetchOptions caching passthrough, the client.fetch escape hatch, and the rule that keeps one shared instance safe under SSR.",
@@ -15,6 +36,13 @@
15
36
  "framework": null,
16
37
  "category": "core"
17
38
  },
39
+ {
40
+ "name": "cavuno-board-companies",
41
+ "description": "Build company surfaces with the @cavuno/board SDK — the companies index (companies.list / companies.search with the market filter), the company profile (companies.retrieve, listJobs, similar), the markets sub-surface (companies.markets + markets.resolve with its 308 redirectTo), and company salary pages (companies.salaries + salaries.category). Covers PublicCompany vs PublicCompanyDetail and envelope pagination.",
42
+ "path": "skills/cavuno-board-companies/SKILL.md",
43
+ "framework": null,
44
+ "category": "core"
45
+ },
18
46
  {
19
47
  "name": "cavuno-board-errors",
20
48
  "description": "Handle errors and access gating with the @cavuno/board SDK — the BoardApiError shape, the typed guards (isNotFound, isUnauthorized, isValidationError, isRateLimited, isForbidden, isConflict), and the board-password flow (isBoardPasswordRequired → password.verify → X-Board-Access grant).",
@@ -22,6 +50,34 @@
22
50
  "framework": null,
23
51
  "category": "core"
24
52
  },
53
+ {
54
+ "name": "cavuno-board-filters",
55
+ "description": "The canonical listing-filter vocabulary and URL search-param parsing with @cavuno/board/filters — remote/employment/seniority/sort sets, localized seniority labels, and parseListingFilters for jobs-listing routes. Use when building listing pages, filter sidebars, sort dropdowns, or validating listing URL params.",
56
+ "path": "skills/cavuno-board-filters/SKILL.md",
57
+ "framework": null,
58
+ "category": "core"
59
+ },
60
+ {
61
+ "name": "cavuno-board-format",
62
+ "description": "Display formatting for board frontends with @cavuno/board/format — salary ranges, seniority/employment/remote labels, location labels, dates, and the board-language salary lexicon. Use when rendering job cards, detail pages, or salary figures, and whenever a value like salaryMin/salaryTimeframe/seniority needs to become display text.",
63
+ "path": "skills/cavuno-board-format/SKILL.md",
64
+ "framework": null,
65
+ "category": "core"
66
+ },
67
+ {
68
+ "name": "cavuno-board-job-alerts",
69
+ "description": "Build job-alert flows with the @cavuno/board SDK — the anonymous double-opt-in surface (jobAlerts.subscribe/confirm/resendConfirmation + HMAC-token manage/unsubscribe/resubscribe/updatePreference/deletePreference) and the authenticated board.me.alerts CRUD. Covers which surface to use when, how the manage token rides, which filters actually scope delivery, and the full-replace update trap.",
70
+ "path": "skills/cavuno-board-job-alerts/SKILL.md",
71
+ "framework": null,
72
+ "category": "core"
73
+ },
74
+ {
75
+ "name": "cavuno-board-job-posting",
76
+ "description": "Build the anonymous \"Post a job\" funnel with the @cavuno/board SDK — jobPosting.plans, create and its status-discriminated JobPostingResult (checkout / published / pending_approval / invoice_sent), logo upload + fetchLogoByDomain, and the email-verified billing helpers (checkBilling, sendBillingVerification, getBillingOptions, checkSubscriptionEntitlements).",
77
+ "path": "skills/cavuno-board-job-posting/SKILL.md",
78
+ "framework": null,
79
+ "category": "core"
80
+ },
25
81
  {
26
82
  "name": "cavuno-board-jobs",
27
83
  "description": "Browse, search, and render jobs with the @cavuno/board SDK — jobs.list, jobs.search, jobs.retrieve, jobs.similar. Covers the slim card vs full job shapes, storefront pagination (count/limit/offset + opaque cursor), filters, and the candidate-paywall gatedCount.",
@@ -29,6 +85,27 @@
29
85
  "framework": null,
30
86
  "category": "core"
31
87
  },
88
+ {
89
+ "name": "cavuno-board-messaging",
90
+ "description": "Build the board-user messaging inbox with the @cavuno/board SDK — me.conversations (list, unreadCount, retrieve, listMessages, start, reply, markRead, archive), me.messages (edit, unsend, report), me.blocks. Covers the polled-REST contract (no realtime transport in v1), visibility-aware polling, the unread badge, and read receipts.",
91
+ "path": "skills/cavuno-board-messaging/SKILL.md",
92
+ "framework": null,
93
+ "category": "core"
94
+ },
95
+ {
96
+ "name": "cavuno-board-paywall",
97
+ "description": "Build the candidate job-access paywall with the @cavuno/board SDK — anonymous offer reads (paywall.offers), the gated browse experience (gatedCount on job lists), the embedded Stripe checkout mount kit (me.access.checkout → retrieveCheckout → grant), and the billing portal (me.access.portal for recurring grants).",
98
+ "path": "skills/cavuno-board-paywall/SKILL.md",
99
+ "framework": null,
100
+ "category": "core"
101
+ },
102
+ {
103
+ "name": "cavuno-board-salaries",
104
+ "description": "Build salary pages with the @cavuno/board SDK — salaries.titles/skills/locations (list + retrieve + cross-axis .locations/.location/.titles/.skills), salaries.companies.list. Covers the sourceSlug/canonicalSlug 308 contract, the { locale } overlay, aggregate field shapes (avg/median/percentile bands + jobCount), and why salary math must never be recomputed client-side.",
105
+ "path": "skills/cavuno-board-salaries/SKILL.md",
106
+ "framework": null,
107
+ "category": "core"
108
+ },
32
109
  {
33
110
  "name": "cavuno-board-setup",
34
111
  "description": "End-to-end orchestrator for building a headless Cavuno job board with the @cavuno/board SDK. Start here after `npx @cavuno/board setup` copies the skills — detect the framework, wire the client, render board context, jobs browsing and detail, board-user auth and saved jobs, handle errors and access gating, then verify.",
@@ -36,12 +113,26 @@
36
113
  "framework": null,
37
114
  "category": "core"
38
115
  },
116
+ {
117
+ "name": "cavuno-board-smoke-test",
118
+ "description": "Runtime verification for a wired Cavuno board frontend — literal curl probes against the Board API plus per-surface behavioral checks and a mandatory production-build pass. Run after cavuno-board-setup finishes, after upgrading @cavuno/board, or whenever board wiring is suspect. Type checks are not enough for board wiring.",
119
+ "path": "skills/cavuno-board-smoke-test/SKILL.md",
120
+ "framework": null,
121
+ "category": "core"
122
+ },
39
123
  {
40
124
  "name": "cavuno-board-tanstack-start",
41
125
  "description": "TanStack-Start-on-Cloudflare-Workers reference wiring for a headless Cavuno board — SSR loaders calling @cavuno/board server-side, the session held in an __Host- httpOnly cookie owned by the app, a single-flight refresh helper, and FetchOptions cache passthrough on Workers.",
42
126
  "path": "skills/flavors/tanstack-start/SKILL.md",
43
127
  "framework": "tanstack-start",
44
128
  "category": "flavor"
129
+ },
130
+ {
131
+ "name": "cavuno-board-theme",
132
+ "description": "Board branding with @cavuno/board/theme — map the board's stored theme (16 semantic colors × light/dark + typography from board.context().theme) onto shadcn CSS variables, resolve the color-scheme mode, and build the Google Fonts request. Use when wiring the app shell, dark mode, or brand styling for a tenant frontend.",
133
+ "path": "skills/cavuno-board-theme/SKILL.md",
134
+ "framework": null,
135
+ "category": "core"
45
136
  }
46
137
  ]
47
138
  }