@orieljs/framework 0.1.0-alpha.3 → 0.1.0-alpha.4

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/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { C as ClassRegistry$3, a as Class$j, S as ServiceProvider$u, A as Application$c, b as Abstract$j, c as ConfigRepository$3 } from './index.d-DOlTeG-8.js';
2
2
  import { Token as Token$j, ServiceProviderClass as ServiceProviderClass$a } from './contracts.js';
3
- export { RouteList, RouteName } from './contracts.js';
4
- import { T as Target, B as BusFake, E as EventFake, M as MailFake, N as NotificationFake, Q as QueueFake, F as FakeDisk } from './testing--F6FODc_.js';
5
- export { C as Component, a as ComponentResult, b as Computed, c as CorruptComponentPayloadError, d as ErrorBag, I as InvalidLiveRequestError, L as Live, e as LiveComponentManager, f as LiveComponentNotFoundError, g as LiveError, h as LiveProps, i as LiveServiceProvider, j as Locked, k as MethodNotCallableError, O as On, P as PendingEvent, l as PropertyNotUpdatableError, m as Testable, U as UPDATE_URI, n as componentName, o as live } from './testing--F6FODc_.js';
3
+ export { InertiaPage, RouteList, RouteName } from './contracts.js';
4
+ import { T as Target, B as BusFake, E as EventFake, M as MailFake, N as NotificationFake, Q as QueueFake, F as FakeDisk } from './testing-D3dCOkTm.js';
5
+ export { C as Component, a as ComponentResult, b as Computed, c as CorruptComponentPayloadError, d as ErrorBag, I as InvalidLiveRequestError, L as Live, e as LiveComponentManager, f as LiveComponentNotFoundError, g as LiveError, h as LiveProps, i as LiveServiceProvider, j as Locked, k as MethodNotCallableError, O as On, P as PERSISTENT_MIDDLEWARE, l as PendingEvent, m as PersistentMiddleware, n as PropertyNotUpdatableError, o as TestRequestScope, p as Testable, U as UPDATE_URI, q as componentName, r as live, s as persistentMiddleware } from './testing-D3dCOkTm.js';
6
6
  import { IncomingMessage, ServerResponse } from 'node:http';
7
7
  import { Kysely, RawBuilder, CompiledQuery, QueryResult, SqliteDatabase, SqliteStatement, Dialect } from 'kysely';
8
8
  import Redis$1, { Redis } from 'ioredis';
@@ -357,6 +357,13 @@ declare function tap<T>(target: T, callback: (target: T) => void): T;
357
357
  /** Calls fn up to `times` times (attempt numbers are 1-based). Rethrows the last error, or the first one `when` rejects. */
358
358
  declare function retry<T>(times: number, fn: (attempt: number) => T | Promise<T>, sleepMs?: number | ((attempt: number) => number), when?: (error: unknown) => boolean): Promise<T>;
359
359
 
360
+ /**
361
+ * Laravel's __(): the line for `key` with `:placeholders` filled (`:name`, `:Name` capitalized, `:NAME` upper-cased),
362
+ * longest placeholder first. A key with no line comes back as is, so a sentence can be its own key:
363
+ * __('auth.failed'), __('auth.throttle', { seconds: 30 }), __('A reset link will be sent if the account exists.').
364
+ */
365
+ declare function __(key: string, replace?: Record<string, string | number>): string;
366
+
360
367
  interface ConfigRepository$2 {
361
368
  has(key: string): boolean;
362
369
  /** Dot notation: get('database.connections.sqlite.database'). */
@@ -417,59 +424,6 @@ interface Container$i {
417
424
  }
418
425
  declare const Container$i: Token$h<Container$i>;
419
426
 
420
- interface ServiceProvider$s {
421
- /** Bind things into the container. Synchronous. Don't resolve other services here. */
422
- register?(): void;
423
- /** Runs after every provider is registered. May be async (e.g. importing route files). */
424
- boot?(): void | Promise<void>;
425
- }
426
- type ServiceProviderClass$9 = new (app: Application$b) => ServiceProvider$s;
427
- interface Application$b extends Container$i {
428
- readonly version: string;
429
- basePath(path?: string): string;
430
- appPath(path?: string): string;
431
- bootstrapPath(path?: string): string;
432
- configPath(path?: string): string;
433
- databasePath(path?: string): string;
434
- publicPath(path?: string): string;
435
- resourcePath(path?: string): string;
436
- storagePath(path?: string): string;
437
- /** With no args returns the environment name. With args returns whether it matches any of them. */
438
- environment(): string;
439
- environment(...environments: string[]): boolean;
440
- isProduction(): boolean;
441
- isLocal(): boolean;
442
- runningInConsole(): boolean;
443
- /** Mark the app as running in the console (the CLI entry point calls this). Defaults to true. */
444
- setRunningInConsole(value?: boolean): void;
445
- runningUnitTests(): boolean;
446
- /** Registers the provider. If the app is already booted, the provider is booted immediately. */
447
- register(provider: ServiceProvider$s | ServiceProviderClass$9): Promise<ServiceProvider$s>;
448
- getProviders(): ServiceProvider$s[];
449
- boot(): Promise<void>;
450
- isBooted(): boolean;
451
- booting(callback: (app: Application$b) => void | Promise<void>): void;
452
- booted(callback: (app: Application$b) => void | Promise<void>): void;
453
- /** Handle one HTTP request in a fresh request scope via the bound HttpKernel. */
454
- handle(request: Request): Promise<Response>;
455
- /** Register a callback that terminate() runs, in registration order. */
456
- terminating(callback: () => void | Promise<void>): void;
457
- terminate(): Promise<void>;
458
- }
459
- declare const Application$b: Token$j<Application$b>;
460
- /** The object passed to Application.configure().withExceptions(e => …), like Laravel's Exceptions class. */
461
- interface ExceptionsConfigurator$1 {
462
- /** Custom reporting. Return false to stop the default logging. */
463
- report(callback: (error: unknown) => void | boolean | Promise<void | boolean>): this;
464
- /** Custom rendering. Return undefined to fall through to the default rendering. */
465
- render(callback: (error: unknown, request: unknown) => Response | undefined | Promise<Response | undefined>): this;
466
- /** Never report errors of these classes. */
467
- dontReport(...classes: Array<abstract new (...args: never[]) => Error>): this;
468
- }
469
- interface Htmlable$1 {
470
- toHtml(): string;
471
- }
472
-
473
427
  /** The session of the current request (scoped). Loaded and saved by the StartSession middleware. */
474
428
  interface Session$6 {
475
429
  getId(): string;
@@ -532,6 +486,8 @@ interface HttpRequest$6 {
532
486
  header(name: string, defaultValue: string): string;
533
487
  bearerToken(): string | undefined;
534
488
  ip(): string | undefined;
489
+ /** The raw body as text (Laravel's getContent()); '' when there is none. */
490
+ content(): string;
535
491
  expectsJson(): boolean;
536
492
  ajax(): boolean;
537
493
  query<T = unknown>(key?: string, defaultValue?: T): T;
@@ -591,6 +547,61 @@ interface HttpKernel$1 {
591
547
  }
592
548
  declare const HttpKernel$1: Token$j<HttpKernel$1>;
593
549
 
550
+ interface ServiceProvider$s {
551
+ /** Bind things into the container. Synchronous. Don't resolve other services here. */
552
+ register?(): void;
553
+ /** Runs after every provider is registered. May be async (e.g. importing route files). */
554
+ boot?(): void | Promise<void>;
555
+ }
556
+ type ServiceProviderClass$9 = new (app: Application$b) => ServiceProvider$s;
557
+ interface Application$b extends Container$i {
558
+ readonly version: string;
559
+ basePath(path?: string): string;
560
+ appPath(path?: string): string;
561
+ bootstrapPath(path?: string): string;
562
+ configPath(path?: string): string;
563
+ databasePath(path?: string): string;
564
+ publicPath(path?: string): string;
565
+ resourcePath(path?: string): string;
566
+ storagePath(path?: string): string;
567
+ /** With no args returns the environment name. With args returns whether it matches any of them. */
568
+ environment(): string;
569
+ environment(...environments: string[]): boolean;
570
+ isProduction(): boolean;
571
+ isLocal(): boolean;
572
+ runningInConsole(): boolean;
573
+ /** Mark the app as running in the console (the CLI entry point calls this). Defaults to true. */
574
+ setRunningInConsole(value?: boolean): void;
575
+ runningUnitTests(): boolean;
576
+ /** Registers the provider. If the app is already booted, the provider is booted immediately. */
577
+ register(provider: ServiceProvider$s | ServiceProviderClass$9): Promise<ServiceProvider$s>;
578
+ getProviders(): ServiceProvider$s[];
579
+ boot(): Promise<void>;
580
+ isBooted(): boolean;
581
+ booting(callback: (app: Application$b) => void | Promise<void>): void;
582
+ booted(callback: (app: Application$b) => void | Promise<void>): void;
583
+ /** Handle one HTTP request in a fresh request scope via the bound HttpKernel. */
584
+ handle(request: Request): Promise<Response>;
585
+ /** Register a callback that terminate() runs, in registration order. */
586
+ terminating(callback: () => void | Promise<void>): void;
587
+ terminate(): Promise<void>;
588
+ }
589
+ declare const Application$b: Token$j<Application$b>;
590
+ /** The object passed to Application.configure().withExceptions(e => …), like Laravel's Exceptions class. */
591
+ interface ExceptionsConfigurator$1 {
592
+ /** Custom reporting. Return false to stop the default logging. */
593
+ report(callback: (error: unknown) => void | boolean | Promise<void | boolean>): this;
594
+ /** Custom rendering. Return undefined to fall through to the default rendering. */
595
+ render(callback: (error: unknown, request: unknown) => Response | undefined | Promise<Response | undefined>): this;
596
+ /** Never report errors of these classes. */
597
+ dontReport(...classes: Array<abstract new (...args: never[]) => Error>): this;
598
+ /** Render errors as JSON when the callback returns true, whatever the Accept header. */
599
+ shouldRenderJsonWhen(callback: (request: HttpRequest$6, error: unknown) => boolean): this;
600
+ }
601
+ interface Htmlable$1 {
602
+ toHtml(): string;
603
+ }
604
+
594
605
  type ErrorKind$j = 'Http' | 'Server' | 'ModelNotFound' | 'Validation' | 'Authentication' | 'Authorization' | 'TokenMismatch' | 'BindingResolution' | 'CircularDependency' | 'ContainerNotAvailable';
595
606
  /** Every error thrown by the framework implements this. The exception handler switches on `kind`. */
596
607
  interface OrielError$j extends Error {
@@ -640,8 +651,9 @@ declare class Container$h implements Container$k {
640
651
  }
641
652
 
642
653
  interface RoutingOptions {
643
- web?: string;
644
- api?: string;
654
+ /** One route file or several, loaded in order: web: ['routes/web.ts', 'routes/settings.ts', 'routes/auth.ts']. */
655
+ web?: string | string[];
656
+ api?: string | string[];
645
657
  console?: string;
646
658
  /** A URI such as '/up', not a file. */
647
659
  health?: string;
@@ -667,7 +679,7 @@ declare class ApplicationBuilder {
667
679
  type LifecycleCallback = (app: Application$b) => void | Promise<void>;
668
680
  declare class Application$a extends Container$h implements Application$b {
669
681
  private readonly base;
670
- readonly version = "0.1.0-alpha.3";
682
+ readonly version = "0.1.0-alpha.4";
671
683
  private readonly providers;
672
684
  private readonly bootingCallbacks;
673
685
  private readonly bootedCallbacks;
@@ -1000,7 +1012,8 @@ declare class MailMessage {
1000
1012
  introLines: string[];
1001
1013
  actionData?: MailMessageAction;
1002
1014
  outroLines: string[];
1003
- salutationLine: string;
1015
+ /** Unset: "Regards," and config('app.name'), as Laravel's template. */
1016
+ salutationLine?: string;
1004
1017
  toAddresses: MailRecipient$1[];
1005
1018
  ccAddresses: MailRecipient$1[];
1006
1019
  bccAddresses: MailRecipient$1[];
@@ -1385,47 +1398,6 @@ interface Container$e {
1385
1398
  }
1386
1399
  declare const Container$e: Token$e<Container$e>;
1387
1400
 
1388
- interface ServiceProvider$p {
1389
- /** Bind things into the container. Synchronous. Don't resolve other services here. */
1390
- register?(): void;
1391
- /** Runs after every provider is registered. May be async (e.g. importing route files). */
1392
- boot?(): void | Promise<void>;
1393
- }
1394
- type ServiceProviderClass$7 = new (app: Application$7) => ServiceProvider$p;
1395
- interface Application$7 extends Container$e {
1396
- readonly version: string;
1397
- basePath(path?: string): string;
1398
- appPath(path?: string): string;
1399
- bootstrapPath(path?: string): string;
1400
- configPath(path?: string): string;
1401
- databasePath(path?: string): string;
1402
- publicPath(path?: string): string;
1403
- resourcePath(path?: string): string;
1404
- storagePath(path?: string): string;
1405
- /** With no args returns the environment name. With args returns whether it matches any of them. */
1406
- environment(): string;
1407
- environment(...environments: string[]): boolean;
1408
- isProduction(): boolean;
1409
- isLocal(): boolean;
1410
- runningInConsole(): boolean;
1411
- /** Mark the app as running in the console (the CLI entry point calls this). Defaults to true. */
1412
- setRunningInConsole(value?: boolean): void;
1413
- runningUnitTests(): boolean;
1414
- /** Registers the provider. If the app is already booted, the provider is booted immediately. */
1415
- register(provider: ServiceProvider$p | ServiceProviderClass$7): Promise<ServiceProvider$p>;
1416
- getProviders(): ServiceProvider$p[];
1417
- boot(): Promise<void>;
1418
- isBooted(): boolean;
1419
- booting(callback: (app: Application$7) => void | Promise<void>): void;
1420
- booted(callback: (app: Application$7) => void | Promise<void>): void;
1421
- /** Handle one HTTP request in a fresh request scope via the bound HttpKernel. */
1422
- handle(request: Request): Promise<Response>;
1423
- /** Register a callback that terminate() runs, in registration order. */
1424
- terminating(callback: () => void | Promise<void>): void;
1425
- terminate(): Promise<void>;
1426
- }
1427
- declare const Application$7: Token$j<Application$7>;
1428
-
1429
1401
  /** The session of the current request (scoped). Loaded and saved by the StartSession middleware. */
1430
1402
  interface Session$5 {
1431
1403
  getId(): string;
@@ -1488,6 +1460,8 @@ interface HttpRequest$5 {
1488
1460
  header(name: string, defaultValue: string): string;
1489
1461
  bearerToken(): string | undefined;
1490
1462
  ip(): string | undefined;
1463
+ /** The raw body as text (Laravel's getContent()); '' when there is none. */
1464
+ content(): string;
1491
1465
  expectsJson(): boolean;
1492
1466
  ajax(): boolean;
1493
1467
  query<T = unknown>(key?: string, defaultValue?: T): T;
@@ -1521,6 +1495,47 @@ interface Middleware$5 {
1521
1495
  }
1522
1496
  type MiddlewareClass$1 = new (...args: any[]) => Middleware$5;
1523
1497
 
1498
+ interface ServiceProvider$p {
1499
+ /** Bind things into the container. Synchronous. Don't resolve other services here. */
1500
+ register?(): void;
1501
+ /** Runs after every provider is registered. May be async (e.g. importing route files). */
1502
+ boot?(): void | Promise<void>;
1503
+ }
1504
+ type ServiceProviderClass$7 = new (app: Application$7) => ServiceProvider$p;
1505
+ interface Application$7 extends Container$e {
1506
+ readonly version: string;
1507
+ basePath(path?: string): string;
1508
+ appPath(path?: string): string;
1509
+ bootstrapPath(path?: string): string;
1510
+ configPath(path?: string): string;
1511
+ databasePath(path?: string): string;
1512
+ publicPath(path?: string): string;
1513
+ resourcePath(path?: string): string;
1514
+ storagePath(path?: string): string;
1515
+ /** With no args returns the environment name. With args returns whether it matches any of them. */
1516
+ environment(): string;
1517
+ environment(...environments: string[]): boolean;
1518
+ isProduction(): boolean;
1519
+ isLocal(): boolean;
1520
+ runningInConsole(): boolean;
1521
+ /** Mark the app as running in the console (the CLI entry point calls this). Defaults to true. */
1522
+ setRunningInConsole(value?: boolean): void;
1523
+ runningUnitTests(): boolean;
1524
+ /** Registers the provider. If the app is already booted, the provider is booted immediately. */
1525
+ register(provider: ServiceProvider$p | ServiceProviderClass$7): Promise<ServiceProvider$p>;
1526
+ getProviders(): ServiceProvider$p[];
1527
+ boot(): Promise<void>;
1528
+ isBooted(): boolean;
1529
+ booting(callback: (app: Application$7) => void | Promise<void>): void;
1530
+ booted(callback: (app: Application$7) => void | Promise<void>): void;
1531
+ /** Handle one HTTP request in a fresh request scope via the bound HttpKernel. */
1532
+ handle(request: Request): Promise<Response>;
1533
+ /** Register a callback that terminate() runs, in registration order. */
1534
+ terminating(callback: () => void | Promise<void>): void;
1535
+ terminate(): Promise<void>;
1536
+ }
1537
+ declare const Application$7: Token$j<Application$7>;
1538
+
1524
1539
  /** Public method names of a controller (excludes non-function members). */
1525
1540
  type ActionMethods$1<C> = {
1526
1541
  [K in keyof C]: C[K] extends (...args: any[]) => unknown ? K : never;
@@ -1538,7 +1553,7 @@ interface Route$2 {
1538
1553
  readonly uri: string;
1539
1554
  getName(): string | undefined;
1540
1555
  name(name: string): this;
1541
- middleware(...middleware: MiddlewareReference$1[]): this;
1556
+ middleware(...middleware: Array<MiddlewareReference$1 | readonly MiddlewareReference$1[]>): this;
1542
1557
  withoutMiddleware(...middleware: MiddlewareReference$1[]): this;
1543
1558
  where(parameter: string, pattern: string): this;
1544
1559
  where(patterns: Record<string, string>): this;
@@ -1546,7 +1561,7 @@ interface Route$2 {
1546
1561
  interface RouteRegistrar$1 {
1547
1562
  prefix(prefix: string): RouteRegistrar$1;
1548
1563
  name(prefix: string): RouteRegistrar$1;
1549
- middleware(...middleware: MiddlewareReference$1[]): RouteRegistrar$1;
1564
+ middleware(...middleware: Array<MiddlewareReference$1 | readonly MiddlewareReference$1[]>): RouteRegistrar$1;
1550
1565
  controller(controller: Class$e<unknown>): RouteRegistrar$1;
1551
1566
  group(routes: () => void | Promise<void>): Promise<void>;
1552
1567
  }
@@ -1574,7 +1589,7 @@ interface Router$1 {
1574
1589
  fallback(action: RouteAction$1): Route$2;
1575
1590
  prefix(prefix: string): RouteRegistrar$1;
1576
1591
  name(prefix: string): RouteRegistrar$1;
1577
- middleware(...middleware: MiddlewareReference$1[]): RouteRegistrar$1;
1592
+ middleware(...middleware: Array<MiddlewareReference$1 | readonly MiddlewareReference$1[]>): RouteRegistrar$1;
1578
1593
  controller(controller: Class$e<unknown>): RouteRegistrar$1;
1579
1594
  /** Explicit model binding: Route.model('author', User). */
1580
1595
  model(parameter: string, model: Class$e<unknown>): void;
@@ -1601,6 +1616,12 @@ interface UrlGenerator$1 {
1601
1616
  current(): string;
1602
1617
  previous(fallback?: string): string;
1603
1618
  hasRoute(name: string): boolean;
1619
+ /** A URL to a named route with a `signature` query (HMAC-SHA256 keyed by APP_KEY); `expiration` adds `expires`. */
1620
+ signedRoute(name: string, parameters?: unknown, expiration?: Date | number, absolute?: boolean): string;
1621
+ /** signedRoute() that expires: a Date, or seconds from now. */
1622
+ temporarySignedRoute(name: string, expiration: Date | number, parameters?: unknown, absolute?: boolean): string;
1623
+ /** Whether the request URL carries a valid, unexpired signature (`absolute: false` signs the path only). */
1624
+ hasValidSignature(request: HttpRequest$5, absolute?: boolean): boolean;
1604
1625
  }
1605
1626
  declare const UrlGenerator$1: Token$j<UrlGenerator$1>;
1606
1627
 
@@ -1670,7 +1691,8 @@ declare class RouteDefinition implements Route$2 {
1670
1691
  getName(): string | undefined;
1671
1692
  /** Appends, like Laravel's $action['as'] .= $name. */
1672
1693
  name(name: string): this;
1673
- middleware(...middleware: MiddlewareReference$1[]): this;
1694
+ /** middleware('auth', 'verified') or middleware(['auth', 'verified']). */
1695
+ middleware(...middleware: Array<MiddlewareReference$1 | readonly MiddlewareReference$1[]>): this;
1674
1696
  withoutMiddleware(...middleware: MiddlewareReference$1[]): this;
1675
1697
  where(parameter: string | Record<string, string>, pattern?: string): this;
1676
1698
  gatherMiddleware(): MiddlewareReference$1[];
@@ -1710,7 +1732,7 @@ declare class GroupRegistrar implements RouteRegistrar$1 {
1710
1732
  constructor(router: GroupHost);
1711
1733
  prefix(prefix: string): this;
1712
1734
  name(prefix: string): this;
1713
- middleware(...middleware: MiddlewareReference$1[]): this;
1735
+ middleware(...middleware: Array<MiddlewareReference$1 | readonly MiddlewareReference$1[]>): this;
1714
1736
  controller(controller: Class$e<unknown>): this;
1715
1737
  group(routes: () => void | Promise<void>): Promise<void>;
1716
1738
  get<C>(uri: string, action: ControllerAction$1<C> | RouteClosure$1 | InvokableClass$1 | string): RouteDefinition;
@@ -1760,7 +1782,7 @@ declare class BaseRouter implements Router$1 {
1760
1782
  fallback(action: RouteAction$1): RouteDefinition;
1761
1783
  prefix(prefix: string): GroupRegistrar;
1762
1784
  name(prefix: string): GroupRegistrar;
1763
- middleware(...middleware: MiddlewareReference$1[]): GroupRegistrar;
1785
+ middleware(...middleware: Array<MiddlewareReference$1 | readonly MiddlewareReference$1[]>): GroupRegistrar;
1764
1786
  controller(controller: Class$e<unknown>): GroupRegistrar;
1765
1787
  /**
1766
1788
  * Laravel's Route::group(attributes, callback). A synchronous callback's attributes are popped before this
@@ -1820,6 +1842,20 @@ declare class BaseUrlGenerator implements UrlGenerator$1 {
1820
1842
  /** The Referer header, then the session's previous URL, then `fallback`, then the root (Laravel's order). */
1821
1843
  previous(fallback?: string): string;
1822
1844
  hasRoute(name: string): boolean;
1845
+ /**
1846
+ * Laravel's URL::signedRoute(): the route URL with its parameters sorted by name, then a `signature` query (the
1847
+ * HMAC-SHA256 of that URL, keyed by APP_KEY). `expiration` (a Date, or seconds from now) adds `expires`.
1848
+ * `absolute: false` signs the path only (checked by `signed:relative`).
1849
+ */
1850
+ signedRoute(name: string, parameters?: unknown, expiration?: Date | number, absolute?: boolean): string;
1851
+ /** Laravel's URL::temporarySignedRoute(): a signed URL that expires at `expiration` (a Date, or seconds from now). */
1852
+ temporarySignedRoute(name: string, expiration: Date | number, parameters?: unknown, absolute?: boolean): string;
1853
+ /** The request URL carries a correct signature (current or previous APP_KEY) that hasn't expired. */
1854
+ hasValidSignature(request: HttpRequest$5, absolute?: boolean): boolean;
1855
+ /** The signature matches the URL without its `signature` query, in a constant-time comparison. */
1856
+ hasCorrectSignature(request: HttpRequest$5, absolute?: boolean): boolean;
1857
+ /** No `expires` query, or one that is still in the future. */
1858
+ signatureHasNotExpired(request: HttpRequest$5): boolean;
1823
1859
  }
1824
1860
 
1825
1861
  /** A middleware reference after alias and group expansion: 'throttle:60,1' → { cls: Throttle, parameters: ['60', '1'] }. */
@@ -1934,6 +1970,21 @@ declare class RoutingError extends Error implements OrielError$g {
1934
1970
  readonly status = 500;
1935
1971
  readonly name = "RoutingError";
1936
1972
  }
1973
+ /** A signed URL whose signature is missing, wrong or expired (Laravel's InvalidSignatureException). */
1974
+ declare class InvalidUrlSignatureError extends Error implements OrielError$g {
1975
+ readonly kind: "Http";
1976
+ readonly status = 403;
1977
+ readonly name = "InvalidUrlSignatureError";
1978
+ constructor();
1979
+ }
1980
+ /** Too many requests in the window (Laravel's ThrottleRequestsException): 429 with Retry-After and X-RateLimit-*. */
1981
+ declare class ThrottleRequestsError extends Error implements OrielError$g {
1982
+ readonly headers: Record<string, string>;
1983
+ readonly kind: "Http";
1984
+ readonly status = 429;
1985
+ readonly name = "ThrottleRequestsError";
1986
+ constructor(headers?: Record<string, string>);
1987
+ }
1937
1988
 
1938
1989
  type ResourceMethod = 'index' | 'create' | 'store' | 'show' | 'edit' | 'update' | 'destroy';
1939
1990
  interface ResourceRoute {
@@ -1969,11 +2020,12 @@ declare function loadRoutesFrom(app: Application$7, router: Router$1, file: stri
1969
2020
  declare function healthResponse(): Response;
1970
2021
 
1971
2022
  /**
1972
- * Binds the Router and the UrlGenerator, and once the app has booted loads the files given to withRouting(): the health URI,
1973
- * then routes/web.ts in the `web` middleware group, then routes/api.ts under the api prefix in the `api` group
1974
- * (Laravel's ApplicationBuilder::withRouting).
2023
+ * Binds the Router and the UrlGenerator, registers the `signed` and `throttle` middleware, and once the app has booted
2024
+ * loads the files given to withRouting(): the health URI, then the web files in the `web` middleware group, then the
2025
+ * api files under the api prefix in the `api` group (Laravel's ApplicationBuilder::withRouting).
1975
2026
  */
1976
2027
  declare class RoutingServiceProvider extends ServiceProvider$o {
2028
+ #private;
1977
2029
  register(): void;
1978
2030
  /**
1979
2031
  * The files load in a booted() callback, after every provider's boot() (Laravel's withRouting does the same), so
@@ -1983,6 +2035,25 @@ declare class RoutingServiceProvider extends ServiceProvider$o {
1983
2035
  boot(): void;
1984
2036
  }
1985
2037
 
2038
+ /**
2039
+ * Laravel's ThrottleRequests (`throttle:<maxAttempts>,<decayMinutes>[,<prefix>]`): counts the client's requests
2040
+ * (the signed-in user, else the IP) in a window and answers 429 once there are too many. Responses carry
2041
+ * X-RateLimit-Limit and X-RateLimit-Remaining; the 429 adds Retry-After and X-RateLimit-Reset.
2042
+ */
2043
+ declare class ThrottleRequests implements Middleware$5 {
2044
+ handle(request: HttpRequest$5, next: Next$6, maxAttempts?: string, decayMinutes?: string, prefix?: string): Promise<Response>;
2045
+ /** The signed-in user's identifier, else the client IP, hashed (Laravel's resolveRequestSignature()). */
2046
+ protected resolveRequestSignature(request: HttpRequest$5): string;
2047
+ }
2048
+
2049
+ /**
2050
+ * Laravel's ValidateSignature (`signed`, `signed:relative`): the request URL must carry a valid, unexpired
2051
+ * signature from URL.signedRoute()/temporarySignedRoute(), else 403. `relative` checks a path-only signature.
2052
+ */
2053
+ declare class ValidateSignature implements Middleware$5 {
2054
+ handle(request: HttpRequest$5, next: Next$6, ...parameters: string[]): Promise<Response>;
2055
+ }
2056
+
1986
2057
  /** A typed, runtime-unique key for container bindings. */
1987
2058
  interface Token$d<T> {
1988
2059
  readonly id: symbol;
@@ -2019,78 +2090,6 @@ interface Container$d {
2019
2090
  }
2020
2091
  declare const Container$d: Token$d<Container$d>;
2021
2092
 
2022
- interface ServiceProvider$n {
2023
- /** Bind things into the container. Synchronous. Don't resolve other services here. */
2024
- register?(): void;
2025
- /** Runs after every provider is registered. May be async (e.g. importing route files). */
2026
- boot?(): void | Promise<void>;
2027
- }
2028
- type ServiceProviderClass$6 = new (app: Application$6) => ServiceProvider$n;
2029
- interface Application$6 extends Container$d {
2030
- readonly version: string;
2031
- basePath(path?: string): string;
2032
- appPath(path?: string): string;
2033
- bootstrapPath(path?: string): string;
2034
- configPath(path?: string): string;
2035
- databasePath(path?: string): string;
2036
- publicPath(path?: string): string;
2037
- resourcePath(path?: string): string;
2038
- storagePath(path?: string): string;
2039
- /** With no args returns the environment name. With args returns whether it matches any of them. */
2040
- environment(): string;
2041
- environment(...environments: string[]): boolean;
2042
- isProduction(): boolean;
2043
- isLocal(): boolean;
2044
- runningInConsole(): boolean;
2045
- /** Mark the app as running in the console (the CLI entry point calls this). Defaults to true. */
2046
- setRunningInConsole(value?: boolean): void;
2047
- runningUnitTests(): boolean;
2048
- /** Registers the provider. If the app is already booted, the provider is booted immediately. */
2049
- register(provider: ServiceProvider$n | ServiceProviderClass$6): Promise<ServiceProvider$n>;
2050
- getProviders(): ServiceProvider$n[];
2051
- boot(): Promise<void>;
2052
- isBooted(): boolean;
2053
- booting(callback: (app: Application$6) => void | Promise<void>): void;
2054
- booted(callback: (app: Application$6) => void | Promise<void>): void;
2055
- /** Handle one HTTP request in a fresh request scope via the bound HttpKernel. */
2056
- handle(request: Request): Promise<Response>;
2057
- /** Register a callback that terminate() runs, in registration order. */
2058
- terminating(callback: () => void | Promise<void>): void;
2059
- terminate(): Promise<void>;
2060
- }
2061
- declare const Application$6: Token$j<Application$6>;
2062
- interface ExceptionHandler {
2063
- report(error: unknown): Promise<void>;
2064
- shouldReport(error: unknown): boolean;
2065
- /** `request` is the scoped HttpRequest (Contracts/Http) when available, else the raw Request. */
2066
- render(request: unknown, error: unknown): Promise<Response>;
2067
- }
2068
- declare const ExceptionHandler: Token$j<ExceptionHandler>;
2069
- /** The object passed to Application.configure().withExceptions(e => …), like Laravel's Exceptions class. */
2070
- interface ExceptionsConfigurator {
2071
- /** Custom reporting. Return false to stop the default logging. */
2072
- report(callback: (error: unknown) => void | boolean | Promise<void | boolean>): this;
2073
- /** Custom rendering. Return undefined to fall through to the default rendering. */
2074
- render(callback: (error: unknown, request: unknown) => Response | undefined | Promise<Response | undefined>): this;
2075
- /** Never report errors of these classes. */
2076
- dontReport(...classes: Array<abstract new (...args: never[]) => Error>): this;
2077
- }
2078
-
2079
- interface ConfigRepository$1 {
2080
- has(key: string): boolean;
2081
- /** Dot notation: get('database.connections.sqlite.database'). */
2082
- get<T = unknown>(key: string, defaultValue?: T): T;
2083
- set(key: string, value: unknown): void;
2084
- set(values: Record<string, unknown>): void;
2085
- push(key: string, value: unknown): void;
2086
- all(): Record<string, unknown>;
2087
- }
2088
- declare const ConfigRepository$1: Token$j<ConfigRepository$1>;
2089
- /** Anything a controller can return that knows how to become a Response. */
2090
- interface Responsable$1 {
2091
- toResponse(request: unknown): Response | Promise<Response>;
2092
- }
2093
-
2094
2093
  /** The session of the current request (scoped). Loaded and saved by the StartSession middleware. */
2095
2094
  interface Session$4 {
2096
2095
  getId(): string;
@@ -2157,6 +2156,8 @@ interface HttpRequest$4 {
2157
2156
  header(name: string, defaultValue: string): string;
2158
2157
  bearerToken(): string | undefined;
2159
2158
  ip(): string | undefined;
2159
+ /** The raw body as text (Laravel's getContent()); '' when there is none. */
2160
+ content(): string;
2160
2161
  expectsJson(): boolean;
2161
2162
  ajax(): boolean;
2162
2163
  query<T = unknown>(key?: string, defaultValue?: T): T;
@@ -2214,15 +2215,89 @@ interface HttpKernel {
2214
2215
  handle(request: Request): Promise<Response>;
2215
2216
  terminate?(request: Request, response: Response): Promise<void>;
2216
2217
  }
2217
- declare const HttpKernel: Token$j<HttpKernel>;
2218
- interface ResponseFactory$1 {
2219
- make(content?: BodyInit | null, status?: number, headers?: HeadersInit): Response;
2220
- json(data: unknown, status?: number, headers?: HeadersInit): Response;
2221
- noContent(status?: number): Response;
2222
- download(path: string, name?: string, headers?: HeadersInit): Promise<Response>;
2223
- stream(body: ReadableStream, status?: number, headers?: HeadersInit): Response;
2218
+ declare const HttpKernel: Token$j<HttpKernel>;
2219
+ interface ResponseFactory$1 {
2220
+ make(content?: BodyInit | null, status?: number, headers?: HeadersInit): Response;
2221
+ json(data: unknown, status?: number, headers?: HeadersInit): Response;
2222
+ noContent(status?: number): Response;
2223
+ download(path: string, name?: string, headers?: HeadersInit): Promise<Response>;
2224
+ stream(body: ReadableStream, status?: number, headers?: HeadersInit): Response;
2225
+ }
2226
+ declare const ResponseFactory$1: Token$j<ResponseFactory$1>;
2227
+
2228
+ interface ServiceProvider$n {
2229
+ /** Bind things into the container. Synchronous. Don't resolve other services here. */
2230
+ register?(): void;
2231
+ /** Runs after every provider is registered. May be async (e.g. importing route files). */
2232
+ boot?(): void | Promise<void>;
2233
+ }
2234
+ type ServiceProviderClass$6 = new (app: Application$6) => ServiceProvider$n;
2235
+ interface Application$6 extends Container$d {
2236
+ readonly version: string;
2237
+ basePath(path?: string): string;
2238
+ appPath(path?: string): string;
2239
+ bootstrapPath(path?: string): string;
2240
+ configPath(path?: string): string;
2241
+ databasePath(path?: string): string;
2242
+ publicPath(path?: string): string;
2243
+ resourcePath(path?: string): string;
2244
+ storagePath(path?: string): string;
2245
+ /** With no args returns the environment name. With args returns whether it matches any of them. */
2246
+ environment(): string;
2247
+ environment(...environments: string[]): boolean;
2248
+ isProduction(): boolean;
2249
+ isLocal(): boolean;
2250
+ runningInConsole(): boolean;
2251
+ /** Mark the app as running in the console (the CLI entry point calls this). Defaults to true. */
2252
+ setRunningInConsole(value?: boolean): void;
2253
+ runningUnitTests(): boolean;
2254
+ /** Registers the provider. If the app is already booted, the provider is booted immediately. */
2255
+ register(provider: ServiceProvider$n | ServiceProviderClass$6): Promise<ServiceProvider$n>;
2256
+ getProviders(): ServiceProvider$n[];
2257
+ boot(): Promise<void>;
2258
+ isBooted(): boolean;
2259
+ booting(callback: (app: Application$6) => void | Promise<void>): void;
2260
+ booted(callback: (app: Application$6) => void | Promise<void>): void;
2261
+ /** Handle one HTTP request in a fresh request scope via the bound HttpKernel. */
2262
+ handle(request: Request): Promise<Response>;
2263
+ /** Register a callback that terminate() runs, in registration order. */
2264
+ terminating(callback: () => void | Promise<void>): void;
2265
+ terminate(): Promise<void>;
2266
+ }
2267
+ declare const Application$6: Token$j<Application$6>;
2268
+ interface ExceptionHandler {
2269
+ report(error: unknown): Promise<void>;
2270
+ shouldReport(error: unknown): boolean;
2271
+ /** `request` is the scoped HttpRequest (Contracts/Http) when available, else the raw Request. */
2272
+ render(request: unknown, error: unknown): Promise<Response>;
2273
+ }
2274
+ declare const ExceptionHandler: Token$j<ExceptionHandler>;
2275
+ /** The object passed to Application.configure().withExceptions(e => …), like Laravel's Exceptions class. */
2276
+ interface ExceptionsConfigurator {
2277
+ /** Custom reporting. Return false to stop the default logging. */
2278
+ report(callback: (error: unknown) => void | boolean | Promise<void | boolean>): this;
2279
+ /** Custom rendering. Return undefined to fall through to the default rendering. */
2280
+ render(callback: (error: unknown, request: unknown) => Response | undefined | Promise<Response | undefined>): this;
2281
+ /** Never report errors of these classes. */
2282
+ dontReport(...classes: Array<abstract new (...args: never[]) => Error>): this;
2283
+ /** Render errors as JSON when the callback returns true, whatever the Accept header. */
2284
+ shouldRenderJsonWhen(callback: (request: HttpRequest$4, error: unknown) => boolean): this;
2285
+ }
2286
+
2287
+ interface ConfigRepository$1 {
2288
+ has(key: string): boolean;
2289
+ /** Dot notation: get('database.connections.sqlite.database'). */
2290
+ get<T = unknown>(key: string, defaultValue?: T): T;
2291
+ set(key: string, value: unknown): void;
2292
+ set(values: Record<string, unknown>): void;
2293
+ push(key: string, value: unknown): void;
2294
+ all(): Record<string, unknown>;
2295
+ }
2296
+ declare const ConfigRepository$1: Token$j<ConfigRepository$1>;
2297
+ /** Anything a controller can return that knows how to become a Response. */
2298
+ interface Responsable$1 {
2299
+ toResponse(request: unknown): Response | Promise<Response>;
2224
2300
  }
2225
- declare const ResponseFactory$1: Token$j<ResponseFactory$1>;
2226
2301
 
2227
2302
  /** Public method names of a controller (excludes non-function members). */
2228
2303
  type ActionMethods<C> = {
@@ -2241,7 +2316,7 @@ interface Route {
2241
2316
  readonly uri: string;
2242
2317
  getName(): string | undefined;
2243
2318
  name(name: string): this;
2244
- middleware(...middleware: MiddlewareReference[]): this;
2319
+ middleware(...middleware: Array<MiddlewareReference | readonly MiddlewareReference[]>): this;
2245
2320
  withoutMiddleware(...middleware: MiddlewareReference[]): this;
2246
2321
  where(parameter: string, pattern: string): this;
2247
2322
  where(patterns: Record<string, string>): this;
@@ -2249,7 +2324,7 @@ interface Route {
2249
2324
  interface RouteRegistrar {
2250
2325
  prefix(prefix: string): RouteRegistrar;
2251
2326
  name(prefix: string): RouteRegistrar;
2252
- middleware(...middleware: MiddlewareReference[]): RouteRegistrar;
2327
+ middleware(...middleware: Array<MiddlewareReference | readonly MiddlewareReference[]>): RouteRegistrar;
2253
2328
  controller(controller: Class$d<unknown>): RouteRegistrar;
2254
2329
  group(routes: () => void | Promise<void>): Promise<void>;
2255
2330
  }
@@ -2277,7 +2352,7 @@ interface Router {
2277
2352
  fallback(action: RouteAction): Route;
2278
2353
  prefix(prefix: string): RouteRegistrar;
2279
2354
  name(prefix: string): RouteRegistrar;
2280
- middleware(...middleware: MiddlewareReference[]): RouteRegistrar;
2355
+ middleware(...middleware: Array<MiddlewareReference | readonly MiddlewareReference[]>): RouteRegistrar;
2281
2356
  controller(controller: Class$d<unknown>): RouteRegistrar;
2282
2357
  /** Explicit model binding: Route.model('author', User). */
2283
2358
  model(parameter: string, model: Class$d<unknown>): void;
@@ -2313,6 +2388,12 @@ interface UrlGenerator {
2313
2388
  current(): string;
2314
2389
  previous(fallback?: string): string;
2315
2390
  hasRoute(name: string): boolean;
2391
+ /** A URL to a named route with a `signature` query (HMAC-SHA256 keyed by APP_KEY); `expiration` adds `expires`. */
2392
+ signedRoute(name: string, parameters?: unknown, expiration?: Date | number, absolute?: boolean): string;
2393
+ /** signedRoute() that expires: a Date, or seconds from now. */
2394
+ temporarySignedRoute(name: string, expiration: Date | number, parameters?: unknown, absolute?: boolean): string;
2395
+ /** Whether the request URL carries a valid, unexpired signature (`absolute: false` signs the path only). */
2396
+ hasValidSignature(request: HttpRequest$4, absolute?: boolean): boolean;
2316
2397
  }
2317
2398
  declare const UrlGenerator: Token$j<UrlGenerator>;
2318
2399
  interface RedirectResponse$1 extends Responsable$1 {
@@ -2413,6 +2494,13 @@ declare abstract class ServiceProvider$m implements ServiceProvider$u {
2413
2494
  protected mergeConfigFrom(defaults: Record<string, unknown>, key: string): void;
2414
2495
  }
2415
2496
 
2497
+ /**
2498
+ * Whether a JSON text nests objects and arrays deeper than `maxDepth`, found by scanning (no parsing, no recursion):
2499
+ * brackets inside strings don't count. The kernel answers 400 for such bodies (http.max_json_depth) before the
2500
+ * recursive input handling (sanitizing, TrimStrings, validation) could overflow the stack.
2501
+ */
2502
+ declare function exceedsJsonDepth(text: string, maxDepth: number): boolean;
2503
+
2416
2504
  /** The current container, only when it is a request scope (the kernel binds HttpRequest there). */
2417
2505
  declare function requestScope(): Container$d | undefined;
2418
2506
  declare function currentRequest(): HttpRequest$4 | undefined;
@@ -2454,7 +2542,10 @@ declare class HttpRedirector implements Redirector {
2454
2542
  /** Pulls url.intended from the session (put there by guest()), else goes to `fallback`. */
2455
2543
  intended(fallback?: string, status?: number): HttpRedirectResponse;
2456
2544
  away(url: string, status?: number): HttpRedirectResponse;
2457
- /** Remembers where a guest was going (a GET page, else the previous URL), then redirects to `path`. */
2545
+ /**
2546
+ * Remembers where a guest was going (a GET page, else the previous URL), then redirects to `path`. Only the path
2547
+ * is stored, so intended() goes back on whichever host serves the app, and never to another site's Referer.
2548
+ */
2458
2549
  guest(path: string, status?: number): HttpRedirectResponse;
2459
2550
  setIntendedUrl(url: string): void;
2460
2551
  refresh(status?: number): HttpRedirectResponse;
@@ -2489,6 +2580,8 @@ interface IncomingRequestOptions {
2489
2580
  trustedProxies?: readonly string[];
2490
2581
  /** Largest request body in bytes before a 413 (config http.max_body_size); null is unlimited. Default 8 MB. */
2491
2582
  maxBodySize?: number | null;
2583
+ /** Deepest nesting of objects and arrays in a JSON body before a 400 (config http.max_json_depth); null is unlimited. Default 512. */
2584
+ maxJsonDepth?: number | null;
2492
2585
  }
2493
2586
  /** Exact match, IPv4 CIDR ('10.0.0.0/8') or '*'. */
2494
2587
  declare function ipMatches(ip: string, patterns: readonly string[]): boolean;
@@ -2721,6 +2814,7 @@ declare function applyMiddlewareCallbacks(app: Application$6, kernel: Kernel$1):
2721
2814
  type ReportCallback = (error: unknown) => void | boolean | Promise<void | boolean>;
2722
2815
  type RenderCallback = (error: unknown, request: unknown) => Response | undefined | Promise<Response | undefined>;
2723
2816
  type ErrorClass = abstract new (...args: never[]) => Error;
2817
+ type JsonWhenCallback = (request: HttpRequest$4, error: unknown) => boolean;
2724
2818
  /** HTTP status for an error (spec §7). */
2725
2819
  declare function statusFor(error: unknown): number;
2726
2820
  /** "The title field is required. (and 2 more errors)" (Laravel's ValidationException::summarize). */
@@ -2735,6 +2829,10 @@ declare class ErrorHandler implements ExceptionHandler {
2735
2829
  reportUsing(callback: ReportCallback): void;
2736
2830
  renderUsing(callback: RenderCallback): void;
2737
2831
  ignore(...classes: ErrorClass[]): void;
2832
+ /** Laravel's shouldRenderJsonWhen(): the callback decides JSON or HTML instead of the Accept header. */
2833
+ shouldRenderJsonWhen(callback: JsonWhenCallback): void;
2834
+ /** Laravel's shouldReturnJson(): the shouldRenderJsonWhen() callback when set, else request.expectsJson(). */
2835
+ protected shouldReturnJson(request: HttpRequest$4, error: unknown): boolean;
2738
2836
  shouldReport(error: unknown): boolean;
2739
2837
  /** Report callbacks first (returning false stops the default log), then LogManager.error(), else console.error. Once per error. */
2740
2838
  report(error: unknown): Promise<void>;
@@ -2748,6 +2846,8 @@ declare class ExceptionsConfiguration implements ExceptionsConfigurator {
2748
2846
  report(callback: ReportCallback): this;
2749
2847
  render(callback: RenderCallback): this;
2750
2848
  dontReport(...classes: ErrorClass[]): this;
2849
+ /** shouldRenderJsonWhen((request) => request.is('api/*')): JSON errors for those requests, whatever they accept. */
2850
+ shouldRenderJsonWhen(callback: (request: HttpRequest$4, error: unknown) => boolean): this;
2751
2851
  }
2752
2852
  /** Runs the withExceptions() callbacks against a handler (the provider does this when the handler is built). */
2753
2853
  declare function applyExceptionCallbacks(app: Application$6, handler: ErrorHandler): void;
@@ -5358,6 +5458,15 @@ interface StateContext {
5358
5458
  }
5359
5459
  type State = Row$4 | ((attributes: Row$4, context: StateContext) => Row$4);
5360
5460
  type AnyFactory = Factory$b<any>;
5461
+ /**
5462
+ * A model's factory() typed as its own factory class (Laravel's `@use HasFactory<UserFactory>`): declare it in the
5463
+ * model, `declare static factory: HasFactory<UserFactory>` (with `import type`), and User.factory().unverified()
5464
+ * type-checks. The factory is still found at run time by name (database/factories/UserFactory.ts).
5465
+ */
5466
+ type HasFactory<F> = {
5467
+ (): F;
5468
+ (count: number, state?: State): F & Many;
5469
+ } & (typeof Model)['factory'];
5361
5470
  interface HasRelationship {
5362
5471
  factory: AnyFactory;
5363
5472
  relationship: string;
@@ -6514,6 +6623,16 @@ declare class ValidationErrorImpl extends Error implements ValidationError {
6514
6623
  readonly name = "ValidationError";
6515
6624
  constructor(errors: Record<string, string[]>, errorBag?: string, redirectTo?: string | undefined);
6516
6625
  }
6626
+ /**
6627
+ * Laravel's ValidationException, for failing a request by hand:
6628
+ * `throw ValidationException.withMessages({ email: __('auth.failed') })`. Rendered like any validation error: 422 JSON,
6629
+ * or a redirect back with the errors.
6630
+ */
6631
+ declare class ValidationException extends ValidationErrorImpl {
6632
+ /** Messages per field, each a string or a list. */
6633
+ static withMessages(messages: Record<string, string | readonly string[]>): ValidationException;
6634
+ constructor(errors: Record<string, string[]>, errorBag?: string, redirectTo?: string);
6635
+ }
6517
6636
  declare class AuthorizationErrorImpl extends Error implements OrielError$c {
6518
6637
  readonly kind: "Authorization";
6519
6638
  readonly status = 403;
@@ -6592,6 +6711,8 @@ interface BuiltinRule {
6592
6711
  replacements?(ctx: RuleContext): Record<string, string>;
6593
6712
  /** Used when messageKey() isn't in DEFAULT_MESSAGES (e.g. an extend()ed rule with a custom message). */
6594
6713
  defaultMessage?: string;
6714
+ /** An extend()ed rule's own message: it wins over the default lines, as Laravel's fallback messages do. */
6715
+ message?: string;
6595
6716
  /** Runs even when the value is missing, blank, or null under nullable (the required* family, and accepted); a failure stops the field. */
6596
6717
  implicit?: boolean;
6597
6718
  }
@@ -6626,6 +6747,36 @@ declare function expandWildcardKeys(pattern: string, data: Record<string, unknow
6626
6747
  /** Every built-in rule, merged. Later tasks (database rules) add their own spread here. */
6627
6748
  declare const builtinRules: Record<string, BuiltinRule>;
6628
6749
 
6750
+ /**
6751
+ * Laravel's Illuminate\Validation\Rules\Password: a string of at least `min` characters (8 by default), plus the
6752
+ * checks you add: letters(), mixedCase(), numbers(), symbols(), max(). Every failing check adds its own message.
6753
+ * Rule.password() returns the application default (PasswordRule.defaults()). (Laravel's uncompromised() is not
6754
+ * ported: it calls an outside service.)
6755
+ */
6756
+ declare class PasswordRule implements ValidationRule$4 {
6757
+ #private;
6758
+ constructor(min?: number);
6759
+ /** A password rule of at least `size` characters: PasswordRule.min(12).mixedCase(). */
6760
+ static min(size: number): PasswordRule;
6761
+ /**
6762
+ * With an argument, sets the default (Laravel's Password::defaults(fn () => ...), in a provider's boot());
6763
+ * `null` resets it. Without one, returns a copy of the default: PasswordRule.min(8) unless set.
6764
+ */
6765
+ static defaults(): PasswordRule;
6766
+ static defaults(rule: PasswordRule | (() => PasswordRule) | null): void;
6767
+ min(size: number): this;
6768
+ max(size: number): this;
6769
+ /** At least one letter. */
6770
+ letters(): this;
6771
+ /** At least one uppercase and one lowercase letter. */
6772
+ mixedCase(): this;
6773
+ /** At least one number. */
6774
+ numbers(): this;
6775
+ /** At least one symbol (punctuation, a symbol or a space). */
6776
+ symbols(): this;
6777
+ validate(attribute: string, value: unknown, fail: (message: string) => void): void;
6778
+ }
6779
+
6629
6780
  /**
6630
6781
  * Base for the fluent builders. Each one reports under a built-in rule name (`in`, `unique`, `exists`), so when it
6631
6782
  * runs inside a Validator its failure goes through exactly the same lookup as the string rule: custom messages
@@ -6672,6 +6823,8 @@ declare const Rule: {
6672
6823
  in: (values: readonly unknown[]) => InRule;
6673
6824
  unique: (table: string, column?: string) => UniqueRule;
6674
6825
  exists: (table: string, column?: string) => ExistsRule;
6826
+ /** Laravel's Password::defaults(): the application's password rule (at least 8 characters unless PasswordRule.defaults() changed it). */
6827
+ password: () => PasswordRule;
6675
6828
  };
6676
6829
 
6677
6830
  /** See Task 9's writeup in the plan for exactly what this does and doesn't infer. */
@@ -7167,6 +7320,8 @@ interface HttpRequest$3 {
7167
7320
  header(name: string, defaultValue: string): string;
7168
7321
  bearerToken(): string | undefined;
7169
7322
  ip(): string | undefined;
7323
+ /** The raw body as text (Laravel's getContent()); '' when there is none. */
7324
+ content(): string;
7170
7325
  expectsJson(): boolean;
7171
7326
  ajax(): boolean;
7172
7327
  query<T = unknown>(key?: string, defaultValue?: T): T;
@@ -7370,16 +7525,6 @@ interface Container$9 {
7370
7525
  }
7371
7526
  declare const Container$9: Token$9<Container$9>;
7372
7527
 
7373
- interface Arrayable$3<T = unknown> {
7374
- toArray(): T;
7375
- }
7376
- /** The minimal collection surface contracts rely on (implemented by @orieljs/collections). */
7377
- interface Enumerable$3<T> extends Iterable<T>, Arrayable$3<unknown[]> {
7378
- all(): T[];
7379
- count(): number;
7380
- isEmpty(): boolean;
7381
- }
7382
-
7383
7528
  /** The session of the current request (scoped). Loaded and saved by the StartSession middleware. */
7384
7529
  interface Session$2 {
7385
7530
  getId(): string;
@@ -7458,6 +7603,8 @@ interface HttpRequest$2 {
7458
7603
  header(name: string, defaultValue: string): string;
7459
7604
  bearerToken(): string | undefined;
7460
7605
  ip(): string | undefined;
7606
+ /** The raw body as text (Laravel's getContent()); '' when there is none. */
7607
+ content(): string;
7461
7608
  expectsJson(): boolean;
7462
7609
  ajax(): boolean;
7463
7610
  query<T = unknown>(key?: string, defaultValue?: T): T;
@@ -7490,6 +7637,16 @@ interface Middleware$2 {
7490
7637
  terminate?(request: HttpRequest$2, response: Response): Promise<void>;
7491
7638
  }
7492
7639
 
7640
+ interface Arrayable$3<T = unknown> {
7641
+ toArray(): T;
7642
+ }
7643
+ /** The minimal collection surface contracts rely on (implemented by @orieljs/collections). */
7644
+ interface Enumerable$3<T> extends Iterable<T>, Arrayable$3<unknown[]> {
7645
+ all(): T[];
7646
+ count(): number;
7647
+ isEmpty(): boolean;
7648
+ }
7649
+
7493
7650
  interface Cookie {
7494
7651
  name: string;
7495
7652
  value: string;
@@ -7914,27 +8071,6 @@ interface Container$8 {
7914
8071
  }
7915
8072
  declare const Container$8: Token$8<Container$8>;
7916
8073
 
7917
- interface ConfigRepository {
7918
- has(key: string): boolean;
7919
- /** Dot notation: get('database.connections.sqlite.database'). */
7920
- get<T = unknown>(key: string, defaultValue?: T): T;
7921
- set(key: string, value: unknown): void;
7922
- set(values: Record<string, unknown>): void;
7923
- push(key: string, value: unknown): void;
7924
- all(): Record<string, unknown>;
7925
- }
7926
- declare const ConfigRepository: Token$j<ConfigRepository>;
7927
-
7928
- interface Arrayable$2<T = unknown> {
7929
- toArray(): T;
7930
- }
7931
- /** The minimal collection surface contracts rely on (implemented by @orieljs/collections). */
7932
- interface Enumerable$2<T> extends Iterable<T>, Arrayable$2<unknown[]> {
7933
- all(): T[];
7934
- count(): number;
7935
- isEmpty(): boolean;
7936
- }
7937
-
7938
8074
  /** The session of the current request (scoped). Loaded and saved by the StartSession middleware. */
7939
8075
  interface Session$1 {
7940
8076
  getId(): string;
@@ -7997,6 +8133,8 @@ interface HttpRequest$1 {
7997
8133
  header(name: string, defaultValue: string): string;
7998
8134
  bearerToken(): string | undefined;
7999
8135
  ip(): string | undefined;
8136
+ /** The raw body as text (Laravel's getContent()); '' when there is none. */
8137
+ content(): string;
8000
8138
  expectsJson(): boolean;
8001
8139
  ajax(): boolean;
8002
8140
  query<T = unknown>(key?: string, defaultValue?: T): T;
@@ -8029,6 +8167,27 @@ interface Middleware$1 {
8029
8167
  terminate?(request: HttpRequest$1, response: Response): Promise<void>;
8030
8168
  }
8031
8169
 
8170
+ interface ConfigRepository {
8171
+ has(key: string): boolean;
8172
+ /** Dot notation: get('database.connections.sqlite.database'). */
8173
+ get<T = unknown>(key: string, defaultValue?: T): T;
8174
+ set(key: string, value: unknown): void;
8175
+ set(values: Record<string, unknown>): void;
8176
+ push(key: string, value: unknown): void;
8177
+ all(): Record<string, unknown>;
8178
+ }
8179
+ declare const ConfigRepository: Token$j<ConfigRepository>;
8180
+
8181
+ interface Arrayable$2<T = unknown> {
8182
+ toArray(): T;
8183
+ }
8184
+ /** The minimal collection surface contracts rely on (implemented by @orieljs/collections). */
8185
+ interface Enumerable$2<T> extends Iterable<T>, Arrayable$2<unknown[]> {
8186
+ all(): T[];
8187
+ count(): number;
8188
+ isEmpty(): boolean;
8189
+ }
8190
+
8032
8191
  interface Hasher {
8033
8192
  make(value: string): Promise<string>;
8034
8193
  check(value: string, hashed: string): Promise<boolean>;
@@ -8287,6 +8446,21 @@ declare class PasswordReset {
8287
8446
  readonly user: Authenticatable;
8288
8447
  constructor(user: Authenticatable);
8289
8448
  }
8449
+ /** Fired by the registration action after a user signs up; the default listener sends the verification mail. */
8450
+ declare class Registered {
8451
+ readonly user: Authenticatable;
8452
+ constructor(user: Authenticatable);
8453
+ }
8454
+ /** Fired when a user verifies their email address. */
8455
+ declare class Verified {
8456
+ readonly user: Authenticatable & MustVerifyEmail;
8457
+ constructor(user: Authenticatable & MustVerifyEmail);
8458
+ }
8459
+ /** Fired when a login is refused for too many attempts (the starter kits' LoginRequest). */
8460
+ declare class Lockout {
8461
+ readonly request: HttpRequest$1;
8462
+ constructor(request: HttpRequest$1);
8463
+ }
8290
8464
 
8291
8465
  /** What the default toMail() returns: Laravel's reset mail, as plain data (see the plan's notes). */
8292
8466
  interface ResetPasswordMail {
@@ -8313,6 +8487,54 @@ declare class ResetPassword implements Notification {
8313
8487
  resetUrl(notifiable: CanResetPassword): string;
8314
8488
  }
8315
8489
 
8490
+ /** What the default toMail() returns: Laravel's verification mail, as plain data (the mail channel renders it). */
8491
+ interface VerifyEmailMail {
8492
+ subject: string;
8493
+ lines: string[];
8494
+ actionText: string;
8495
+ actionUrl: string;
8496
+ outroLines: string[];
8497
+ }
8498
+ /** The user the notification is for (AuthenticatableModel provides this). */
8499
+ type VerifiableUser = MustVerifyEmail & {
8500
+ getKey?(): unknown;
8501
+ getAuthIdentifier?(): unknown;
8502
+ };
8503
+ /**
8504
+ * Laravel's VerifyEmail notification: a link to the `verification.verify` route signed for
8505
+ * config('auth.verification.expire', 60) minutes, with the user's key as {id} and the sha1 of their email as {hash}.
8506
+ */
8507
+ declare class VerifyEmail implements Notification {
8508
+ /** Build the verification URL yourself (e.g. for a SPA front end). */
8509
+ static createUrlUsing(callback: ((notifiable: VerifiableUser) => string) | undefined): void;
8510
+ /** Build the mail yourself (e.g. a MailMessage from the Notifications component). */
8511
+ static toMailUsing(callback: ((notifiable: VerifiableUser, url: string) => unknown) | undefined): void;
8512
+ via(): string[];
8513
+ toMail(notifiable: object): unknown;
8514
+ verificationUrl(notifiable: VerifiableUser): string;
8515
+ }
8516
+
8517
+ /**
8518
+ * Laravel's SendEmailVerificationNotification, listening for Registered (AuthServiceProvider registers it): a new
8519
+ * user who must verify their email, and hasn't, gets the VerifyEmail mail.
8520
+ */
8521
+ declare class SendEmailVerificationNotification {
8522
+ handle(event: Registered): Promise<void>;
8523
+ }
8524
+
8525
+ /**
8526
+ * Laravel's EmailVerificationRequest, for the verification link's route (`auth` and `signed` middleware): the
8527
+ * signed-in user's key must equal the {id} parameter and the sha1 of their email the {hash} parameter, else 403.
8528
+ * `await EmailVerificationRequest.validate()` in the action, like a FormRequest.
8529
+ */
8530
+ declare class EmailVerificationRequest {
8531
+ static validate(): Promise<Record<string, never>>;
8532
+ authorize(): boolean;
8533
+ rules(): Record<string, never>;
8534
+ /** Marks the signed-in user's email as verified and fires Verified, unless it already was. */
8535
+ fulfill(): Promise<void>;
8536
+ }
8537
+
8316
8538
  /** The part of a model (Contracts/Database ModelInstance) the mixin needs. */
8317
8539
  interface AuthModelBase {
8318
8540
  getKey(): unknown;
@@ -8322,7 +8544,7 @@ interface AuthModelBase {
8322
8544
  save(): Promise<boolean>;
8323
8545
  }
8324
8546
  type AuthModelConstructor = new (...args: any[]) => AuthModelBase;
8325
- /** Configure how the email verification notification is sent (signed URLs are not in v1's UrlGenerator). */
8547
+ /** Send the email verification yourself instead of the VerifyEmail notification (undefined restores the default). */
8326
8548
  declare function sendEmailVerificationUsing(callback: ((user: MustVerifyEmail) => Promise<void>) | undefined): void;
8327
8549
  /** Sends a notification through user.notify() (the Notifications mixin), else the NotificationDispatcher token. */
8328
8550
  declare function sendNotification(user: unknown, notification: Notification): Promise<void>;
@@ -8345,6 +8567,7 @@ declare function AuthenticatableModel<TBase extends AuthModelConstructor>(Base:
8345
8567
  hasVerifiedEmail(): boolean;
8346
8568
  markEmailAsVerified(): Promise<boolean>;
8347
8569
  getEmailForVerification(): string;
8570
+ /** Sends the VerifyEmail notification (a signed link), or what sendEmailVerificationUsing() configured. */
8348
8571
  sendEmailVerificationNotification(): Promise<void>;
8349
8572
  getKey(): unknown;
8350
8573
  getKeyName(): string;
@@ -9405,6 +9628,18 @@ interface CacheManager$2 extends CacheRepository$1 {
9405
9628
  extend(driver: string, factory: (config: Record<string, unknown>) => CacheRepository$1): void;
9406
9629
  }
9407
9630
  declare const CacheManager$2: Token$j<CacheManager$2>;
9631
+ /** Laravel's RateLimiter: hits per key, kept in the default cache store. */
9632
+ interface RateLimiter$1 {
9633
+ tooManyAttempts(key: string, maxAttempts: number): Promise<boolean>;
9634
+ /** Adds a hit; the window starts at the first hit and lasts `decaySeconds` (default 60). Returns the hit count. */
9635
+ hit(key: string, decaySeconds?: number): Promise<number>;
9636
+ attempts(key: string): Promise<number>;
9637
+ remaining(key: string, maxAttempts: number): Promise<number>;
9638
+ /** Seconds until the key's window resets. */
9639
+ availableIn(key: string): Promise<number>;
9640
+ clear(key: string): Promise<void>;
9641
+ }
9642
+ declare const RateLimiter$1: Token$j<RateLimiter$1>;
9408
9643
 
9409
9644
  declare abstract class ServiceProvider$8 implements ServiceProvider$u {
9410
9645
  protected readonly app: Application$c;
@@ -9771,7 +10006,28 @@ declare class CacheManager$1 implements CacheManager$2 {
9771
10006
  tags(names: string | string[]): CacheRepository$1;
9772
10007
  }
9773
10008
 
10009
+ /**
10010
+ * Laravel's Illuminate\Cache\RateLimiter over a cache store: `<key>` holds the hit count and `<key>:timer` the unix
10011
+ * time the window ends, both expiring with the window. The store is resolved on every call, so a store swapped in
10012
+ * a test (or config changed at run time) is the one used.
10013
+ */
10014
+ declare class CacheRateLimiter implements RateLimiter$1 {
10015
+ #private;
10016
+ private readonly store;
10017
+ constructor(store: () => CacheRepository$1);
10018
+ tooManyAttempts(key: string, maxAttempts: number): Promise<boolean>;
10019
+ hit(key: string, decaySeconds?: number): Promise<number>;
10020
+ attempts(key: string): Promise<number>;
10021
+ remaining(key: string, maxAttempts: number): Promise<number>;
10022
+ availableIn(key: string): Promise<number>;
10023
+ clear(key: string): Promise<void>;
10024
+ /** Laravel's cleanRateLimiterKey(): accented letters become their plain letter ('zoë' and 'zoe' share a key). */
10025
+ protected cleanKey(key: string): string;
10026
+ }
10027
+
9774
10028
  declare const Cache: Facade<CacheManager$2, object>;
10029
+ /** The RateLimiter facade: RateLimiter.tooManyAttempts(key, 5), RateLimiter.hit(key), RateLimiter.clear(key). */
10030
+ declare const RateLimiter: Facade<RateLimiter$1, object>;
9775
10031
  declare function cache(): CacheManager$2;
9776
10032
  declare function cache(key: string): Promise<unknown>;
9777
10033
  declare function cache(values: Record<string, unknown>, ttlSeconds?: number): Promise<boolean>;
@@ -9815,6 +10071,16 @@ interface Container$4 {
9815
10071
  run<R>(fn: () => R): R;
9816
10072
  }
9817
10073
  declare const Container$4: Token$4<Container$4>;
10074
+ interface UploadedFile$1 {
10075
+ readonly clientName: string;
10076
+ readonly mimeType: string;
10077
+ readonly size: number;
10078
+ extension(): string;
10079
+ arrayBuffer(): Promise<ArrayBuffer>;
10080
+ /** Stores on a Filesystem disk. Returns the stored path. */
10081
+ store(directory: string, disk?: string): Promise<string>;
10082
+ storeAs(directory: string, name: string, disk?: string): Promise<string>;
10083
+ }
9818
10084
 
9819
10085
  interface ServiceProvider$7 {
9820
10086
  /** Bind things into the container. Synchronous. Don't resolve other services here. */
@@ -9856,16 +10122,6 @@ interface Application$2 extends Container$4 {
9856
10122
  terminate(): Promise<void>;
9857
10123
  }
9858
10124
  declare const Application$2: Token$j<Application$2>;
9859
- interface UploadedFile$1 {
9860
- readonly clientName: string;
9861
- readonly mimeType: string;
9862
- readonly size: number;
9863
- extension(): string;
9864
- arrayBuffer(): Promise<ArrayBuffer>;
9865
- /** Stores on a Filesystem disk. Returns the stored path. */
9866
- store(directory: string, disk?: string): Promise<string>;
9867
- storeAs(directory: string, name: string, disk?: string): Promise<string>;
9868
- }
9869
10125
 
9870
10126
  type ErrorKind$4 = 'Http' | 'Server' | 'ModelNotFound' | 'Validation' | 'Authentication' | 'Authorization' | 'TokenMismatch' | 'BindingResolution' | 'CircularDependency' | 'ContainerNotAvailable';
9871
10127
  /** Every error thrown by the framework implements this. The exception handler switches on `kind`. */
@@ -11915,54 +12171,6 @@ interface Container {
11915
12171
  }
11916
12172
  declare const Container: Token<Container>;
11917
12173
 
11918
- interface ServiceProvider$1 {
11919
- /** Bind things into the container. Synchronous. Don't resolve other services here. */
11920
- register?(): void;
11921
- /** Runs after every provider is registered. May be async (e.g. importing route files). */
11922
- boot?(): void | Promise<void>;
11923
- }
11924
- type ServiceProviderClass = new (app: Application) => ServiceProvider$1;
11925
- interface Application extends Container {
11926
- readonly version: string;
11927
- basePath(path?: string): string;
11928
- appPath(path?: string): string;
11929
- bootstrapPath(path?: string): string;
11930
- configPath(path?: string): string;
11931
- databasePath(path?: string): string;
11932
- publicPath(path?: string): string;
11933
- resourcePath(path?: string): string;
11934
- storagePath(path?: string): string;
11935
- /** With no args returns the environment name. With args returns whether it matches any of them. */
11936
- environment(): string;
11937
- environment(...environments: string[]): boolean;
11938
- isProduction(): boolean;
11939
- isLocal(): boolean;
11940
- runningInConsole(): boolean;
11941
- /** Mark the app as running in the console (the CLI entry point calls this). Defaults to true. */
11942
- setRunningInConsole(value?: boolean): void;
11943
- runningUnitTests(): boolean;
11944
- /** Registers the provider. If the app is already booted, the provider is booted immediately. */
11945
- register(provider: ServiceProvider$1 | ServiceProviderClass): Promise<ServiceProvider$1>;
11946
- getProviders(): ServiceProvider$1[];
11947
- boot(): Promise<void>;
11948
- isBooted(): boolean;
11949
- booting(callback: (app: Application) => void | Promise<void>): void;
11950
- booted(callback: (app: Application) => void | Promise<void>): void;
11951
- /** Handle one HTTP request in a fresh request scope via the bound HttpKernel. */
11952
- handle(request: Request): Promise<Response>;
11953
- /** Register a callback that terminate() runs, in registration order. */
11954
- terminating(callback: () => void | Promise<void>): void;
11955
- terminate(): Promise<void>;
11956
- }
11957
- declare const Application: Token$j<Application>;
11958
- interface Htmlable {
11959
- toHtml(): string;
11960
- }
11961
- /** Anything a controller can return that knows how to become a Response. */
11962
- interface Responsable {
11963
- toResponse(request: unknown): Response | Promise<Response>;
11964
- }
11965
-
11966
12174
  /** The session of the current request (scoped). Loaded and saved by the StartSession middleware. */
11967
12175
  interface Session {
11968
12176
  getId(): string;
@@ -12025,6 +12233,8 @@ interface HttpRequest {
12025
12233
  header(name: string, defaultValue: string): string;
12026
12234
  bearerToken(): string | undefined;
12027
12235
  ip(): string | undefined;
12236
+ /** The raw body as text (Laravel's getContent()); '' when there is none. */
12237
+ content(): string;
12028
12238
  expectsJson(): boolean;
12029
12239
  ajax(): boolean;
12030
12240
  query<T = unknown>(key?: string, defaultValue?: T): T;
@@ -12056,6 +12266,54 @@ interface Middleware {
12056
12266
  handle(request: HttpRequest, next: Next, ...parameters: string[]): Promise<Response>;
12057
12267
  terminate?(request: HttpRequest, response: Response): Promise<void>;
12058
12268
  }
12269
+
12270
+ interface ServiceProvider$1 {
12271
+ /** Bind things into the container. Synchronous. Don't resolve other services here. */
12272
+ register?(): void;
12273
+ /** Runs after every provider is registered. May be async (e.g. importing route files). */
12274
+ boot?(): void | Promise<void>;
12275
+ }
12276
+ type ServiceProviderClass = new (app: Application) => ServiceProvider$1;
12277
+ interface Application extends Container {
12278
+ readonly version: string;
12279
+ basePath(path?: string): string;
12280
+ appPath(path?: string): string;
12281
+ bootstrapPath(path?: string): string;
12282
+ configPath(path?: string): string;
12283
+ databasePath(path?: string): string;
12284
+ publicPath(path?: string): string;
12285
+ resourcePath(path?: string): string;
12286
+ storagePath(path?: string): string;
12287
+ /** With no args returns the environment name. With args returns whether it matches any of them. */
12288
+ environment(): string;
12289
+ environment(...environments: string[]): boolean;
12290
+ isProduction(): boolean;
12291
+ isLocal(): boolean;
12292
+ runningInConsole(): boolean;
12293
+ /** Mark the app as running in the console (the CLI entry point calls this). Defaults to true. */
12294
+ setRunningInConsole(value?: boolean): void;
12295
+ runningUnitTests(): boolean;
12296
+ /** Registers the provider. If the app is already booted, the provider is booted immediately. */
12297
+ register(provider: ServiceProvider$1 | ServiceProviderClass): Promise<ServiceProvider$1>;
12298
+ getProviders(): ServiceProvider$1[];
12299
+ boot(): Promise<void>;
12300
+ isBooted(): boolean;
12301
+ booting(callback: (app: Application) => void | Promise<void>): void;
12302
+ booted(callback: (app: Application) => void | Promise<void>): void;
12303
+ /** Handle one HTTP request in a fresh request scope via the bound HttpKernel. */
12304
+ handle(request: Request): Promise<Response>;
12305
+ /** Register a callback that terminate() runs, in registration order. */
12306
+ terminating(callback: () => void | Promise<void>): void;
12307
+ terminate(): Promise<void>;
12308
+ }
12309
+ declare const Application: Token$j<Application>;
12310
+ interface Htmlable {
12311
+ toHtml(): string;
12312
+ }
12313
+ /** Anything a controller can return that knows how to become a Response. */
12314
+ interface Responsable {
12315
+ toResponse(request: unknown): Response | Promise<Response>;
12316
+ }
12059
12317
  interface RedirectResponse extends Responsable {
12060
12318
  readonly targetUrl: string;
12061
12319
  with(key: string | Record<string, unknown>, value?: unknown): this;
@@ -12663,4 +12921,4 @@ type SharedPropsFrom<M> = M extends {
12663
12921
  share(...args: never[]): infer R;
12664
12922
  } ? SerializedObject<Awaited<R>> : Record<never, never>;
12665
12923
 
12666
- export { API_ROUTES_STUB, AboutCommand, AbstractPaginator, AccessGate, AddQueuedCookiesToResponse, type AfterCallback, AllMailersFailedError, AlwaysProp, AnonymousNotifiable, Application$9 as Application, ApplicationBuilder, ArgonHasher, type ArgonOptions, type ArgumentDefinition, Arr, ArraySessionHandler, ArrayTransport, Artisan, Attempting, type Attributes$1 as Attributes, type AttributesResolver, Auth, AuthManager, type AuthModel, type AuthModelBase, type AuthModelConstructor, AuthServiceProvider, AuthenticatableModel, Authenticate, AuthenticationError, AuthorizationError, AuthorizationErrorImpl, Authorize, BaseJob, BaseLogger, BasePipeline, BaseRouter, BaseUrlGenerator, Batch$1 as Batch, type BatchAttributes, BatchingUnavailableError, BcryptHasher, type BcryptOptions, type BeforeCallback, BelongsTo, BelongsToMany, BindingResolutionError, Blueprint, type BlueprintCommand, BufferedConsoleOutput, Builder, type BuiltInCast, type BuiltinRule, BuiltinRuleObject, type BunDatabase, BunSqliteDatabase, type BunStatement, Bus, Dispatcher as BusDispatcherImpl, BusError, BusServiceProvider, CACHE_TABLE_MIGRATION, CHAIN, Cache, CacheManager$1 as CacheManager, Repository as CacheRepositoryImpl, CacheServiceProvider, type Store as CacheStore, CallQueuedHandler, CallQueuedListener, type CanResetPassword, type CanResetPasswordUser, type CastDefinition, type CastsAttributes, type ChainSpec, type CipherName, CircularDependencyError, ClassRegistry$2 as ClassRegistry, ClosureCommand$4 as ClosureCommand, ClosureKernel, Collection$2 as Collection, type Column, type ColumnAttributes, ColumnDefinition, type ColumnInfo, type ColumnRef, type ColumnType, Command$4 as Command, CommandNotFoundError, ComponentNotFoundError, Connection, type ConsoleInput, type ConsoleIo, Kernel as ConsoleKernelImpl, type ConsoleOutput, ConsoleServiceProvider, Container$j as Container, ContainerNotAvailableError, ControllerMethodNotFoundError, ConvertEmptyStringsToNull, Cookie$1 as Cookie, type CookieDefaults, CookieJar$1 as CookieJar, CookieServiceProvider, CookieSessionHandler, CookieValuePrefix, type CreateMigrationOptions, Crypt, Cursor, type CursorPage, CursorPaginator, type CursorPaginatorOptions, DB, DEFAULT_MESSAGES, DailyRotatingStream, DatabaseBatchRepository, type DatabaseCommandContext, type DatabaseConfig, DatabaseConfigError, DatabaseError, DatabaseFailedJobProvider, DatabaseJob, type DatabaseJobRecord, DatabaseLock, DatabaseManagerImpl, DatabaseNotificationChannel, type DatabaseNotificationRecord, DatabaseQueue, type DatabaseQueueOptions, DatabaseServiceProvider, DatabaseSessionHandler, DatabaseStore, DatabaseTokenRepository, DatabaseUnavailableError, DecryptError, DeferProp, type Direction, Dispatchable, type EagerLoadSpec, EloquentUserProvider, type Encoded, EncryptCookies, EncryptError, EncryptHistory, Encrypter$2 as Encrypter, EncryptionServiceProvider, EnsureEmailIsVerified, type EnumLike, type ErrorClass, ErrorHandler, Event, Dispatcher$1 as EventDispatcherImpl, type EventKey, type EventListenMap, EventServiceProvider, EventsNeedBusDispatcherError, EventsNeedClassRegistryError, ExceptionsConfiguration, Expression, type Facade$c as Facade, type FacadeStatics$c as FacadeStatics, Factory$b as Factory, type FactoryResult, Failed, FailoverTransport, Faker, FakerOverflowError, FileNotFoundError, FileSessionHandler, FileStore, FilesystemManager, FilesystemServiceProvider, ForeignIdColumnDefinition, ForeignKeyDefinition, FormRequest, FormUploadedFile, Gate, type GateAbility, GateResponse, GeneratorCommand, GenericLock, type GlobalScope, Grammar, type GroupAttributes, type GroupHost, GroupRegistrar, type GuardFactory, HasApiTokens, HasMany, HasManyThrough, HasOne, HasOneOrMany, Hash, HashAlgorithmError, type HashInfo, HashManager, type HasherFactory, type HashingConfig, HashingServiceProvider, type Having, HelpCommand, type HttpCommandOptions, HttpException, Kernel$1 as HttpKernelImpl, HttpRedirectResponse, HttpRedirector, HttpResponseException, HttpResponseFactory, HttpServerError, HttpServiceProvider, Hub, IncomingRequest, type IncomingRequestOptions, type IndexType, Inertia, InertiaError, InertiaHtml, InertiaMiddleware, Response$1 as InertiaPageResponse, ResponseFactory as InertiaResponseFactory, InertiaServiceProvider, type ValidationErrors as InertiaValidationErrors, type InferRuleType, type InferValidatedType, InvalidCacheConfigError, InvalidCastError, InvalidListenerError, InvalidLogLevelError, InvalidRuleParameterError, InvalidSignatureError, JOBS_TABLE_MIGRATION, JobClassNotFoundError, type JobContext, type JobMiddleware, JobSerializationError, JoinClause, type JoinType, KEY_GENERATE_SIGNATURE, type KernelApp, type KeyGenerateIO, LEVEL_SEVERITY, LazyCollection$1 as LazyCollection, type LengthAwarePage, LengthAwarePaginator, ListCommand, type ListenerTuple, type LocalDiskConfig, LocalFilesystem, type LockFactory, LockTimeoutError, Log, LogChannelCycleError, LogManager, LogServiceProvider, LogTransport, type LoggedQuery, LogicError, Login, Logout, MIGRATION_CREATE_STUB, MIGRATION_STUB, MIGRATION_UPDATE_STUB, MODEL_EVENTS, Mail, MailManager, MailMessage, type MailMessageAction, MailNotificationChannel, MailQueueUnavailableError, MailServiceProvider, type MailTransporter, MailUnavailableError, Mailable, MailerImpl, MakeCastCommand, MakeCommandCommand, MakeControllerCommand, MakeEventCommand, MakeFactoryCommand, MakeJobCommand, MakeListenerCommand, MakeMailCommand, MakeMiddlewareCommand, MakeModelCommand, MakeNotificationCommand, MakeObserverCommand, MakePolicyCommand, MakeProviderCommand, MakeRequestCommand, MakeResourceCommand, MakeRuleCommand, MakeSeederCommand, MakeTestCommand, type Manifest, type ManifestChunk, ManuallyFailedError, type Many, MassAssignmentError, MaxAttemptsExceededError, MemoryStore, MergeProp, MessageBagImpl, MethodNotAllowedHttpError, MiddlewareConfiguration, MiddlewareNotFoundError, Migration, MigrationCreator, type MigrationRecord, MigrationRepository, type MigrationStatus, Migrator, type MigratorOptions, MissingAppKeyError, MissingModelError, MissingRecipientError, Model, type ModelBuilder, type ModelClass, type ModelEvent, type ModelListener, ModelNotFoundError$1 as ModelNotFoundError, ModelRegistry, type MorphConstraint, MorphMany, MorphOne, MorphTo, MySqlSchemaGrammar, NOTIFICATIONS_TABLE, NOTIFICATIONS_TABLE_MIGRATION, type NewAccessToken, NodeConsoleInput, NodeConsoleOutput, NotDatabaseNotifiableError, NotFoundHttpError, Notifiable$1 as Notifiable, type NotifiableConstructor, Notification$1 as Notification, Dispatcher$2 as NotificationDispatcherImpl, NotificationDispatcherUnavailableError, NotificationFacade, NotificationQueueUnavailableError, NotificationsServiceProvider, NullFailedJobProvider, NullLogger, NullQueue, OPERATORS, OnceProp, type OptionDefinition, type OptionValue$4 as OptionValue, OptionalProp, type Order, PERSONAL_ACCESS_TOKENS_MIGRATION, type PagePropsFrom, type PaginationLink, Paginator, type PaginatorOptions, type ParsedInput, type ParsedRule, type ParsedSetCookie, type ParsedSignature, Password, PasswordBroker, PasswordBrokerManager, PasswordReset, PathTraversalError, PendingBatch, PendingChain, PendingDispatch, PersonalAccessToken, PinoLogger, PipelineError, PipelineServiceProvider, Pivot, type PivotIds, type PlainNotificationMail, type PolicyClass, PostgresSchemaGrammar, type PreloadAttributesResolver, PropsResolver, ProviderBootError, ProviderRegisterError, QUEUE_JOB, Builder$1 as QueryBuilder, QueryError, Queue$1 as Queue, QueueBase, type QueueCommandContext, QueueError, type QueueJobPayload, QueueManager, QueueServiceProvider, QueueUnavailableError, Queueable, QueuedConsoleInput, QueuedMailSender, type QueuedMailableFactory, RESTART_CACHE_KEY, type RawResult, type RecipientOverrides, RedirectIfAuthenticated, RedisJob, RedisLock, RedisQueue, type RedisQueueOptions, RedisRepository, type RedisSessionClient, RedisSessionHandler, RedisStore, RedisTaggedStore, type ReferentialAction, type RegisteredModel, Relation, type RelationConstraint, type RelationNames, RelationNotFoundError, RelationNotLoadedError, type RelationValue, type RenderCallback, type RenderedContent, type ReplStarter, type ReportCallback, Repository$1 as Repository, ResetPassword, type ResetPasswordMail, type ResolvedMiddleware, type ResolvedServeOptions, type ResourceMethod, type ResourceRoute, type RollbackOptions, Route$1 as Route, type RouteAttributes, type RouteBinder, RouteDefinition, type RouteFileCallback, type RouteHandler, type RouteListFilters, type RouteListRow, RouteModelNotFoundError, RouteModelResolverImpl, RouteNotDefinedError, type RouteStage, RoutingError, type RoutingOptions, RoutingServiceProvider, Rule, type RuleContext, type RunningServer, type Runtime, type S3ClientLike, type S3DiskConfig, S3Filesystem, SSR_RENDER_FAILED, STORAGE_LINK_SIGNATURE, Schedule, ScheduleImpl, ScheduleListCommand, ScheduleNameRequiredError, ScheduleRunCommand, ScheduleWorkCommand, type ScheduleWorkOptions, ScheduledEventImpl, Schema, SchemaBuilder, SchemaBuilderToken, SchemaGrammar, type Scope, type ScopeCallback, type ScopeStatic, type Scopes, type ScrollMetadata, ScrollProp, Seeder, type SeederClass, type SelectColumn, SendQueuedMailable, SendQueuedNotifications, type Serialized, type SerializedObject, type ServeOptions, ServiceProvider$t as ServiceProvider, SessionFacade as Session, type SessionConfig, SessionGuard, type SessionGuardOptions, type SessionHandlerFactory, SessionManager, SessionMessageBag, SessionServiceProvider, Store$1 as SessionStore, type SharedPropsFrom, type SimplePage, type SmtpConfig, SmtpTransport, SoftDeletingScope, type SpawnResult, type Spawner, SqliteSchemaGrammar, SsrError, type SsrFailure, HttpGateway as SsrHttpGateway, type StackFrame, StackLogger, StartSession, type State, type StateContext, Storage, type StoredBatchOptions, Str, type StringPipeResolver, type SyncChanges, SyncJob, SyncQueue, type TagAttributes, TagsNotSupportedError, TestCommand, TimeoutExceededError, TinkerCommand, type TinkerOptions, type TinkerRepl, TokenGuard, type TokenGuardOptions, TokenMismatchError, TokenRepository, type TransporterFactory, TrimStrings, TypeGenerator, type TypeGeneratorOptions, type TypedRedirector, UNIQUE_LOCK, USERS_TABLE_MIGRATION, UniqueJobsNeedCacheError, UniqueLock, type UniqueLockSpec, UnknownCacheDriverError, UnknownCacheStoreError, UnknownDiskError, UnknownFilesystemDriverError, UnknownLogChannelError, UnknownLogDriverError, UnknownMailTransportError, UnknownMailerError, UnknownNotificationChannelError, UnknownQueueConnectionError, UnknownQueueDriverError, UnknownValidationRuleError, UnrenderableNotificationDataError, UnrenderableNotificationMailError, UnsupportedCipherError, UnsupportedOperationError, type UriParameter, UrlGenerationError, type UrlResolver, type UserProviderFactory, Validated, ValidationErrorImpl, ValidationFactoryImpl, ValidationServiceProvider, Validator, ValidatorImpl, VerifyCsrfToken, ViewFactoryUnavailableError, Vite, ViteError, ViteHtml, WORKER_DISCOVERY_DIRECTORIES, type Where, type WhereArgs, type WhereBoolean, WithoutOverlapping, Worker, type WorkerListener, type WorkerOptions, abort, abortIf, abortUnless, addApiRouting, allowGuests, app, applyExceptionCallbacks, applyMiddlewareCallbacks, applyReplacements, auth, back, bcrypt, builtinRules, bunRuntime, cache, castGet, castSet, classNameOf, clientAddress, collect, columnKey, compareRoutes, config, contentDisposition, cookie, createDailyChannel, createDialect, createPayload, createSingleChannel, createStderrChannel, createToken, csrfToken, currentContainer, currentLogContext, currentRequest, currentVite, databaseConfigDefaults, debugPage, decodePayload, decrypt, defaultAttributeName, defaultLockFactory, defaultProviders, defaultWorkerOptions, delaySeconds, describeError, deserialize, detectRuntime, discoverClasses, discoverFactories, discoverJobs, discoverListeners, discoverPolicies, dispatch, dispatchRoute, dispatchSync, encodePayload, encrypt, enumValues, env, errorBagFrom, errors, escapeHtml, event, expandWildcardKeys, extensionFromMime, facade, fake, fetchNotifications, filterRouteList, formatAddress, formatDate, formatDateTime, formatRouteList, formatTimestamp, fromEntries, generateAppKey, generateModelTypes, getMorphAlias, getMorphedModel, guessTable, hashInfo, healthResponse, inertia, inertiaBody, inertiaHead, inject, ipMatches, isBlank, isBun, isDateCast, isEmptyValue, isEquivalent, isJsonCast, isListenerClass, isListenerTuple, isModel, isQueueable, isQueueableListener, isUnique, isUploadedFileLike, joinDiskPath, keyGenerateHandler, loadRelations, loadRoutesFrom, logger, makeFailedJobProvider, meetsLevel, mergeGroup, mergeLogContext, mergeRecursive, migrationDatePrefix, minimalPage, modelEventName, morphMap, normalizeAddress, normalizeAddresses, normalizeBackoff, normalizeLists, normalizePath, normalizeUri, now, old, openSqlite, optionalCookieJar, optionalSession, orderForBindings, parseArgv, parseBracketKey, parseCookieHeader, parseDateTime, parseKey, parseParameters, parseRuleSpec, parseSignature, passwordVerify, prepareValue, queueConfigDefaults, queueOptionsOf, raw as rawSql, rawWithBindings, redirect, registerHttpCommands, registerKeyGenerateCommand, registerMigrationCommands, registerModelTypesCommand, registerQueueCommands, registerStorageLinkCommand, renderContent, renderError, request, requestScope, resolveArguments, resolveDiskPath, resolveMiddleware, resolveMorphClass, resolveOptions, resourceRoutes, response, restoreJob, restoreValue, retry, roundTrip, route, routeListRows, runConsole, runConsoleAndExit, runMiddleware, runSeeder, sanitize, sendEmailVerificationUsing, sendNotification, serialize, serializeContext, serializeCookie, serializeDate, serializeValue, serve, serveBun, serveNode, servePublicFile, session, setClientAddress, stackFrames, statusFor, statusText, storageLinkHandler, substituteBindings, suggest, summarizeValidation, tap, toNotifiableList, toResponse, toWebRequest, tokenableType, transformLeaves, url, usePaginationResolvers, validateRequiredArguments, value, vite, viteReactRefresh, withHeaders, workerOptionsFrom, writeResponse };
12924
+ export { API_ROUTES_STUB, AboutCommand, AbstractPaginator, AccessGate, AddQueuedCookiesToResponse, type AfterCallback, AllMailersFailedError, AlwaysProp, AnonymousNotifiable, Application$9 as Application, ApplicationBuilder, ArgonHasher, type ArgonOptions, type ArgumentDefinition, Arr, ArraySessionHandler, ArrayTransport, Artisan, Attempting, type Attributes$1 as Attributes, type AttributesResolver, Auth, AuthManager, type AuthModel, type AuthModelBase, type AuthModelConstructor, AuthServiceProvider, AuthenticatableModel, Authenticate, AuthenticationError, AuthorizationError, AuthorizationErrorImpl, Authorize, BaseJob, BaseLogger, BasePipeline, BaseRouter, BaseUrlGenerator, Batch$1 as Batch, type BatchAttributes, BatchingUnavailableError, BcryptHasher, type BcryptOptions, type BeforeCallback, BelongsTo, BelongsToMany, BindingResolutionError, Blueprint, type BlueprintCommand, BufferedConsoleOutput, Builder, type BuiltInCast, type BuiltinRule, BuiltinRuleObject, type BunDatabase, BunSqliteDatabase, type BunStatement, Bus, Dispatcher as BusDispatcherImpl, BusError, BusServiceProvider, CACHE_TABLE_MIGRATION, CHAIN, Cache, CacheManager$1 as CacheManager, CacheRateLimiter, Repository as CacheRepositoryImpl, CacheServiceProvider, type Store as CacheStore, CallQueuedHandler, CallQueuedListener, type CanResetPassword, type CanResetPasswordUser, type CastDefinition, type CastsAttributes, type ChainSpec, type CipherName, CircularDependencyError, ClassRegistry$2 as ClassRegistry, ClosureCommand$4 as ClosureCommand, ClosureKernel, Collection$2 as Collection, type Column, type ColumnAttributes, ColumnDefinition, type ColumnInfo, type ColumnRef, type ColumnType, Command$4 as Command, CommandNotFoundError, ComponentNotFoundError, Connection, type ConsoleInput, type ConsoleIo, Kernel as ConsoleKernelImpl, type ConsoleOutput, ConsoleServiceProvider, Container$j as Container, ContainerNotAvailableError, ControllerMethodNotFoundError, ConvertEmptyStringsToNull, Cookie$1 as Cookie, type CookieDefaults, CookieJar$1 as CookieJar, CookieServiceProvider, CookieSessionHandler, CookieValuePrefix, type CreateMigrationOptions, Crypt, Cursor, type CursorPage, CursorPaginator, type CursorPaginatorOptions, DB, DEFAULT_MESSAGES, DailyRotatingStream, DatabaseBatchRepository, type DatabaseCommandContext, type DatabaseConfig, DatabaseConfigError, DatabaseError, DatabaseFailedJobProvider, DatabaseJob, type DatabaseJobRecord, DatabaseLock, DatabaseManagerImpl, DatabaseNotificationChannel, type DatabaseNotificationRecord, DatabaseQueue, type DatabaseQueueOptions, DatabaseServiceProvider, DatabaseSessionHandler, DatabaseStore, DatabaseTokenRepository, DatabaseUnavailableError, DecryptError, DeferProp, type Direction, Dispatchable, type EagerLoadSpec, EloquentUserProvider, EmailVerificationRequest, type Encoded, EncryptCookies, EncryptError, EncryptHistory, Encrypter$2 as Encrypter, EncryptionServiceProvider, EnsureEmailIsVerified, type EnumLike, type ErrorClass, ErrorHandler, Event, Dispatcher$1 as EventDispatcherImpl, type EventKey, type EventListenMap, EventServiceProvider, EventsNeedBusDispatcherError, EventsNeedClassRegistryError, ExceptionsConfiguration, Expression, type Facade$c as Facade, type FacadeStatics$c as FacadeStatics, Factory$b as Factory, type FactoryResult, Failed, FailoverTransport, Faker, FakerOverflowError, FileNotFoundError, FileSessionHandler, FileStore, FilesystemManager, FilesystemServiceProvider, ForeignIdColumnDefinition, ForeignKeyDefinition, FormRequest, FormUploadedFile, Gate, type GateAbility, GateResponse, GeneratorCommand, GenericLock, type GlobalScope, Grammar, type GroupAttributes, type GroupHost, GroupRegistrar, type GuardFactory, HasApiTokens, type HasFactory, HasMany, HasManyThrough, HasOne, HasOneOrMany, Hash, HashAlgorithmError, type HashInfo, HashManager, type HasherFactory, type HashingConfig, HashingServiceProvider, type Having, HelpCommand, type HttpCommandOptions, HttpException, Kernel$1 as HttpKernelImpl, HttpRedirectResponse, HttpRedirector, HttpResponseException, HttpResponseFactory, HttpServerError, HttpServiceProvider, Hub, IncomingRequest, type IncomingRequestOptions, type IndexType, Inertia, InertiaError, InertiaHtml, InertiaMiddleware, Response$1 as InertiaPageResponse, ResponseFactory as InertiaResponseFactory, InertiaServiceProvider, type ValidationErrors as InertiaValidationErrors, type InferRuleType, type InferValidatedType, InvalidCacheConfigError, InvalidCastError, InvalidListenerError, InvalidLogLevelError, InvalidRuleParameterError, InvalidSignatureError, InvalidUrlSignatureError, JOBS_TABLE_MIGRATION, JobClassNotFoundError, type JobContext, type JobMiddleware, JobSerializationError, JoinClause, type JoinType, type JsonWhenCallback, KEY_GENERATE_SIGNATURE, type KernelApp, type KeyGenerateIO, LEVEL_SEVERITY, LazyCollection$1 as LazyCollection, type LengthAwarePage, LengthAwarePaginator, ListCommand, type ListenerTuple, type LocalDiskConfig, LocalFilesystem, type LockFactory, LockTimeoutError, Lockout, Log, LogChannelCycleError, LogManager, LogServiceProvider, LogTransport, type LoggedQuery, LogicError, Login, Logout, MIGRATION_CREATE_STUB, MIGRATION_STUB, MIGRATION_UPDATE_STUB, MODEL_EVENTS, Mail, MailManager, MailMessage, type MailMessageAction, MailNotificationChannel, MailQueueUnavailableError, MailServiceProvider, type MailTransporter, MailUnavailableError, Mailable, MailerImpl, MakeCastCommand, MakeCommandCommand, MakeControllerCommand, MakeEventCommand, MakeFactoryCommand, MakeJobCommand, MakeListenerCommand, MakeMailCommand, MakeMiddlewareCommand, MakeModelCommand, MakeNotificationCommand, MakeObserverCommand, MakePolicyCommand, MakeProviderCommand, MakeRequestCommand, MakeResourceCommand, MakeRuleCommand, MakeSeederCommand, MakeTestCommand, type Manifest, type ManifestChunk, ManuallyFailedError, type Many, MassAssignmentError, MaxAttemptsExceededError, MemoryStore, MergeProp, MessageBagImpl, MethodNotAllowedHttpError, MiddlewareConfiguration, MiddlewareNotFoundError, Migration, MigrationCreator, type MigrationRecord, MigrationRepository, type MigrationStatus, Migrator, type MigratorOptions, MissingAppKeyError, MissingModelError, MissingRecipientError, Model, type ModelBuilder, type ModelClass, type ModelEvent, type ModelListener, ModelNotFoundError$1 as ModelNotFoundError, ModelRegistry, type MorphConstraint, MorphMany, MorphOne, MorphTo, MySqlSchemaGrammar, NOTIFICATIONS_TABLE, NOTIFICATIONS_TABLE_MIGRATION, type NewAccessToken, NodeConsoleInput, NodeConsoleOutput, NotDatabaseNotifiableError, NotFoundHttpError, Notifiable$1 as Notifiable, type NotifiableConstructor, Notification$1 as Notification, Dispatcher$2 as NotificationDispatcherImpl, NotificationDispatcherUnavailableError, NotificationFacade, NotificationQueueUnavailableError, NotificationsServiceProvider, NullFailedJobProvider, NullLogger, NullQueue, OPERATORS, OnceProp, type OptionDefinition, type OptionValue$4 as OptionValue, OptionalProp, type Order, PERSONAL_ACCESS_TOKENS_MIGRATION, type PagePropsFrom, type PaginationLink, Paginator, type PaginatorOptions, type ParsedInput, type ParsedRule, type ParsedSetCookie, type ParsedSignature, Password, PasswordBroker, PasswordBrokerManager, PasswordReset, PasswordRule, PathTraversalError, PendingBatch, PendingChain, PendingDispatch, PersonalAccessToken, PinoLogger, PipelineError, PipelineServiceProvider, Pivot, type PivotIds, type PlainNotificationMail, type PolicyClass, PostgresSchemaGrammar, type PreloadAttributesResolver, PropsResolver, ProviderBootError, ProviderRegisterError, QUEUE_JOB, Builder$1 as QueryBuilder, QueryError, Queue$1 as Queue, QueueBase, type QueueCommandContext, QueueError, type QueueJobPayload, QueueManager, QueueServiceProvider, QueueUnavailableError, Queueable, QueuedConsoleInput, QueuedMailSender, type QueuedMailableFactory, RESTART_CACHE_KEY, RateLimiter, type RawResult, type RecipientOverrides, RedirectIfAuthenticated, RedisJob, RedisLock, RedisQueue, type RedisQueueOptions, RedisRepository, type RedisSessionClient, RedisSessionHandler, RedisStore, RedisTaggedStore, type ReferentialAction, Registered, type RegisteredModel, Relation, type RelationConstraint, type RelationNames, RelationNotFoundError, RelationNotLoadedError, type RelationValue, type RenderCallback, type RenderedContent, type ReplStarter, type ReportCallback, Repository$1 as Repository, ResetPassword, type ResetPasswordMail, type ResolvedMiddleware, type ResolvedServeOptions, type ResourceMethod, type ResourceRoute, type RollbackOptions, Route$1 as Route, type RouteAttributes, type RouteBinder, RouteDefinition, type RouteFileCallback, type RouteHandler, type RouteListFilters, type RouteListRow, RouteModelNotFoundError, RouteModelResolverImpl, RouteNotDefinedError, type RouteStage, RoutingError, type RoutingOptions, RoutingServiceProvider, Rule, type RuleContext, type RunningServer, type Runtime, type S3ClientLike, type S3DiskConfig, S3Filesystem, SSR_RENDER_FAILED, STORAGE_LINK_SIGNATURE, Schedule, ScheduleImpl, ScheduleListCommand, ScheduleNameRequiredError, ScheduleRunCommand, ScheduleWorkCommand, type ScheduleWorkOptions, ScheduledEventImpl, Schema, SchemaBuilder, SchemaBuilderToken, SchemaGrammar, type Scope, type ScopeCallback, type ScopeStatic, type Scopes, type ScrollMetadata, ScrollProp, Seeder, type SeederClass, type SelectColumn, SendEmailVerificationNotification, SendQueuedMailable, SendQueuedNotifications, type Serialized, type SerializedObject, type ServeOptions, ServiceProvider$t as ServiceProvider, SessionFacade as Session, type SessionConfig, SessionGuard, type SessionGuardOptions, type SessionHandlerFactory, SessionManager, SessionMessageBag, SessionServiceProvider, Store$1 as SessionStore, type SharedPropsFrom, type SimplePage, type SmtpConfig, SmtpTransport, SoftDeletingScope, type SpawnResult, type Spawner, SqliteSchemaGrammar, SsrError, type SsrFailure, HttpGateway as SsrHttpGateway, type StackFrame, StackLogger, StartSession, type State, type StateContext, Storage, type StoredBatchOptions, Str, type StringPipeResolver, type SyncChanges, SyncJob, SyncQueue, type TagAttributes, TagsNotSupportedError, TestCommand, ThrottleRequests, ThrottleRequestsError, TimeoutExceededError, TinkerCommand, type TinkerOptions, type TinkerRepl, TokenGuard, type TokenGuardOptions, TokenMismatchError, TokenRepository, type TransporterFactory, TrimStrings, TypeGenerator, type TypeGeneratorOptions, type TypedRedirector, UNIQUE_LOCK, USERS_TABLE_MIGRATION, UniqueJobsNeedCacheError, UniqueLock, type UniqueLockSpec, UnknownCacheDriverError, UnknownCacheStoreError, UnknownDiskError, UnknownFilesystemDriverError, UnknownLogChannelError, UnknownLogDriverError, UnknownMailTransportError, UnknownMailerError, UnknownNotificationChannelError, UnknownQueueConnectionError, UnknownQueueDriverError, UnknownValidationRuleError, UnrenderableNotificationDataError, UnrenderableNotificationMailError, UnsupportedCipherError, UnsupportedOperationError, type UriParameter, UrlGenerationError, type UrlResolver, type UserProviderFactory, ValidateSignature, Validated, ValidationErrorImpl, ValidationException, ValidationFactoryImpl, ValidationServiceProvider, Validator, ValidatorImpl, type VerifiableUser, Verified, VerifyCsrfToken, VerifyEmail, type VerifyEmailMail, ViewFactoryUnavailableError, Vite, ViteError, ViteHtml, WORKER_DISCOVERY_DIRECTORIES, type Where, type WhereArgs, type WhereBoolean, WithoutOverlapping, Worker, type WorkerListener, type WorkerOptions, __, abort, abortIf, abortUnless, addApiRouting, allowGuests, app, applyExceptionCallbacks, applyMiddlewareCallbacks, applyReplacements, auth, back, bcrypt, builtinRules, bunRuntime, cache, castGet, castSet, classNameOf, clientAddress, collect, columnKey, compareRoutes, config, contentDisposition, cookie, createDailyChannel, createDialect, createPayload, createSingleChannel, createStderrChannel, createToken, csrfToken, currentContainer, currentLogContext, currentRequest, currentVite, databaseConfigDefaults, debugPage, decodePayload, decrypt, defaultAttributeName, defaultLockFactory, defaultProviders, defaultWorkerOptions, delaySeconds, describeError, deserialize, detectRuntime, discoverClasses, discoverFactories, discoverJobs, discoverListeners, discoverPolicies, dispatch, dispatchRoute, dispatchSync, encodePayload, encrypt, enumValues, env, errorBagFrom, errors, escapeHtml, event, exceedsJsonDepth, expandWildcardKeys, extensionFromMime, facade, fake, fetchNotifications, filterRouteList, formatAddress, formatDate, formatDateTime, formatRouteList, formatTimestamp, fromEntries, generateAppKey, generateModelTypes, getMorphAlias, getMorphedModel, guessTable, hashInfo, healthResponse, inertia, inertiaBody, inertiaHead, inject, ipMatches, isBlank, isBun, isDateCast, isEmptyValue, isEquivalent, isJsonCast, isListenerClass, isListenerTuple, isModel, isQueueable, isQueueableListener, isUnique, isUploadedFileLike, joinDiskPath, keyGenerateHandler, loadRelations, loadRoutesFrom, logger, makeFailedJobProvider, meetsLevel, mergeGroup, mergeLogContext, mergeRecursive, migrationDatePrefix, minimalPage, modelEventName, morphMap, normalizeAddress, normalizeAddresses, normalizeBackoff, normalizeLists, normalizePath, normalizeUri, now, old, openSqlite, optionalCookieJar, optionalSession, orderForBindings, parseArgv, parseBracketKey, parseCookieHeader, parseDateTime, parseKey, parseParameters, parseRuleSpec, parseSignature, passwordVerify, prepareValue, queueConfigDefaults, queueOptionsOf, raw as rawSql, rawWithBindings, redirect, registerHttpCommands, registerKeyGenerateCommand, registerMigrationCommands, registerModelTypesCommand, registerQueueCommands, registerStorageLinkCommand, renderContent, renderError, request, requestScope, resolveArguments, resolveDiskPath, resolveMiddleware, resolveMorphClass, resolveOptions, resourceRoutes, response, restoreJob, restoreValue, retry, roundTrip, route, routeListRows, runConsole, runConsoleAndExit, runMiddleware, runSeeder, sanitize, sendEmailVerificationUsing, sendNotification, serialize, serializeContext, serializeCookie, serializeDate, serializeValue, serve, serveBun, serveNode, servePublicFile, session, setClientAddress, stackFrames, statusFor, statusText, storageLinkHandler, substituteBindings, suggest, summarizeValidation, tap, toNotifiableList, toResponse, toWebRequest, tokenableType, transformLeaves, url, usePaginationResolvers, validateRequiredArguments, value, vite, viteReactRefresh, withHeaders, workerOptionsFrom, writeResponse };