@cavuno/board 3.0.0 → 3.2.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 (64) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +11 -0
  3. package/dist/blog-DGBHmExV.d.mts +29 -0
  4. package/dist/blog-iV9XEIGf.d.ts +29 -0
  5. package/dist/{salaries-ChSqDBAM.d.mts → board-BJbXd_9_.d.mts} +14 -27
  6. package/dist/{salaries-BahBpxWT.d.ts → board-JhdUWIoq.d.ts} +14 -27
  7. package/dist/breadcrumbs-1hMjcsqA.d.mts +171 -0
  8. package/dist/breadcrumbs-DexU07TT.d.ts +171 -0
  9. package/dist/chunk-2ETP5UH4.mjs +271 -0
  10. package/dist/chunk-DLSO6XXY.mjs +33 -0
  11. package/dist/chunk-IJCJ26SQ.mjs +596 -0
  12. package/dist/chunk-L7ZOYWHW.mjs +98 -0
  13. package/dist/chunk-LUGJWOT7.mjs +96 -0
  14. package/dist/chunk-NXY3OWGF.mjs +1060 -0
  15. package/dist/chunk-STE77MAT.mjs +844 -0
  16. package/dist/filters.mjs +7 -668
  17. package/dist/format.d.mts +2 -1
  18. package/dist/format.d.ts +2 -1
  19. package/dist/format.js +592 -523
  20. package/dist/format.mjs +19 -680
  21. package/dist/go.mjs +4 -29
  22. package/dist/index.d.mts +5 -4
  23. package/dist/index.d.ts +5 -4
  24. package/dist/index.js +1 -1
  25. package/dist/index.mjs +22 -278
  26. package/dist/paths.mjs +20 -77
  27. package/dist/route-contract.mjs +30 -1079
  28. package/dist/seo.d.mts +14 -171
  29. package/dist/seo.d.ts +14 -171
  30. package/dist/seo.js +1 -1
  31. package/dist/seo.mjs +24 -1399
  32. package/dist/server.d.mts +2 -2
  33. package/dist/server.d.ts +2 -2
  34. package/dist/server.mjs +5 -31
  35. package/dist/sitemap.d.mts +2 -2
  36. package/dist/sitemap.d.ts +2 -2
  37. package/dist/sitemap.mjs +20 -96
  38. package/dist/well-known.mjs +4 -421
  39. package/package.json +6 -3
  40. package/skills/cavuno-board-account/SKILL.md +4 -0
  41. package/skills/cavuno-board-api-client/SKILL.md +4 -0
  42. package/skills/cavuno-board-applications/SKILL.md +4 -0
  43. package/skills/cavuno-board-auth/SKILL.md +4 -0
  44. package/skills/cavuno-board-blog/SKILL.md +4 -0
  45. package/skills/cavuno-board-companies/SKILL.md +4 -0
  46. package/skills/cavuno-board-errors/SKILL.md +4 -0
  47. package/skills/cavuno-board-filters/SKILL.md +4 -0
  48. package/skills/cavuno-board-format/SKILL.md +4 -0
  49. package/skills/cavuno-board-i18n/SKILL.md +4 -0
  50. package/skills/cavuno-board-job-alerts/SKILL.md +4 -0
  51. package/skills/cavuno-board-jobs/SKILL.md +4 -0
  52. package/skills/cavuno-board-messaging/SKILL.md +4 -0
  53. package/skills/cavuno-board-paywall/SKILL.md +4 -0
  54. package/skills/cavuno-board-post-a-job/SKILL.md +4 -0
  55. package/skills/cavuno-board-salaries/SKILL.md +4 -0
  56. package/skills/cavuno-board-search-suggestions/SKILL.md +4 -0
  57. package/skills/cavuno-board-seo/SKILL.md +4 -0
  58. package/skills/cavuno-board-server-sessions/SKILL.md +4 -0
  59. package/skills/cavuno-board-setup/SKILL.md +4 -0
  60. package/skills/cavuno-board-sitemap/SKILL.md +4 -0
  61. package/skills/cavuno-board-smoke-test/SKILL.md +4 -0
  62. package/skills/manifest.json +1 -1
  63. package/dist/board-NE98PlwN.d.ts +0 -16
  64. package/dist/board-muu8BI8P.d.mts +0 -16
package/dist/go.mjs CHANGED
@@ -1,32 +1,7 @@
1
- // src/paths/index.ts
2
- function jobDetailPath(companySlug, jobSlug) {
3
- return `/companies/${companySlug}/jobs/${jobSlug}`;
4
- }
5
- var BOARD_PATHS = {
6
- home: "/",
7
- jobs: "/jobs",
8
- companies: "/companies",
9
- salaries: "/salaries",
10
- salaryCompanies: "/salaries/companies",
11
- salaryTitles: "/salaries/titles",
12
- salarySkills: "/salaries/skills",
13
- salaryLocations: "/salaries/locations",
14
- blog: "/blog",
15
- about: "/about",
16
- privacyPolicy: "/privacy-policy",
17
- termsOfService: "/terms-of-service",
18
- cookiePolicy: "/cookie-policy",
19
- impressum: "/impressum",
20
- talent: "/talent",
21
- employers: "/employers",
22
- /**
23
- * Alert-email surfaces. Promoted out of raw literals in
24
- * the job-alerts composer so /go indirection and email composition share
25
- * one definition.
26
- */
27
- alertsManage: "/alerts/manage",
28
- alertsConfirm: "/alerts/confirm"
29
- };
1
+ import {
2
+ BOARD_PATHS,
3
+ jobDetailPath
4
+ } from "./chunk-L7ZOYWHW.mjs";
30
5
 
31
6
  // src/go/create-go-handler.ts
32
7
  var NOINDEX_ROBOTS = "noindex, nofollow";
package/dist/index.d.mts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { S as Schemas, c as components } from './_spec-nkWAraS0.mjs';
2
2
  import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-CCyFWPi3.mjs';
3
3
  export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, R as REFRESH_TOKEN_KEY, f as SuggestResult, g as SuggestionItem, T as TermSuggestion } from './search-CCyFWPi3.mjs';
4
- export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures } from './board-muu8BI8P.mjs';
4
+ import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-BJbXd_9_.mjs';
5
+ export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, C as CustomFieldDefinition, l as CustomFieldOption, m as CustomFieldType, L as LocationSalaryDetail, n as LocationSkillsIndex, o as LocationTitlesIndex, P as PublicBoard, p as PublicBoardAnalytics, q as PublicBoardFeatures, r as PublicCompany, s as PublicCompanyDetail, t as SalaryCompany, u as SalaryLocation, v as SalarySkill, w as SalaryTitle, x as SkillLocationSalary, y as SkillLocationsIndex, S as SkillSalaryDetail, z as TitleLocationSalary, A as TitleLocationsIndex, T as TitleSalaryDetail } from './board-BJbXd_9_.mjs';
5
6
  import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, b as JobsListQuery, c as JobCardListEnvelope, d as JobsSearchBody, e as JobCardSearchEnvelope, f as JobsSimilarQuery, g as SearchEnvelope } from './jobs-lVvKCBCU.mjs';
6
7
  export { h as CustomFieldValue, C as CustomFieldValues, i as EducationRequirement, j as JobCatalogPagination, k as JobCompany, J as JobSort, O as OfficeLocation, l as OffsetPagination, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-lVvKCBCU.mjs';
7
- import { b as CompaniesListQuery, c as CompanyListEnvelope, d as CompaniesSearchBody, e as CompanyJobsListQuery, f as CompanySimilarQuery, g as CompanyMarketsListQuery, h as SalaryDetailQuery, i as BlogPostsListQuery, j as BlogSimilarQuery, k as BlogSearchBody } from './salaries-ChSqDBAM.mjs';
8
- export { B as BlogAuthorEmbed, l as BlogTagEmbed, C as CompanyCategorySalary, m as CompanyMarket, n as CompanyMarketRef, a as CompanySalary, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, q as PublicBlogAdjacentPosts, r as PublicBlogAuthor, s as PublicBlogPost, P as PublicBlogPostSummary, t as PublicBlogTag, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-ChSqDBAM.mjs';
8
+ import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-DGBHmExV.mjs';
9
+ export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-DGBHmExV.mjs';
9
10
 
10
11
  /**
11
12
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -141,7 +142,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
141
142
  * constant because the package is platform-neutral and cannot read
142
143
  * package.json at runtime.
143
144
  */
144
- declare const SDK_VERSION = "3.0.0";
145
+ declare const SDK_VERSION = "3.2.0";
145
146
 
146
147
  type SavedJob = Schemas['SavedJob'];
147
148
  type SavedJobsListQuery = {
package/dist/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { S as Schemas, c as components } from './_spec-nkWAraS0.js';
2
2
  import { F as FetchOptions, S as StorageMode, B as BoardRequest, A as Awaitable, L as Logger, a as BoardClient, b as SearchSuggestQuery } from './search-CyRvVMUp.js';
3
3
  export { c as ACCESS_TOKEN_KEY, d as BOARD_ACCESS_GRANT_KEY, C as CompanySuggestion, e as CustomStorage, R as REFRESH_TOKEN_KEY, f as SuggestResult, g as SuggestionItem, T as TermSuggestion } from './search-CyRvVMUp.js';
4
- export { C as CustomFieldDefinition, a as CustomFieldOption, b as CustomFieldType, P as PublicBoard, c as PublicBoardAnalytics, d as PublicBoardFeatures } from './board-NE98PlwN.js';
4
+ import { c as CompaniesListQuery, d as CompanyListEnvelope, e as CompaniesSearchBody, f as CompanyJobsListQuery, g as CompanySimilarQuery, h as CompanyMarketsListQuery, i as SalaryDetailQuery } from './board-JhdUWIoq.js';
5
+ export { a as CompanyCategorySalary, j as CompanyMarket, k as CompanyMarketRef, b as CompanySalary, C as CustomFieldDefinition, l as CustomFieldOption, m as CustomFieldType, L as LocationSalaryDetail, n as LocationSkillsIndex, o as LocationTitlesIndex, P as PublicBoard, p as PublicBoardAnalytics, q as PublicBoardFeatures, r as PublicCompany, s as PublicCompanyDetail, t as SalaryCompany, u as SalaryLocation, v as SalarySkill, w as SalaryTitle, x as SkillLocationSalary, y as SkillLocationsIndex, S as SkillSalaryDetail, z as TitleLocationSalary, A as TitleLocationsIndex, T as TitleSalaryDetail } from './board-JhdUWIoq.js';
5
6
  import { R as RemoteOption, E as EmploymentType, S as Seniority, L as ListEnvelope, b as JobsListQuery, c as JobCardListEnvelope, d as JobsSearchBody, e as JobCardSearchEnvelope, f as JobsSimilarQuery, g as SearchEnvelope } from './jobs-BiEvL9d7.js';
6
7
  export { h as CustomFieldValue, C as CustomFieldValues, i as EducationRequirement, j as JobCatalogPagination, k as JobCompany, J as JobSort, O as OfficeLocation, l as OffsetPagination, P as PublicJob, a as PublicJobCard, m as RelatedSearch, n as RemotePermit, o as RemoteTimezone, p as StorefrontPagination } from './jobs-BiEvL9d7.js';
7
- import { b as CompaniesListQuery, c as CompanyListEnvelope, d as CompaniesSearchBody, e as CompanyJobsListQuery, f as CompanySimilarQuery, g as CompanyMarketsListQuery, h as SalaryDetailQuery, i as BlogPostsListQuery, j as BlogSimilarQuery, k as BlogSearchBody } from './salaries-BahBpxWT.js';
8
- export { B as BlogAuthorEmbed, l as BlogTagEmbed, C as CompanyCategorySalary, m as CompanyMarket, n as CompanyMarketRef, a as CompanySalary, L as LocationSalaryDetail, o as LocationSkillsIndex, p as LocationTitlesIndex, q as PublicBlogAdjacentPosts, r as PublicBlogAuthor, s as PublicBlogPost, P as PublicBlogPostSummary, t as PublicBlogTag, u as PublicCompany, v as PublicCompanyDetail, w as SalaryCompany, x as SalaryLocation, y as SalarySkill, z as SalaryTitle, A as SkillLocationSalary, D as SkillLocationsIndex, S as SkillSalaryDetail, E as TitleLocationSalary, F as TitleLocationsIndex, T as TitleSalaryDetail } from './salaries-BahBpxWT.js';
8
+ import { a as BlogPostsListQuery, b as BlogSimilarQuery, c as BlogSearchBody } from './blog-iV9XEIGf.js';
9
+ export { B as BlogAuthorEmbed, d as BlogTagEmbed, e as PublicBlogAdjacentPosts, f as PublicBlogAuthor, g as PublicBlogPost, P as PublicBlogPostSummary, h as PublicBlogTag } from './blog-iV9XEIGf.js';
9
10
 
10
11
  /**
11
12
  * Well-known `<domain>_<snake_reason>` codes the Board API sends, grouped by
@@ -141,7 +142,7 @@ declare function paginate<Q extends Record<string, unknown>, P extends PageShape
141
142
  * constant because the package is platform-neutral and cannot read
142
143
  * package.json at runtime.
143
144
  */
144
- declare const SDK_VERSION = "3.0.0";
145
+ declare const SDK_VERSION = "3.2.0";
145
146
 
146
147
  type SavedJob = Schemas['SavedJob'];
147
148
  type SavedJobsListQuery = {
package/dist/index.js CHANGED
@@ -312,7 +312,7 @@ async function clearSession(storage) {
312
312
  }
313
313
 
314
314
  // src/version.ts
315
- var SDK_VERSION = "3.0.0";
315
+ var SDK_VERSION = "3.2.0";
316
316
 
317
317
  // src/client.ts
318
318
  function isRawBody(body) {
package/dist/index.mjs CHANGED
@@ -1,162 +1,24 @@
1
- // src/errors.ts
2
- var BOARD_API_ERROR_CODES = [
3
- // Cross-cutting envelope
4
- "internal_error",
5
- "validation_bad_request",
6
- "validation_payload_too_large",
7
- "rate_limited",
8
- "rate_limit_unavailable",
9
- "search_unavailable",
10
- "too_many_filter_values",
11
- "pagination_invalid_cursor",
12
- "pagination_offset_too_large",
13
- "auth_unauthenticated",
14
- "auth_forbidden",
15
- "plan_upgrade_required",
16
- "unknown_error",
17
- // Board resolution + custom pages
18
- "boards_not_found",
19
- "board_page_not_found",
20
- // Board-user auth
21
- "board_auth_email_taken",
22
- "board_auth_invalid_credentials",
23
- "board_auth_invalid_token",
24
- "board_auth_registration_disabled",
25
- "board_auth_token_expired",
26
- // Board password gate
27
- "board_password_required",
28
- "board_password_invalid",
29
- // Jobs browse
30
- "jobs_not_found",
31
- "jobs_invalid_filter",
32
- // Taxonomy
33
- "categories_not_found",
34
- "skills_not_found",
35
- "places_not_found",
36
- // Companies (public reads)
37
- "companies_not_found",
38
- "company_markets_not_found",
39
- "company_salary_not_found",
40
- "company_category_salary_not_found",
41
- // Salaries
42
- "salaries_title_not_found",
43
- "salaries_skill_not_found",
44
- "salaries_location_not_found",
45
- "salaries_title_location_not_found",
46
- "salaries_skill_location_not_found",
47
- // Blog (public reads)
48
- "blog_post_not_found",
49
- "blog_author_not_found",
50
- "blog_tag_not_found",
51
- // Talent directory
52
- "talent_not_found",
53
- "talent_directory_not_found",
54
- "talent_directory_restricted",
55
- // Job alerts (anonymous + authenticated)
56
- "job_alert_not_found",
57
- "job_alerts_disabled",
58
- "candidate_alert_limit_reached",
59
- "candidate_alert_not_found",
60
- // Candidate account
61
- "candidate_entry_not_found",
62
- "candidate_handle_taken",
63
- "candidate_job_not_found",
64
- "resume_invalid_file",
65
- "resume_upload_forbidden",
66
- // Applications
67
- "applications_external_apply_only",
68
- "applications_guest_not_allowed",
69
- "applications_job_not_found",
70
- "applications_not_found",
71
- "applications_resume_invalid_file",
72
- "applications_unprocessable",
73
- // Messaging
74
- "messaging_application_not_found",
75
- "messaging_application_not_linked",
76
- "messaging_blocked",
77
- "messaging_cannot_block_self",
78
- "messaging_cold_rule",
79
- "messaging_conversation_not_found",
80
- "messaging_disabled",
81
- "messaging_edit_window_expired",
82
- "messaging_message_deleted",
83
- "messaging_message_not_found",
84
- "messaging_not_author",
85
- "messaging_not_participant",
86
- "messaging_not_permitted",
87
- "messaging_not_recipient",
88
- "messaging_rate_limited",
89
- "messaging_recipient_not_found",
90
- "messaging_recipient_not_open",
91
- "messaging_unsend_window_expired",
92
- // Employer self-service
93
- "employer_applicant_not_found",
94
- "employer_ats_unprocessable",
95
- "employer_checkout_failed",
96
- "employer_company_exists",
97
- "employer_company_name_taken",
98
- "employer_company_not_found",
99
- "employer_job_not_found",
100
- "employer_job_slug_taken",
101
- "employer_jobs_quota_exceeded",
102
- "employer_not_member",
103
- "employer_payment_required",
104
- "employer_pipeline_stage_not_found",
105
- // Candidate job-access paywall
106
- "paywall_already_active",
107
- "paywall_disabled",
108
- "paywall_invalid_checkout_session",
109
- "paywall_no_candidate_profile",
110
- "paywall_no_recurring_subscription",
111
- "paywall_offer_not_found",
112
- // Public job posting
113
- "job_posting_logo_lookup_unavailable",
114
- "job_posting_logo_not_found",
115
- "job_posting_rejected"
116
- ];
117
- var BoardApiError = class extends Error {
118
- status;
119
- /** `<domain>_<snake_reason>` code from the v1 error envelope. */
120
- code;
121
- /** Structured, per-code details — shape varies by `code`. */
122
- details;
123
- requestId;
124
- /** The parsed response body, untouched. */
125
- raw;
126
- constructor(input) {
127
- super(input.message);
128
- this.name = "BoardApiError";
129
- this.status = input.status;
130
- this.code = input.code;
131
- this.details = input.details;
132
- this.requestId = input.requestId;
133
- this.raw = input.raw;
134
- }
135
- };
136
- function isBoardApiError(e) {
137
- return e instanceof Error && e.name === "BoardApiError" && typeof e.status === "number" && typeof e.code === "string";
138
- }
139
- function isNotFound(e) {
140
- return isBoardApiError(e) && e.status === 404;
141
- }
142
- function isUnauthorized(e) {
143
- return isBoardApiError(e) && e.status === 401;
144
- }
145
- function isBoardPasswordRequired(e) {
146
- return isBoardApiError(e) && e.status === 401 && e.code === "board_password_required";
147
- }
148
- function isForbidden(e) {
149
- return isBoardApiError(e) && e.status === 403;
150
- }
151
- function isValidationError(e) {
152
- return isBoardApiError(e) && e.status === 400 && e.code === "validation_bad_request";
153
- }
154
- function isRateLimited(e) {
155
- return isBoardApiError(e) && e.status === 429;
156
- }
157
- function isConflict(e) {
158
- return isBoardApiError(e) && e.status === 409;
159
- }
1
+ import {
2
+ ACCESS_TOKEN_KEY,
3
+ BOARD_ACCESS_GRANT_KEY,
4
+ BOARD_API_ERROR_CODES,
5
+ BoardApiError,
6
+ REFRESH_TOKEN_KEY,
7
+ clearSession,
8
+ isBoardApiError,
9
+ isBoardPasswordRequired,
10
+ isConflict,
11
+ isForbidden,
12
+ isNotFound,
13
+ isRateLimited,
14
+ isUnauthorized,
15
+ isValidationError,
16
+ resolveStorage,
17
+ writeSession
18
+ } from "./chunk-2ETP5UH4.mjs";
19
+ import {
20
+ paginate
21
+ } from "./chunk-DLSO6XXY.mjs";
160
22
 
161
23
  // src/query.ts
162
24
  function toSearchParams(query) {
@@ -176,96 +38,8 @@ function toSearchParams(query) {
176
38
  return params;
177
39
  }
178
40
 
179
- // src/scope.ts
180
- function scopeToken(board) {
181
- let hash = 5381;
182
- for (let i = 0; i < board.length; i++) {
183
- hash = (hash << 5) + hash + board.charCodeAt(i) >>> 0;
184
- }
185
- const sanitized = board.replace(/[^a-zA-Z0-9_-]/g, "_");
186
- return `${sanitized}-${hash.toString(36)}`;
187
- }
188
-
189
- // src/storage.ts
190
- var ACCESS_TOKEN_KEY = "cavuno_board_access_token";
191
- var REFRESH_TOKEN_KEY = "cavuno_board_refresh_token";
192
- var BOARD_ACCESS_GRANT_KEY = "cavuno_board_access_grant";
193
- function isBrowser() {
194
- return typeof globalThis.document !== "undefined";
195
- }
196
- function memoryStorage() {
197
- const backing = /* @__PURE__ */ new Map();
198
- return {
199
- getItem: (key) => backing.get(key) ?? null,
200
- setItem: (key, value) => {
201
- backing.set(key, value);
202
- },
203
- removeItem: (key) => {
204
- backing.delete(key);
205
- }
206
- };
207
- }
208
- function browserStorage(mode, scope) {
209
- if (!isBrowser()) {
210
- throw new Error(
211
- `storage mode '${mode}' is browser-only \u2014 use 'nostore' + per-call headers on the server`
212
- );
213
- }
214
- let backing;
215
- try {
216
- backing = mode === "local" ? globalThis.localStorage : globalThis.sessionStorage;
217
- if (!backing) throw new Error("unavailable");
218
- } catch {
219
- throw new Error(
220
- `storage mode '${mode}' is unavailable in this browsing context (storage access is blocked \u2014 e.g. a sandboxed or third-party iframe). Use 'memory', or 'nostore' + per-call headers.`
221
- );
222
- }
223
- const suffix = scope ? `:${scopeToken(scope)}` : "";
224
- return {
225
- getItem: (key) => backing.getItem(`${key}${suffix}`),
226
- setItem: (key, value) => {
227
- backing.setItem(`${key}${suffix}`, value);
228
- },
229
- removeItem: (key) => {
230
- backing.removeItem(`${key}${suffix}`);
231
- }
232
- };
233
- }
234
- var NOSTORE_BRAND = /* @__PURE__ */ Symbol.for("@cavuno/board:nostore");
235
- var NOSTORE = {
236
- [NOSTORE_BRAND]: true,
237
- getItem: () => null,
238
- setItem: () => {
239
- },
240
- removeItem: () => {
241
- }
242
- };
243
- function resolveStorage(mode, scope) {
244
- const resolved = mode ?? (isBrowser() ? "memory" : "nostore");
245
- if (typeof resolved === "object") return resolved;
246
- switch (resolved) {
247
- case "memory":
248
- return memoryStorage();
249
- case "nostore":
250
- return NOSTORE;
251
- case "local":
252
- case "session":
253
- return browserStorage(resolved, scope);
254
- default:
255
- throw new Error(`Unknown storage mode '${String(resolved)}'`);
256
- }
257
- }
258
- async function writeSession(storage, session) {
259
- await storage.setItem(ACCESS_TOKEN_KEY, session.accessToken);
260
- await storage.setItem(REFRESH_TOKEN_KEY, session.refreshToken);
261
- }
262
- async function clearSession(storage) {
263
- await storage.removeItem(ACCESS_TOKEN_KEY);
264
- await storage.removeItem(REFRESH_TOKEN_KEY);
265
- }
266
-
267
41
  // src/version.ts
268
- var SDK_VERSION = "3.0.0";
42
+ var SDK_VERSION = "3.2.0";
269
43
 
270
44
  // src/client.ts
271
45
  function isRawBody(body) {
@@ -2697,36 +2471,6 @@ function taxonomyNamespace(client) {
2697
2471
  };
2698
2472
  }
2699
2473
 
2700
- // src/pagination.ts
2701
- function paginate(listFn, query, options) {
2702
- async function* pages() {
2703
- let current = query;
2704
- for (; ; ) {
2705
- const page = await listFn(current, options);
2706
- yield page;
2707
- if (!page.hasMore || page.nextCursor === null) return;
2708
- const { offset: _offset, ...rest } = current ?? {};
2709
- current = { ...rest, cursor: page.nextCursor };
2710
- }
2711
- }
2712
- return {
2713
- pages,
2714
- async *[Symbol.asyncIterator]() {
2715
- for await (const page of pages()) {
2716
- yield* page.data;
2717
- }
2718
- },
2719
- async toArray({ limit }) {
2720
- const items = [];
2721
- for await (const page of pages()) {
2722
- items.push(...page.data);
2723
- if (items.length >= limit) break;
2724
- }
2725
- return items.slice(0, limit);
2726
- }
2727
- };
2728
- }
2729
-
2730
2474
  // src/messaging-derive.ts
2731
2475
  function isOwnMessage(message, counterpartyId) {
2732
2476
  return message.authorBoardUserId !== counterpartyId;
package/dist/paths.mjs CHANGED
@@ -1,80 +1,23 @@
1
- // src/paths/index.ts
2
- function jobDetailPath(companySlug, jobSlug) {
3
- return `/companies/${companySlug}/jobs/${jobSlug}`;
4
- }
5
- function jobsCategoryPath(categorySlug) {
6
- return `/jobs/${categorySlug}`;
7
- }
8
- function jobsSkillPath(skillSlug) {
9
- return `/jobs/skills/${skillSlug}`;
10
- }
11
- function jobsLocationPath(placeSlug) {
12
- return `/jobs/locations/${placeSlug}`;
13
- }
14
- function companyPath(companySlug) {
15
- return `/companies/${companySlug}`;
16
- }
17
- function companyMarketPath(marketSlug) {
18
- return `/companies/markets/${marketSlug}`;
19
- }
20
- function companySalaryPath(companySlug) {
21
- return `/companies/${companySlug}/salaries`;
22
- }
23
- function salaryTitlePath(titleSlug) {
24
- return `/salaries/titles/${titleSlug}`;
25
- }
26
- function salarySkillPath(skillSlug) {
27
- return `/salaries/skills/${skillSlug}`;
28
- }
29
- function salaryLocationPath(placeSlug) {
30
- return `/salaries/locations/${placeSlug}`;
31
- }
32
- function blogPostPath(postSlug) {
33
- return `/blog/${postSlug}`;
34
- }
35
- function blogTagPath(tagSlug) {
36
- return `/blog/tag/${tagSlug}`;
37
- }
38
- function blogAuthorPath(authorSlug) {
39
- return `/blog/author/${authorSlug}`;
40
- }
41
- var BOARD_PATHS = {
42
- home: "/",
43
- jobs: "/jobs",
44
- companies: "/companies",
45
- salaries: "/salaries",
46
- salaryCompanies: "/salaries/companies",
47
- salaryTitles: "/salaries/titles",
48
- salarySkills: "/salaries/skills",
49
- salaryLocations: "/salaries/locations",
50
- blog: "/blog",
51
- about: "/about",
52
- privacyPolicy: "/privacy-policy",
53
- termsOfService: "/terms-of-service",
54
- cookiePolicy: "/cookie-policy",
55
- impressum: "/impressum",
56
- talent: "/talent",
57
- employers: "/employers",
58
- /**
59
- * Alert-email surfaces. Promoted out of raw literals in
60
- * the job-alerts composer so /go indirection and email composition share
61
- * one definition.
62
- */
63
- alertsManage: "/alerts/manage",
64
- alertsConfirm: "/alerts/confirm"
65
- };
66
- function goJobPath(jobId) {
67
- return `/go/job/${jobId}`;
68
- }
69
- function goAlertsManagePath() {
70
- return "/go/alerts-manage";
71
- }
72
- function goAlertsConfirmPath() {
73
- return "/go/alerts-confirm";
74
- }
75
- function boardUrl(origin, path) {
76
- return `${origin.replace(/\/+$/, "")}${path}`;
77
- }
1
+ import {
2
+ BOARD_PATHS,
3
+ blogAuthorPath,
4
+ blogPostPath,
5
+ blogTagPath,
6
+ boardUrl,
7
+ companyMarketPath,
8
+ companyPath,
9
+ companySalaryPath,
10
+ goAlertsConfirmPath,
11
+ goAlertsManagePath,
12
+ goJobPath,
13
+ jobDetailPath,
14
+ jobsCategoryPath,
15
+ jobsLocationPath,
16
+ jobsSkillPath,
17
+ salaryLocationPath,
18
+ salarySkillPath,
19
+ salaryTitlePath
20
+ } from "./chunk-L7ZOYWHW.mjs";
78
21
  export {
79
22
  BOARD_PATHS,
80
23
  blogAuthorPath,