@cavuno/board 1.41.0 → 1.42.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 (48) hide show
  1. package/dist/{_spec-l_596ZwW.d.mts → _spec-LdkTxfx0.d.mts} +33 -0
  2. package/dist/{_spec-l_596ZwW.d.ts → _spec-LdkTxfx0.d.ts} +33 -0
  3. package/dist/{board-CyHA6rRP.d.mts → board-Cs93Lf23.d.mts} +1 -1
  4. package/dist/{board-BzK5j73O.d.ts → board-FxC9Wdhi.d.ts} +1 -1
  5. package/dist/filters.d.mts +2 -2
  6. package/dist/filters.d.ts +2 -2
  7. package/dist/format.d.mts +3 -3
  8. package/dist/format.d.ts +3 -3
  9. package/dist/go.d.mts +65 -0
  10. package/dist/go.d.ts +65 -0
  11. package/dist/go.js +130 -0
  12. package/dist/go.mjs +107 -0
  13. package/dist/index.d.mts +9 -9
  14. package/dist/index.d.ts +9 -9
  15. package/dist/index.js +1 -1
  16. package/dist/index.mjs +1 -1
  17. package/dist/{jobs-BhthvMkA.d.mts → jobs-BtazrWfv.d.mts} +1 -1
  18. package/dist/{jobs-CXudz1Y4.d.ts → jobs-TIAPH3Ol.d.ts} +1 -1
  19. package/dist/paths.d.mts +25 -1
  20. package/dist/paths.d.ts +25 -1
  21. package/dist/paths.js +20 -1
  22. package/dist/paths.mjs +20 -1
  23. package/dist/roles-vY0AXhoc.d.mts +82 -0
  24. package/dist/roles-vY0AXhoc.d.ts +82 -0
  25. package/dist/route-contract.d.mts +257 -0
  26. package/dist/route-contract.d.ts +257 -0
  27. package/dist/route-contract.js +1131 -0
  28. package/dist/route-contract.mjs +1108 -0
  29. package/dist/{salaries-ByBuHCLH.d.ts → salaries-BEAqkaFt.d.ts} +2 -2
  30. package/dist/{salaries-Dr_Zugal.d.mts → salaries-CB9Ve4kS.d.mts} +2 -2
  31. package/dist/{search-DZrq-k76.d.ts → search-DWmHHXn8.d.ts} +1 -1
  32. package/dist/{search-CrIlXSJP.d.mts → search-YhoVpXFY.d.mts} +1 -1
  33. package/dist/seo.d.mts +4 -4
  34. package/dist/seo.d.ts +4 -4
  35. package/dist/server.d.mts +5 -5
  36. package/dist/server.d.ts +5 -5
  37. package/dist/sitemap.d.mts +5 -5
  38. package/dist/sitemap.d.ts +5 -5
  39. package/dist/sitemap.js +8 -1
  40. package/dist/sitemap.mjs +8 -1
  41. package/dist/suggest.d.mts +2 -2
  42. package/dist/suggest.d.ts +2 -2
  43. package/dist/well-known.d.mts +113 -0
  44. package/dist/well-known.d.ts +113 -0
  45. package/dist/well-known.js +561 -0
  46. package/dist/well-known.mjs +538 -0
  47. package/package.json +31 -1
  48. package/skills/manifest.json +1 -1
@@ -1,5 +1,5 @@
1
- import { S as Schemas } from './_spec-l_596ZwW.js';
2
- import { L as ListEnvelope, m as RelatedSearch } from './jobs-CXudz1Y4.js';
1
+ import { S as Schemas } from './_spec-LdkTxfx0.js';
2
+ import { L as ListEnvelope, m as RelatedSearch } from './jobs-TIAPH3Ol.js';
3
3
 
4
4
  /** Author shape embedded on posts (no `object` discriminator). */
5
5
  type BlogAuthorEmbed = Schemas['PublicBlogAuthorEmbed'];
@@ -1,5 +1,5 @@
1
- import { S as Schemas } from './_spec-l_596ZwW.mjs';
2
- import { L as ListEnvelope, m as RelatedSearch } from './jobs-BhthvMkA.mjs';
1
+ import { S as Schemas } from './_spec-LdkTxfx0.mjs';
2
+ import { L as ListEnvelope, m as RelatedSearch } from './jobs-BtazrWfv.mjs';
3
3
 
4
4
  /** Author shape embedded on posts (no `object` discriminator). */
5
5
  type BlogAuthorEmbed = Schemas['PublicBlogAuthorEmbed'];
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-l_596ZwW.js';
1
+ import { S as Schemas } from './_spec-LdkTxfx0.js';
2
2
 
3
3
  type Awaitable<T> = T | Promise<T>;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { S as Schemas } from './_spec-l_596ZwW.mjs';
1
+ import { S as Schemas } from './_spec-LdkTxfx0.mjs';
2
2
 
3
3
  type Awaitable<T> = T | Promise<T>;
4
4
  /**
package/dist/seo.d.mts CHANGED
@@ -1,8 +1,8 @@
1
- import { P as PublicBlogPostSummary, B as BlogAuthorEmbed, C as CompanyCategorySalary, a as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './salaries-Dr_Zugal.mjs';
2
- import { P as PublicBoard } from './board-CyHA6rRP.mjs';
3
- import { P as PublicJob } from './jobs-BhthvMkA.mjs';
1
+ import { P as PublicBlogPostSummary, B as BlogAuthorEmbed, C as CompanyCategorySalary, a as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './salaries-CB9Ve4kS.mjs';
2
+ import { P as PublicBoard } from './board-Cs93Lf23.mjs';
3
+ import { P as PublicJob } from './jobs-BtazrWfv.mjs';
4
4
  import { B as BoardLabelOverrides } from './ui-copy-CKfFTtLk.mjs';
5
- import './_spec-l_596ZwW.mjs';
5
+ import './_spec-LdkTxfx0.mjs';
6
6
 
7
7
  /**
8
8
  * Google for Jobs `JobPosting` structured data on the `@cavuno/board` wire
package/dist/seo.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { P as PublicBlogPostSummary, B as BlogAuthorEmbed, C as CompanyCategorySalary, a as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './salaries-ByBuHCLH.js';
2
- import { P as PublicBoard } from './board-BzK5j73O.js';
3
- import { P as PublicJob } from './jobs-CXudz1Y4.js';
1
+ import { P as PublicBlogPostSummary, B as BlogAuthorEmbed, C as CompanyCategorySalary, a as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './salaries-BEAqkaFt.js';
2
+ import { P as PublicBoard } from './board-FxC9Wdhi.js';
3
+ import { P as PublicJob } from './jobs-TIAPH3Ol.js';
4
4
  import { B as BoardLabelOverrides } from './ui-copy-CKfFTtLk.js';
5
- import './_spec-l_596ZwW.js';
5
+ import './_spec-LdkTxfx0.js';
6
6
 
7
7
  /**
8
8
  * Google for Jobs `JobPosting` structured data on the `@cavuno/board` wire
package/dist/server.d.mts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { BoardSdk } from './index.mjs';
2
- import './_spec-l_596ZwW.mjs';
3
- import './search-CrIlXSJP.mjs';
4
- import './board-CyHA6rRP.mjs';
5
- import './jobs-BhthvMkA.mjs';
6
- import './salaries-Dr_Zugal.mjs';
2
+ import './_spec-LdkTxfx0.mjs';
3
+ import './search-YhoVpXFY.mjs';
4
+ import './board-Cs93Lf23.mjs';
5
+ import './jobs-BtazrWfv.mjs';
6
+ import './salaries-CB9Ve4kS.mjs';
7
7
 
8
8
  /**
9
9
  * Session cookie codec — pure (no framework imports, no node imports) so it
package/dist/server.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { BoardSdk } from './index.js';
2
- import './_spec-l_596ZwW.js';
3
- import './search-DZrq-k76.js';
4
- import './board-BzK5j73O.js';
5
- import './jobs-CXudz1Y4.js';
6
- import './salaries-ByBuHCLH.js';
2
+ import './_spec-LdkTxfx0.js';
3
+ import './search-DWmHHXn8.js';
4
+ import './board-FxC9Wdhi.js';
5
+ import './jobs-TIAPH3Ol.js';
6
+ import './salaries-BEAqkaFt.js';
7
7
 
8
8
  /**
9
9
  * Session cookie codec — pure (no framework imports, no node imports) so it
@@ -1,9 +1,9 @@
1
1
  import { BoardSdk } from './index.mjs';
2
- import './_spec-l_596ZwW.mjs';
3
- import './search-CrIlXSJP.mjs';
4
- import './board-CyHA6rRP.mjs';
5
- import './jobs-BhthvMkA.mjs';
6
- import './salaries-Dr_Zugal.mjs';
2
+ import './_spec-LdkTxfx0.mjs';
3
+ import './search-YhoVpXFY.mjs';
4
+ import './board-Cs93Lf23.mjs';
5
+ import './jobs-BtazrWfv.mjs';
6
+ import './salaries-CB9Ve4kS.mjs';
7
7
 
8
8
  /**
9
9
  * Sitemap primitives — the pure XML + bucket-filename logic behind a board
package/dist/sitemap.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { BoardSdk } from './index.js';
2
- import './_spec-l_596ZwW.js';
3
- import './search-DZrq-k76.js';
4
- import './board-BzK5j73O.js';
5
- import './jobs-CXudz1Y4.js';
6
- import './salaries-ByBuHCLH.js';
2
+ import './_spec-LdkTxfx0.js';
3
+ import './search-DWmHHXn8.js';
4
+ import './board-FxC9Wdhi.js';
5
+ import './jobs-TIAPH3Ol.js';
6
+ import './salaries-BEAqkaFt.js';
7
7
 
8
8
  /**
9
9
  * Sitemap primitives — the pure XML + bucket-filename logic behind a board
package/dist/sitemap.js CHANGED
@@ -220,7 +220,14 @@ var BOARD_PATHS = {
220
220
  cookiePolicy: "/cookie-policy",
221
221
  impressum: "/impressum",
222
222
  talent: "/talent",
223
- employers: "/employers"
223
+ employers: "/employers",
224
+ /**
225
+ * Alert-email surfaces (ADR-0090 D1/D4). Promoted out of raw literals in
226
+ * the job-alerts composer so /go indirection and email composition share
227
+ * one definition.
228
+ */
229
+ alertsManage: "/alerts/manage",
230
+ alertsConfirm: "/alerts/confirm"
224
231
  };
225
232
 
226
233
  // src/sitemap/walker.ts
package/dist/sitemap.mjs CHANGED
@@ -184,7 +184,14 @@ var BOARD_PATHS = {
184
184
  cookiePolicy: "/cookie-policy",
185
185
  impressum: "/impressum",
186
186
  talent: "/talent",
187
- employers: "/employers"
187
+ employers: "/employers",
188
+ /**
189
+ * Alert-email surfaces (ADR-0090 D1/D4). Promoted out of raw literals in
190
+ * the job-alerts composer so /go indirection and email composition share
191
+ * one definition.
192
+ */
193
+ alertsManage: "/alerts/manage",
194
+ alertsConfirm: "/alerts/confirm"
188
195
  };
189
196
 
190
197
  // src/sitemap/walker.ts
@@ -1,5 +1,5 @@
1
- import { S as SuggestionItem, a as SearchSuggestQuery, F as FetchOptions, b as SuggestResult } from './search-CrIlXSJP.mjs';
2
- import './_spec-l_596ZwW.mjs';
1
+ import { S as SuggestionItem, a as SearchSuggestQuery, F as FetchOptions, b as SuggestResult } from './search-YhoVpXFY.mjs';
2
+ import './_spec-LdkTxfx0.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 { S as SuggestionItem, a as SearchSuggestQuery, F as FetchOptions, b as SuggestResult } from './search-DZrq-k76.js';
2
- import './_spec-l_596ZwW.js';
1
+ import { S as SuggestionItem, a as SearchSuggestQuery, F as FetchOptions, b as SuggestResult } from './search-DWmHHXn8.js';
2
+ import './_spec-LdkTxfx0.js';
3
3
 
4
4
  /**
5
5
  * `@cavuno/board/suggest` — framework-agnostic headless search-suggest
@@ -0,0 +1,113 @@
1
+ import { R as RouteEntry, a as RouteRole } from './roles-vY0AXhoc.mjs';
2
+
3
+ /**
4
+ * Runtime well-known endpoint — Request → Response serving ManifestV1
5
+ * compiled from the app's enumerated routes (ADR-0090 D5.2; LNK-08).
6
+ *
7
+ * Pure + isomorphic: no node builtins, no framework imports. The app hands
8
+ * over RouteEntry[] (or a thunk) computed from its router; this module only
9
+ * compiles and serializes.
10
+ */
11
+
12
+ /** Modest CDN/browser cache — structure changes only on redeploy/HMR. */
13
+ declare const WELL_KNOWN_CACHE_CONTROL = "public, max-age=300";
14
+ declare const WELL_KNOWN_CONTENT_TYPE = "application/json";
15
+ type WellKnownHandlerConfig = {
16
+ /**
17
+ * Enumerated routes from the app's router. May be a static array or a
18
+ * thunk (sync or async) so the tree can be re-read per request.
19
+ */
20
+ routes: RouteEntry[] | (() => RouteEntry[] | Promise<RouteEntry[]>);
21
+ /** Optional cavunoPage marker map keyed by sourcePath. */
22
+ markers?: ReadonlyMap<string, RouteRole>;
23
+ };
24
+ type WellKnownHandler = (request: Request) => Promise<Response>;
25
+ /**
26
+ * Create a framework-portable Request → Response handler that serves the
27
+ * compiled ManifestV1 as JSON. Wire format is the versioned manifest only
28
+ * (warnings/ambiguities stay build/doctor concerns).
29
+ */
30
+ declare function createWellKnownHandler(config: WellKnownHandlerConfig): WellKnownHandler;
31
+ /**
32
+ * Deterministic JSON for ManifestV1. Roles are already inserted in
33
+ * ALL_ROLES order by compileManifest — preserve that insertion order.
34
+ */
35
+ declare function serializeManifest(manifest: {
36
+ version: 1;
37
+ roles: Partial<Record<RouteRole, string>>;
38
+ }): string;
39
+
40
+ /**
41
+ * Build-plugin variant of the well-known manifest (ADR-0090 D5.2; LNK-08).
42
+ *
43
+ * Pure function — no fs imports and no write callback: callers (vite
44
+ * plugin, starter build hook) own the write of `contents` to `path` under
45
+ * `public/`, including error handling — a swallowed async write in a build
46
+ * step would be a silent broken artifact.
47
+ */
48
+
49
+ declare const WELL_KNOWN_MANIFEST_PATH = ".well-known/cavuno.json";
50
+ type EmitWellKnownManifestConfig = {
51
+ routes: RouteEntry[];
52
+ markers?: ReadonlyMap<string, RouteRole>;
53
+ };
54
+ type EmitWellKnownManifestResult = {
55
+ path: string;
56
+ contents: string;
57
+ };
58
+ /**
59
+ * Compile routes into a ManifestV1 document ready to land at
60
+ * `public/.well-known/cavuno.json`. Returns path + contents.
61
+ */
62
+ declare function emitWellKnownManifest(config: EmitWellKnownManifestConfig): EmitWellKnownManifestResult;
63
+
64
+ /**
65
+ * TanStack route-tree → RouteEntry[] enumerator (LNK-08).
66
+ *
67
+ * board-sdk has NO runtime (or type) dependency on @tanstack/react-router.
68
+ * The public documented Route shape we walk is structural:
69
+ *
70
+ * {
71
+ * id?: string; // e.g. '__root__', '/jobs/$slug'
72
+ * path?: string; // relative segment, e.g. '$slug', 'jobs'
73
+ * fullPath?: string; // absolute template, e.g. '/jobs/$slug'
74
+ * children?: Array | Record of the same shape
75
+ * }
76
+ *
77
+ * This matches the object exported by routeTree.gen.ts after
78
+ * `_addFileChildren` / accepted by `createRouter({ routeTree })`.
79
+ * Prefer `fullPath` when present; convert `$param` → `:param`, bare `$`
80
+ * splat → `*`. Skip root + pathless/technical layout nodes (underscore
81
+ * segments) while still walking their children.
82
+ *
83
+ * Research note (2026-07-22): TanStack `Route` exposes `id`, `path`,
84
+ * `fullPath`, `children` on the instance (router-core Route interface).
85
+ * `router.flatRoutes` / `routesById` require a live Router instance —
86
+ * this helper deliberately walks the route *tree* so callers can pass
87
+ * the generated routeTree without instantiating a router.
88
+ */
89
+
90
+ /**
91
+ * Minimal structural type for a TanStack route-tree node.
92
+ * Compatible with the public Route shape; no @tanstack imports.
93
+ */
94
+ type TanStackRouteNode = {
95
+ id?: string;
96
+ path?: string;
97
+ fullPath?: string;
98
+ children?: readonly TanStackRouteNode[] | Readonly<Record<string, TanStackRouteNode>>;
99
+ };
100
+ /**
101
+ * Walk a TanStack route tree into RouteEntry[] for the route-contract
102
+ * compiler. Technical/pathless nodes are skipped; their descendants are
103
+ * still visited.
104
+ */
105
+ declare function routeEntriesFromTanStackRouteTree(routeTree: TanStackRouteNode): RouteEntry[];
106
+ /**
107
+ * Convert a TanStack path template to URLPattern `:param` / `*` form.
108
+ * `/jobs/$categorySlug` → `/jobs/:categorySlug`
109
+ * `/files/$` → `/files/*`
110
+ */
111
+ declare function tanStackPathToUrlPattern(path: string): string;
112
+
113
+ export { type EmitWellKnownManifestConfig, type EmitWellKnownManifestResult, type TanStackRouteNode, WELL_KNOWN_CACHE_CONTROL, WELL_KNOWN_CONTENT_TYPE, WELL_KNOWN_MANIFEST_PATH, type WellKnownHandler, type WellKnownHandlerConfig, createWellKnownHandler, emitWellKnownManifest, routeEntriesFromTanStackRouteTree, serializeManifest, tanStackPathToUrlPattern };
@@ -0,0 +1,113 @@
1
+ import { R as RouteEntry, a as RouteRole } from './roles-vY0AXhoc.js';
2
+
3
+ /**
4
+ * Runtime well-known endpoint — Request → Response serving ManifestV1
5
+ * compiled from the app's enumerated routes (ADR-0090 D5.2; LNK-08).
6
+ *
7
+ * Pure + isomorphic: no node builtins, no framework imports. The app hands
8
+ * over RouteEntry[] (or a thunk) computed from its router; this module only
9
+ * compiles and serializes.
10
+ */
11
+
12
+ /** Modest CDN/browser cache — structure changes only on redeploy/HMR. */
13
+ declare const WELL_KNOWN_CACHE_CONTROL = "public, max-age=300";
14
+ declare const WELL_KNOWN_CONTENT_TYPE = "application/json";
15
+ type WellKnownHandlerConfig = {
16
+ /**
17
+ * Enumerated routes from the app's router. May be a static array or a
18
+ * thunk (sync or async) so the tree can be re-read per request.
19
+ */
20
+ routes: RouteEntry[] | (() => RouteEntry[] | Promise<RouteEntry[]>);
21
+ /** Optional cavunoPage marker map keyed by sourcePath. */
22
+ markers?: ReadonlyMap<string, RouteRole>;
23
+ };
24
+ type WellKnownHandler = (request: Request) => Promise<Response>;
25
+ /**
26
+ * Create a framework-portable Request → Response handler that serves the
27
+ * compiled ManifestV1 as JSON. Wire format is the versioned manifest only
28
+ * (warnings/ambiguities stay build/doctor concerns).
29
+ */
30
+ declare function createWellKnownHandler(config: WellKnownHandlerConfig): WellKnownHandler;
31
+ /**
32
+ * Deterministic JSON for ManifestV1. Roles are already inserted in
33
+ * ALL_ROLES order by compileManifest — preserve that insertion order.
34
+ */
35
+ declare function serializeManifest(manifest: {
36
+ version: 1;
37
+ roles: Partial<Record<RouteRole, string>>;
38
+ }): string;
39
+
40
+ /**
41
+ * Build-plugin variant of the well-known manifest (ADR-0090 D5.2; LNK-08).
42
+ *
43
+ * Pure function — no fs imports and no write callback: callers (vite
44
+ * plugin, starter build hook) own the write of `contents` to `path` under
45
+ * `public/`, including error handling — a swallowed async write in a build
46
+ * step would be a silent broken artifact.
47
+ */
48
+
49
+ declare const WELL_KNOWN_MANIFEST_PATH = ".well-known/cavuno.json";
50
+ type EmitWellKnownManifestConfig = {
51
+ routes: RouteEntry[];
52
+ markers?: ReadonlyMap<string, RouteRole>;
53
+ };
54
+ type EmitWellKnownManifestResult = {
55
+ path: string;
56
+ contents: string;
57
+ };
58
+ /**
59
+ * Compile routes into a ManifestV1 document ready to land at
60
+ * `public/.well-known/cavuno.json`. Returns path + contents.
61
+ */
62
+ declare function emitWellKnownManifest(config: EmitWellKnownManifestConfig): EmitWellKnownManifestResult;
63
+
64
+ /**
65
+ * TanStack route-tree → RouteEntry[] enumerator (LNK-08).
66
+ *
67
+ * board-sdk has NO runtime (or type) dependency on @tanstack/react-router.
68
+ * The public documented Route shape we walk is structural:
69
+ *
70
+ * {
71
+ * id?: string; // e.g. '__root__', '/jobs/$slug'
72
+ * path?: string; // relative segment, e.g. '$slug', 'jobs'
73
+ * fullPath?: string; // absolute template, e.g. '/jobs/$slug'
74
+ * children?: Array | Record of the same shape
75
+ * }
76
+ *
77
+ * This matches the object exported by routeTree.gen.ts after
78
+ * `_addFileChildren` / accepted by `createRouter({ routeTree })`.
79
+ * Prefer `fullPath` when present; convert `$param` → `:param`, bare `$`
80
+ * splat → `*`. Skip root + pathless/technical layout nodes (underscore
81
+ * segments) while still walking their children.
82
+ *
83
+ * Research note (2026-07-22): TanStack `Route` exposes `id`, `path`,
84
+ * `fullPath`, `children` on the instance (router-core Route interface).
85
+ * `router.flatRoutes` / `routesById` require a live Router instance —
86
+ * this helper deliberately walks the route *tree* so callers can pass
87
+ * the generated routeTree without instantiating a router.
88
+ */
89
+
90
+ /**
91
+ * Minimal structural type for a TanStack route-tree node.
92
+ * Compatible with the public Route shape; no @tanstack imports.
93
+ */
94
+ type TanStackRouteNode = {
95
+ id?: string;
96
+ path?: string;
97
+ fullPath?: string;
98
+ children?: readonly TanStackRouteNode[] | Readonly<Record<string, TanStackRouteNode>>;
99
+ };
100
+ /**
101
+ * Walk a TanStack route tree into RouteEntry[] for the route-contract
102
+ * compiler. Technical/pathless nodes are skipped; their descendants are
103
+ * still visited.
104
+ */
105
+ declare function routeEntriesFromTanStackRouteTree(routeTree: TanStackRouteNode): RouteEntry[];
106
+ /**
107
+ * Convert a TanStack path template to URLPattern `:param` / `*` form.
108
+ * `/jobs/$categorySlug` → `/jobs/:categorySlug`
109
+ * `/files/$` → `/files/*`
110
+ */
111
+ declare function tanStackPathToUrlPattern(path: string): string;
112
+
113
+ export { type EmitWellKnownManifestConfig, type EmitWellKnownManifestResult, type TanStackRouteNode, WELL_KNOWN_CACHE_CONTROL, WELL_KNOWN_CONTENT_TYPE, WELL_KNOWN_MANIFEST_PATH, type WellKnownHandler, type WellKnownHandlerConfig, createWellKnownHandler, emitWellKnownManifest, routeEntriesFromTanStackRouteTree, serializeManifest, tanStackPathToUrlPattern };