dineway 0.1.3
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.
- package/LICENSE +9 -0
- package/README.md +89 -0
- package/dist/adapters-BlzWJG82.d.mts +106 -0
- package/dist/apply-CAPvMfoU.mjs +1339 -0
- package/dist/astro/index.d.mts +50 -0
- package/dist/astro/index.mjs +1326 -0
- package/dist/astro/middleware/auth.d.mts +30 -0
- package/dist/astro/middleware/auth.mjs +708 -0
- package/dist/astro/middleware/redirect.d.mts +21 -0
- package/dist/astro/middleware/redirect.mjs +62 -0
- package/dist/astro/middleware/request-context.d.mts +17 -0
- package/dist/astro/middleware/request-context.mjs +1371 -0
- package/dist/astro/middleware/setup.d.mts +19 -0
- package/dist/astro/middleware/setup.mjs +46 -0
- package/dist/astro/middleware.d.mts +12 -0
- package/dist/astro/middleware.mjs +1716 -0
- package/dist/astro/types.d.mts +269 -0
- package/dist/astro/types.mjs +1 -0
- package/dist/base64-F8-DUraK.mjs +58 -0
- package/dist/byline-DeWCMU_i.mjs +234 -0
- package/dist/bylines-DyqBV9EQ.mjs +137 -0
- package/dist/chunk-ClPoSABd.mjs +21 -0
- package/dist/cli/index.d.mts +1 -0
- package/dist/cli/index.mjs +3987 -0
- package/dist/client/external-auth-headers.d.mts +38 -0
- package/dist/client/external-auth-headers.mjs +101 -0
- package/dist/client/index.d.mts +397 -0
- package/dist/client/index.mjs +345 -0
- package/dist/config-Cq8H0SfX.mjs +46 -0
- package/dist/connection-C9pxzuag.mjs +52 -0
- package/dist/content-zSgdNmnt.mjs +836 -0
- package/dist/db/index.d.mts +4 -0
- package/dist/db/index.mjs +62 -0
- package/dist/db/libsql.d.mts +10 -0
- package/dist/db/libsql.mjs +21 -0
- package/dist/db/postgres.d.mts +10 -0
- package/dist/db/postgres.mjs +29 -0
- package/dist/db/sqlite.d.mts +10 -0
- package/dist/db/sqlite.mjs +15 -0
- package/dist/default-WYlzADZL.mjs +80 -0
- package/dist/dialect-helpers-B9uSp2GJ.mjs +89 -0
- package/dist/error-DrxtnGPg.mjs +26 -0
- package/dist/index-C-jx21qs.d.mts +4771 -0
- package/dist/index.d.mts +16 -0
- package/dist/index.mjs +30 -0
- package/dist/load-C6FCD1FU.mjs +27 -0
- package/dist/loader-qKmo0wAY.mjs +446 -0
- package/dist/manifest-schema-CTSEyIJ3.mjs +186 -0
- package/dist/media/index.d.mts +25 -0
- package/dist/media/index.mjs +54 -0
- package/dist/media/local-runtime.d.mts +38 -0
- package/dist/media/local-runtime.mjs +132 -0
- package/dist/media-DMTr80Gv.mjs +199 -0
- package/dist/mode-BlyYtIFO.mjs +22 -0
- package/dist/page/index.d.mts +148 -0
- package/dist/page/index.mjs +419 -0
- package/dist/placeholder-B3knXwNc.mjs +267 -0
- package/dist/placeholder-bOx1xCTY.d.mts +283 -0
- package/dist/plugin-utils.d.mts +57 -0
- package/dist/plugin-utils.mjs +77 -0
- package/dist/plugins/adapt-sandbox-entry.d.mts +21 -0
- package/dist/plugins/adapt-sandbox-entry.mjs +112 -0
- package/dist/query-BiaPl_g2.mjs +459 -0
- package/dist/redirect-JPqLAbxa.mjs +328 -0
- package/dist/registry-DSd1GWB8.mjs +851 -0
- package/dist/request-context.d.mts +49 -0
- package/dist/request-context.mjs +42 -0
- package/dist/runner-B5l1JfOj.d.mts +26 -0
- package/dist/runner-BGUGywgG.mjs +1529 -0
- package/dist/runtime.d.mts +25 -0
- package/dist/runtime.mjs +41 -0
- package/dist/search-BNruJHDL.mjs +11054 -0
- package/dist/seed/index.d.mts +3 -0
- package/dist/seed/index.mjs +15 -0
- package/dist/seo/index.d.mts +69 -0
- package/dist/seo/index.mjs +69 -0
- package/dist/storage/local.d.mts +38 -0
- package/dist/storage/local.mjs +165 -0
- package/dist/storage/s3.d.mts +31 -0
- package/dist/storage/s3.mjs +174 -0
- package/dist/tokens-4vgYuXsZ.mjs +170 -0
- package/dist/transport-C5FYnid7.mjs +417 -0
- package/dist/transport-gIL-e43D.d.mts +41 -0
- package/dist/types-BawVha09.mjs +30 -0
- package/dist/types-BgQeVaPj.d.mts +192 -0
- package/dist/types-CLLdsG3g.d.mts +103 -0
- package/dist/types-D38djUXv.d.mts +1196 -0
- package/dist/types-DShnjzb6.mjs +15 -0
- package/dist/types-DkvMXalq.d.mts +425 -0
- package/dist/types-DuNbGKjF.mjs +74 -0
- package/dist/types-ju-_ORz7.d.mts +182 -0
- package/dist/validate-CXnRKfJK.mjs +327 -0
- package/dist/validate-CqRJb_xU.mjs +96 -0
- package/dist/validate-DVKJJ-M_.d.mts +377 -0
- package/locals.d.ts +47 -0
- package/package.json +313 -0
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
import { t as Database } from "./types-DkvMXalq.mjs";
|
|
2
|
+
import { u as FieldType } from "./types-BgQeVaPj.mjs";
|
|
3
|
+
import { d as Storage } from "./types-ju-_ORz7.mjs";
|
|
4
|
+
import { Kysely } from "kysely";
|
|
5
|
+
|
|
6
|
+
//#region src/settings/types.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Site Settings Types
|
|
9
|
+
*
|
|
10
|
+
* Global configuration for the site (title, logo, social links, etc.)
|
|
11
|
+
*/
|
|
12
|
+
/** Media reference for logo/favicon */
|
|
13
|
+
interface MediaReference {
|
|
14
|
+
mediaId: string;
|
|
15
|
+
alt?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Site-level SEO settings */
|
|
18
|
+
interface SeoSettings {
|
|
19
|
+
/** Separator between page title and site title (e.g., " | ", " — ") */
|
|
20
|
+
titleSeparator?: string;
|
|
21
|
+
/** Default OG image when content has no seo_image */
|
|
22
|
+
defaultOgImage?: MediaReference;
|
|
23
|
+
/** Custom robots.txt content. If unset, a default is generated. */
|
|
24
|
+
robotsTxt?: string;
|
|
25
|
+
/** Google Search Console verification meta tag content */
|
|
26
|
+
googleVerification?: string;
|
|
27
|
+
/** Bing Webmaster Tools verification meta tag content */
|
|
28
|
+
bingVerification?: string;
|
|
29
|
+
}
|
|
30
|
+
/** Site settings schema */
|
|
31
|
+
interface SiteSettings {
|
|
32
|
+
title: string;
|
|
33
|
+
tagline?: string;
|
|
34
|
+
logo?: MediaReference;
|
|
35
|
+
favicon?: MediaReference;
|
|
36
|
+
url?: string;
|
|
37
|
+
postsPerPage: number;
|
|
38
|
+
dateFormat: string;
|
|
39
|
+
timezone: string;
|
|
40
|
+
social?: {
|
|
41
|
+
twitter?: string;
|
|
42
|
+
github?: string;
|
|
43
|
+
facebook?: string;
|
|
44
|
+
instagram?: string;
|
|
45
|
+
linkedin?: string;
|
|
46
|
+
youtube?: string;
|
|
47
|
+
};
|
|
48
|
+
seo?: SeoSettings;
|
|
49
|
+
}
|
|
50
|
+
/** Keys that are valid site settings */
|
|
51
|
+
type SiteSettingKey = keyof SiteSettings;
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/seed/types.d.ts
|
|
54
|
+
/**
|
|
55
|
+
* Root seed file structure
|
|
56
|
+
*/
|
|
57
|
+
interface SeedFile {
|
|
58
|
+
/** JSON schema reference (optional) */
|
|
59
|
+
$schema?: string;
|
|
60
|
+
/** Seed format version */
|
|
61
|
+
version: "1";
|
|
62
|
+
/** Metadata about the seed */
|
|
63
|
+
meta?: {
|
|
64
|
+
name?: string;
|
|
65
|
+
description?: string;
|
|
66
|
+
author?: string;
|
|
67
|
+
};
|
|
68
|
+
/** Site settings */
|
|
69
|
+
settings?: Partial<SiteSettings>;
|
|
70
|
+
/** Collection definitions */
|
|
71
|
+
collections?: SeedCollection[];
|
|
72
|
+
/** Taxonomy definitions */
|
|
73
|
+
taxonomies?: SeedTaxonomy[];
|
|
74
|
+
/** Navigation menus */
|
|
75
|
+
menus?: SeedMenu[];
|
|
76
|
+
/** Redirect rules */
|
|
77
|
+
redirects?: SeedRedirect[];
|
|
78
|
+
/** Widget areas */
|
|
79
|
+
widgetAreas?: SeedWidgetArea[];
|
|
80
|
+
/** Sections (reusable content blocks, like WP patterns/reusable blocks) */
|
|
81
|
+
sections?: SeedSection[];
|
|
82
|
+
/** Bylines used for presentation credits */
|
|
83
|
+
bylines?: SeedByline[];
|
|
84
|
+
/** Sample content (organized by collection) */
|
|
85
|
+
content?: Record<string, SeedContentEntry[]>;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Collection definition in seed
|
|
89
|
+
*/
|
|
90
|
+
interface SeedCollection {
|
|
91
|
+
slug: string;
|
|
92
|
+
label: string;
|
|
93
|
+
labelSingular?: string;
|
|
94
|
+
description?: string;
|
|
95
|
+
icon?: string;
|
|
96
|
+
supports?: ("drafts" | "revisions" | "preview" | "scheduling" | "search" | "seo")[];
|
|
97
|
+
urlPattern?: string;
|
|
98
|
+
/** Enable comments on this collection */
|
|
99
|
+
commentsEnabled?: boolean;
|
|
100
|
+
fields: SeedField[];
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Field definition in seed
|
|
104
|
+
*/
|
|
105
|
+
interface SeedField {
|
|
106
|
+
slug: string;
|
|
107
|
+
label: string;
|
|
108
|
+
type: FieldType;
|
|
109
|
+
required?: boolean;
|
|
110
|
+
unique?: boolean;
|
|
111
|
+
searchable?: boolean;
|
|
112
|
+
defaultValue?: unknown;
|
|
113
|
+
validation?: Record<string, unknown>;
|
|
114
|
+
widget?: string;
|
|
115
|
+
options?: Record<string, unknown>;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Taxonomy definition in seed
|
|
119
|
+
*/
|
|
120
|
+
interface SeedTaxonomy {
|
|
121
|
+
name: string;
|
|
122
|
+
label: string;
|
|
123
|
+
labelSingular?: string;
|
|
124
|
+
hierarchical: boolean;
|
|
125
|
+
collections: string[];
|
|
126
|
+
terms?: SeedTaxonomyTerm[];
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Taxonomy term in seed
|
|
130
|
+
*/
|
|
131
|
+
interface SeedTaxonomyTerm {
|
|
132
|
+
slug: string;
|
|
133
|
+
label: string;
|
|
134
|
+
description?: string;
|
|
135
|
+
parent?: string;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Menu definition in seed
|
|
139
|
+
*/
|
|
140
|
+
interface SeedMenu {
|
|
141
|
+
name: string;
|
|
142
|
+
label: string;
|
|
143
|
+
items: SeedMenuItem[];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Menu item in seed
|
|
147
|
+
*/
|
|
148
|
+
interface SeedMenuItem {
|
|
149
|
+
type: string;
|
|
150
|
+
label?: string;
|
|
151
|
+
url?: string;
|
|
152
|
+
ref?: string;
|
|
153
|
+
collection?: string;
|
|
154
|
+
target?: "_blank" | "_self";
|
|
155
|
+
titleAttr?: string;
|
|
156
|
+
cssClasses?: string;
|
|
157
|
+
children?: SeedMenuItem[];
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Redirect definition in seed
|
|
161
|
+
*/
|
|
162
|
+
interface SeedRedirect {
|
|
163
|
+
source: string;
|
|
164
|
+
destination: string;
|
|
165
|
+
type?: 301 | 302 | 307 | 308;
|
|
166
|
+
enabled?: boolean;
|
|
167
|
+
groupName?: string | null;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Widget area definition in seed
|
|
171
|
+
*/
|
|
172
|
+
interface SeedWidgetArea {
|
|
173
|
+
name: string;
|
|
174
|
+
label: string;
|
|
175
|
+
description?: string;
|
|
176
|
+
widgets: SeedWidget[];
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Widget in seed
|
|
180
|
+
*/
|
|
181
|
+
interface SeedWidget {
|
|
182
|
+
type: "content" | "menu" | "component";
|
|
183
|
+
title?: string;
|
|
184
|
+
content?: Array<{
|
|
185
|
+
_type: string;
|
|
186
|
+
_key?: string;
|
|
187
|
+
[key: string]: unknown;
|
|
188
|
+
}>;
|
|
189
|
+
menuName?: string;
|
|
190
|
+
componentId?: string;
|
|
191
|
+
props?: Record<string, unknown>;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Section (reusable content block) in seed
|
|
195
|
+
*/
|
|
196
|
+
interface SeedSection {
|
|
197
|
+
slug: string;
|
|
198
|
+
title: string;
|
|
199
|
+
description?: string;
|
|
200
|
+
/** Search keywords */
|
|
201
|
+
keywords?: string[];
|
|
202
|
+
/** Portable Text content */
|
|
203
|
+
content: Array<{
|
|
204
|
+
_type: string;
|
|
205
|
+
_key?: string;
|
|
206
|
+
[key: string]: unknown;
|
|
207
|
+
}>;
|
|
208
|
+
/** Source: "theme" for seed-provided, "import" for WP imports */
|
|
209
|
+
source?: "theme" | "import";
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Byline profile in seed
|
|
213
|
+
*/
|
|
214
|
+
interface SeedByline {
|
|
215
|
+
/** Seed-local ID for byline references in content entries */
|
|
216
|
+
id: string;
|
|
217
|
+
slug: string;
|
|
218
|
+
displayName: string;
|
|
219
|
+
bio?: string;
|
|
220
|
+
websiteUrl?: string;
|
|
221
|
+
isGuest?: boolean;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Content entry in seed
|
|
225
|
+
*/
|
|
226
|
+
interface SeedContentEntry {
|
|
227
|
+
/** Seed-local ID for $ref resolution */
|
|
228
|
+
id: string;
|
|
229
|
+
/** URL slug */
|
|
230
|
+
slug: string;
|
|
231
|
+
/** Publication status */
|
|
232
|
+
status?: "published" | "draft";
|
|
233
|
+
/** Content data (field slug -> value) */
|
|
234
|
+
data: Record<string, unknown>;
|
|
235
|
+
/** Taxonomy term assignments (taxonomy name -> term slugs) */
|
|
236
|
+
taxonomies?: Record<string, string[]>;
|
|
237
|
+
/** Ordered byline credits for this entry */
|
|
238
|
+
bylines?: SeedBylineCredit[];
|
|
239
|
+
/** BCP 47 locale code. When omitted, defaults to defaultLocale. */
|
|
240
|
+
locale?: string;
|
|
241
|
+
/**
|
|
242
|
+
* Seed-local ID of the source content entry this translates.
|
|
243
|
+
* Must reference another entry's `id` in the same collection.
|
|
244
|
+
*/
|
|
245
|
+
translationOf?: string;
|
|
246
|
+
}
|
|
247
|
+
interface SeedBylineCredit {
|
|
248
|
+
/** Seed byline ID from root `bylines[]` */
|
|
249
|
+
byline: string;
|
|
250
|
+
roleLabel?: string;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Options for applying a seed
|
|
254
|
+
*/
|
|
255
|
+
interface SeedApplyOptions {
|
|
256
|
+
/** Include sample content (default: false) */
|
|
257
|
+
includeContent?: boolean;
|
|
258
|
+
/** How to handle conflicts (default: "skip") */
|
|
259
|
+
onConflict?: "skip" | "update" | "error";
|
|
260
|
+
/** Base path for local media files (for $media.file resolution) */
|
|
261
|
+
mediaBasePath?: string;
|
|
262
|
+
/**
|
|
263
|
+
* Storage adapter for media uploads.
|
|
264
|
+
* Required if seed contains $media references with URLs.
|
|
265
|
+
*/
|
|
266
|
+
storage?: Storage;
|
|
267
|
+
/**
|
|
268
|
+
* Skip downloading and storing media for $media references.
|
|
269
|
+
*
|
|
270
|
+
* When true, $media references are resolved to a MediaValue
|
|
271
|
+
* that uses the original external URL directly as the `src`,
|
|
272
|
+
* with provider set to "external". No storage adapter is needed.
|
|
273
|
+
*
|
|
274
|
+
* Useful for playground/demo environments where media storage
|
|
275
|
+
* is unavailable or undesirable.
|
|
276
|
+
*/
|
|
277
|
+
skipMediaDownload?: boolean;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Result of applying a seed
|
|
281
|
+
*/
|
|
282
|
+
interface SeedApplyResult {
|
|
283
|
+
collections: {
|
|
284
|
+
created: number;
|
|
285
|
+
skipped: number;
|
|
286
|
+
updated: number;
|
|
287
|
+
};
|
|
288
|
+
fields: {
|
|
289
|
+
created: number;
|
|
290
|
+
skipped: number;
|
|
291
|
+
updated: number;
|
|
292
|
+
};
|
|
293
|
+
taxonomies: {
|
|
294
|
+
created: number;
|
|
295
|
+
terms: number;
|
|
296
|
+
};
|
|
297
|
+
bylines: {
|
|
298
|
+
created: number;
|
|
299
|
+
skipped: number;
|
|
300
|
+
updated: number;
|
|
301
|
+
};
|
|
302
|
+
menus: {
|
|
303
|
+
created: number;
|
|
304
|
+
items: number;
|
|
305
|
+
};
|
|
306
|
+
redirects: {
|
|
307
|
+
created: number;
|
|
308
|
+
skipped: number;
|
|
309
|
+
updated: number;
|
|
310
|
+
};
|
|
311
|
+
widgetAreas: {
|
|
312
|
+
created: number;
|
|
313
|
+
widgets: number;
|
|
314
|
+
};
|
|
315
|
+
sections: {
|
|
316
|
+
created: number;
|
|
317
|
+
skipped: number;
|
|
318
|
+
updated: number;
|
|
319
|
+
};
|
|
320
|
+
settings: {
|
|
321
|
+
applied: number;
|
|
322
|
+
};
|
|
323
|
+
content: {
|
|
324
|
+
created: number;
|
|
325
|
+
skipped: number;
|
|
326
|
+
updated: number;
|
|
327
|
+
};
|
|
328
|
+
media: {
|
|
329
|
+
created: number;
|
|
330
|
+
skipped: number;
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Validation result
|
|
335
|
+
*/
|
|
336
|
+
interface ValidationResult {
|
|
337
|
+
valid: boolean;
|
|
338
|
+
errors: string[];
|
|
339
|
+
warnings: string[];
|
|
340
|
+
}
|
|
341
|
+
//#endregion
|
|
342
|
+
//#region src/seed/apply.d.ts
|
|
343
|
+
/**
|
|
344
|
+
* Apply a seed file to the database
|
|
345
|
+
*
|
|
346
|
+
* This function is idempotent - safe to run multiple times.
|
|
347
|
+
*
|
|
348
|
+
* @param db - Kysely database instance
|
|
349
|
+
* @param seed - Seed file to apply
|
|
350
|
+
* @param options - Application options
|
|
351
|
+
* @returns Result summary
|
|
352
|
+
*/
|
|
353
|
+
declare function applySeed(db: Kysely<Database>, seed: SeedFile, options?: SeedApplyOptions): Promise<SeedApplyResult>;
|
|
354
|
+
//#endregion
|
|
355
|
+
//#region src/seed/default.d.ts
|
|
356
|
+
declare const defaultSeed: SeedFile;
|
|
357
|
+
//#endregion
|
|
358
|
+
//#region src/seed/load.d.ts
|
|
359
|
+
/**
|
|
360
|
+
* Load the seed file (user seed or default).
|
|
361
|
+
*/
|
|
362
|
+
declare function loadSeed(): Promise<SeedFile>;
|
|
363
|
+
/**
|
|
364
|
+
* Load the user's seed file, or null if none exists.
|
|
365
|
+
*/
|
|
366
|
+
declare function loadUserSeed(): Promise<SeedFile | null>;
|
|
367
|
+
//#endregion
|
|
368
|
+
//#region src/seed/validate.d.ts
|
|
369
|
+
/**
|
|
370
|
+
* Validate a seed file
|
|
371
|
+
*
|
|
372
|
+
* @param data - Unknown data to validate as a seed file
|
|
373
|
+
* @returns Validation result with errors and warnings
|
|
374
|
+
*/
|
|
375
|
+
declare function validateSeed(data: unknown): ValidationResult;
|
|
376
|
+
//#endregion
|
|
377
|
+
export { SiteSettingKey as C, SeoSettings as S, SeedTaxonomyTerm as _, applySeed as a, ValidationResult as b, SeedCollection as c, SeedFile as d, SeedMenu as f, SeedTaxonomy as g, SeedSection as h, defaultSeed as i, SeedContentEntry as l, SeedRedirect as m, loadSeed as n, SeedApplyOptions as o, SeedMenuItem as p, loadUserSeed as r, SeedApplyResult as s, validateSeed as t, SeedField as u, SeedWidget as v, SiteSettings as w, MediaReference as x, SeedWidgetArea as y };
|
package/locals.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dineway Astro type declarations
|
|
3
|
+
*
|
|
4
|
+
* Augments App.Locals with Dineway types.
|
|
5
|
+
* Referenced via triple-slash directive in the generated dineway-env.d.ts.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { User } from "@dineway-ai/auth";
|
|
9
|
+
|
|
10
|
+
import type { DinewayHandlers, DinewayManifest } from "./dist/types.d.mts";
|
|
11
|
+
|
|
12
|
+
declare global {
|
|
13
|
+
namespace App {
|
|
14
|
+
interface Locals {
|
|
15
|
+
/**
|
|
16
|
+
* Dineway API handlers - available on /_dineway/* routes
|
|
17
|
+
*/
|
|
18
|
+
dineway: DinewayHandlers;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Dineway manifest - the serialized admin configuration
|
|
22
|
+
*/
|
|
23
|
+
dinewayManifest: DinewayManifest;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Authenticated user - set by auth middleware when a valid session exists
|
|
27
|
+
*/
|
|
28
|
+
user?: User;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Request-scoped database override for sidecar and playground flows.
|
|
32
|
+
*
|
|
33
|
+
* Set by external middleware when a request should render against an
|
|
34
|
+
* isolated session database instead of the primary site database.
|
|
35
|
+
* Read by the runtime middleware and request-context middleware to set
|
|
36
|
+
* the database in ALS for the current request.
|
|
37
|
+
*
|
|
38
|
+
* This exists because Vite SSR loads two copies of request-context.ts
|
|
39
|
+
* (dist for integration middleware, source for the loader). locals
|
|
40
|
+
* bridges the DB across that module boundary.
|
|
41
|
+
*/
|
|
42
|
+
__dinewayRequestDb?: unknown;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export {};
|