@alepha/devtools 0.14.3 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/assets/devtools/actions.html +37 -0
  2. package/assets/devtools/actions.html.br +0 -0
  3. package/assets/devtools/actions.html.gz +0 -0
  4. package/assets/devtools/asset.BZV40eAE.css.br +0 -0
  5. package/assets/devtools/asset.BZV40eAE.css.gz +0 -0
  6. package/assets/devtools/asset.CMFNRMve.css +1 -0
  7. package/assets/devtools/asset.CMFNRMve.css.br +0 -0
  8. package/assets/devtools/asset.CMFNRMve.css.gz +0 -0
  9. package/assets/devtools/atoms.html +37 -0
  10. package/assets/devtools/atoms.html.br +0 -0
  11. package/assets/devtools/atoms.html.gz +0 -0
  12. package/assets/devtools/caches.html +37 -0
  13. package/assets/devtools/caches.html.br +0 -0
  14. package/assets/devtools/caches.html.gz +0 -0
  15. package/assets/devtools/{chunk.DF8tZYh8.js → chunk.-1T4AUjH.js} +1 -1
  16. package/assets/devtools/chunk.-1T4AUjH.js.br +0 -0
  17. package/assets/devtools/chunk.-1T4AUjH.js.gz +0 -0
  18. package/assets/devtools/{chunk.CQ8PqHT0.js → chunk.01h1zGjv.js} +1 -1
  19. package/assets/devtools/chunk.01h1zGjv.js.br +0 -0
  20. package/assets/devtools/chunk.01h1zGjv.js.gz +0 -0
  21. package/assets/devtools/chunk.1JiUrdgo.js +1 -0
  22. package/assets/devtools/chunk.1JiUrdgo.js.br +1 -0
  23. package/assets/devtools/chunk.1JiUrdgo.js.gz +0 -0
  24. package/assets/devtools/chunk.42CgRmmy.js +1 -0
  25. package/assets/devtools/chunk.42CgRmmy.js.br +0 -0
  26. package/assets/devtools/chunk.42CgRmmy.js.gz +0 -0
  27. package/assets/devtools/{chunk.BjjA59Pf.js → chunk.6zj3eUIy.js} +1 -1
  28. package/assets/devtools/chunk.6zj3eUIy.js.br +0 -0
  29. package/assets/devtools/chunk.6zj3eUIy.js.gz +0 -0
  30. package/assets/devtools/{chunk.BeYM7pih.js → chunk.B1BX4OlP.js} +1 -1
  31. package/assets/devtools/chunk.B1BX4OlP.js.br +0 -0
  32. package/assets/devtools/chunk.B1BX4OlP.js.gz +0 -0
  33. package/assets/devtools/{chunk.I1TSx4X4.js → chunk.B6bX0XQI.js} +1 -1
  34. package/assets/devtools/chunk.B6bX0XQI.js.br +0 -0
  35. package/assets/devtools/chunk.B6bX0XQI.js.gz +0 -0
  36. package/assets/devtools/{chunk.DcaVw31J.js → chunk.BD3_boSH.js} +1 -1
  37. package/assets/devtools/chunk.BD3_boSH.js.br +0 -0
  38. package/assets/devtools/chunk.BD3_boSH.js.gz +0 -0
  39. package/assets/devtools/chunk.BZZjyIAY.js +2 -0
  40. package/assets/devtools/chunk.BZZjyIAY.js.br +0 -0
  41. package/assets/devtools/chunk.BZZjyIAY.js.gz +0 -0
  42. package/assets/devtools/{chunk.UAANdYnt.js → chunk.B_arS3yh.js} +1 -1
  43. package/assets/devtools/chunk.B_arS3yh.js.br +0 -0
  44. package/assets/devtools/chunk.B_arS3yh.js.gz +0 -0
  45. package/assets/devtools/chunk.BjFrJKj1.js.br +2 -0
  46. package/assets/devtools/chunk.BjFrJKj1.js.gz +0 -0
  47. package/assets/devtools/chunk.BlqFPyLh.js.br +0 -0
  48. package/assets/devtools/chunk.BlqFPyLh.js.gz +0 -0
  49. package/assets/devtools/{chunk.Dwv4A_H_.js → chunk.CC4zyxCR.js} +1 -1
  50. package/assets/devtools/chunk.CC4zyxCR.js.br +0 -0
  51. package/assets/devtools/chunk.CC4zyxCR.js.gz +0 -0
  52. package/assets/devtools/{chunk.CAWWjC4E.js → chunk.CQFdZ3hg.js} +1 -1
  53. package/assets/devtools/chunk.CQFdZ3hg.js.br +0 -0
  54. package/assets/devtools/chunk.CQFdZ3hg.js.gz +0 -0
  55. package/assets/devtools/{chunk.DLDchrhP.js → chunk.CXR8SXil.js} +1 -1
  56. package/assets/devtools/chunk.CXR8SXil.js.br +0 -0
  57. package/assets/devtools/chunk.CXR8SXil.js.gz +0 -0
  58. package/assets/devtools/{chunk.ByuRJbSC.js → chunk.C_WwXcGr.js} +1 -1
  59. package/assets/devtools/chunk.C_WwXcGr.js.br +0 -0
  60. package/assets/devtools/chunk.C_WwXcGr.js.gz +0 -0
  61. package/assets/devtools/chunk.Chph6jJx.js +1 -0
  62. package/assets/devtools/chunk.Chph6jJx.js.br +0 -0
  63. package/assets/devtools/chunk.Chph6jJx.js.gz +0 -0
  64. package/assets/devtools/{chunk.CYVZxO-p.js → chunk.D8mKET3e.js} +1 -1
  65. package/assets/devtools/chunk.D8mKET3e.js.br +0 -0
  66. package/assets/devtools/chunk.D8mKET3e.js.gz +0 -0
  67. package/assets/devtools/chunk.DP_hRYka.js +1 -0
  68. package/assets/devtools/chunk.DP_hRYka.js.br +0 -0
  69. package/assets/devtools/chunk.DP_hRYka.js.gz +0 -0
  70. package/assets/devtools/{chunk.BBrq-Wwo.js → chunk.D_B99PWK.js} +1 -1
  71. package/assets/devtools/chunk.D_B99PWK.js.br +0 -0
  72. package/assets/devtools/chunk.D_B99PWK.js.gz +0 -0
  73. package/assets/devtools/{chunk.mJxmm31y.js → chunk.Dwq9t2Dl.js} +1 -1
  74. package/assets/devtools/chunk.Dwq9t2Dl.js.br +0 -0
  75. package/assets/devtools/chunk.Dwq9t2Dl.js.gz +0 -0
  76. package/assets/devtools/{chunk.XsVAJU_N.js → chunk.DyNVihb8.js} +2 -2
  77. package/assets/devtools/chunk.DyNVihb8.js.br +0 -0
  78. package/assets/devtools/chunk.DyNVihb8.js.gz +0 -0
  79. package/assets/devtools/{chunk.BNC0DJB8.js → chunk.KNtbB1xL.js} +1 -1
  80. package/assets/devtools/chunk.KNtbB1xL.js.br +0 -0
  81. package/assets/devtools/chunk.KNtbB1xL.js.gz +0 -0
  82. package/assets/devtools/{chunk.C6NWzsJg.js → chunk.MMyHzoxt.js} +1 -1
  83. package/assets/devtools/chunk.MMyHzoxt.js.br +0 -0
  84. package/assets/devtools/chunk.MMyHzoxt.js.gz +0 -0
  85. package/assets/devtools/{chunk.Bdi_dTor.js → chunk.NIj8k4HU.js} +1 -1
  86. package/assets/devtools/chunk.NIj8k4HU.js.br +0 -0
  87. package/assets/devtools/chunk.NIj8k4HU.js.gz +0 -0
  88. package/assets/devtools/{chunk.BC4Lys4j.js → chunk.UjSU-RcH.js} +1 -1
  89. package/assets/devtools/chunk.UjSU-RcH.js.br +0 -0
  90. package/assets/devtools/chunk.UjSU-RcH.js.gz +0 -0
  91. package/assets/devtools/{chunk.DN-SKgAD.js → chunk.Vm7uQYEE.js} +1 -1
  92. package/assets/devtools/chunk.Vm7uQYEE.js.br +0 -0
  93. package/assets/devtools/chunk.Vm7uQYEE.js.gz +0 -0
  94. package/assets/devtools/{chunk.DI-f4xNk.js → chunk.WpBi-27p.js} +1 -1
  95. package/assets/devtools/chunk.WpBi-27p.js.br +0 -0
  96. package/assets/devtools/chunk.WpBi-27p.js.gz +0 -0
  97. package/assets/devtools/{chunk.ospt8-RN.js → chunk.X37zJjnv.js} +1 -1
  98. package/assets/devtools/chunk.X37zJjnv.js.br +0 -0
  99. package/assets/devtools/chunk.X37zJjnv.js.gz +0 -0
  100. package/assets/devtools/{chunk.INuuLdYd.js → chunk.Yc53VNO7.js} +1 -1
  101. package/assets/devtools/chunk.Yc53VNO7.js.br +0 -0
  102. package/assets/devtools/chunk.Yc53VNO7.js.gz +0 -0
  103. package/assets/devtools/{chunk.ChDpavl2.js → chunk.jP0GrcaU.js} +1 -1
  104. package/assets/devtools/chunk.jP0GrcaU.js.br +0 -0
  105. package/assets/devtools/chunk.jP0GrcaU.js.gz +0 -0
  106. package/assets/devtools/chunk.ovzUqJjU.js +1 -0
  107. package/assets/devtools/chunk.ovzUqJjU.js.br +0 -0
  108. package/assets/devtools/chunk.ovzUqJjU.js.gz +0 -0
  109. package/assets/devtools/{chunk.DxjqPOcc.js → chunk.uK7gG_4K.js} +1 -1
  110. package/assets/devtools/chunk.uK7gG_4K.js.br +0 -0
  111. package/assets/devtools/chunk.uK7gG_4K.js.gz +0 -0
  112. package/assets/devtools/chunk.uyVen0u2.js.br +0 -0
  113. package/assets/devtools/chunk.uyVen0u2.js.gz +0 -0
  114. package/assets/devtools/chunk.xP6lcP0O.js +2 -0
  115. package/assets/devtools/chunk.xP6lcP0O.js.br +0 -0
  116. package/assets/devtools/chunk.xP6lcP0O.js.gz +0 -0
  117. package/assets/devtools/{chunk.iyc5GsVj.js → chunk.yhAz0qwe.js} +1 -1
  118. package/assets/devtools/chunk.yhAz0qwe.js.br +0 -0
  119. package/assets/devtools/chunk.yhAz0qwe.js.gz +0 -0
  120. package/assets/devtools/db.html +34 -0
  121. package/assets/devtools/db.html.br +0 -0
  122. package/assets/devtools/db.html.gz +0 -0
  123. package/assets/devtools/entry.BdraBs_7.js +79 -0
  124. package/assets/devtools/entry.BdraBs_7.js.br +0 -0
  125. package/assets/devtools/entry.BdraBs_7.js.gz +0 -0
  126. package/assets/devtools/env.html +35 -0
  127. package/assets/devtools/env.html.br +0 -0
  128. package/assets/devtools/env.html.gz +0 -0
  129. package/assets/devtools/graph.html +38 -0
  130. package/assets/devtools/graph.html.br +0 -0
  131. package/assets/devtools/graph.html.gz +0 -0
  132. package/assets/devtools/index.html +28 -8
  133. package/assets/devtools/index.html.br +0 -0
  134. package/assets/devtools/index.html.gz +0 -0
  135. package/assets/devtools/logs.html +38 -0
  136. package/assets/devtools/logs.html.br +0 -0
  137. package/assets/devtools/logs.html.gz +0 -0
  138. package/assets/devtools/queues.html +30 -0
  139. package/assets/devtools/queues.html.br +0 -0
  140. package/assets/devtools/queues.html.gz +0 -0
  141. package/assets/devtools/topics.html +38 -0
  142. package/assets/devtools/topics.html.br +0 -0
  143. package/assets/devtools/topics.html.gz +0 -0
  144. package/dist/index.d.ts +336 -1604
  145. package/dist/index.js +4 -5
  146. package/dist/index.js.map +1 -1
  147. package/package.json +9 -9
  148. package/src/api/DevToolsProvider.ts +3 -3
  149. package/src/api/providers/DevToolsDatabaseProvider.ts +1 -1
  150. package/src/api/providers/DevToolsMetadataProvider.ts +2 -2
  151. package/src/index.ts +0 -4
  152. package/assets/devtools/asset.DbJSgVPr.css +0 -1
  153. package/assets/devtools/chunk.B3_W5FaN.js +0 -1
  154. package/assets/devtools/chunk.BOc4btAA.js +0 -2
  155. package/assets/devtools/chunk.BPjMdorr.js +0 -1
  156. package/assets/devtools/chunk.C1yl87Yo.js +0 -1
  157. package/assets/devtools/chunk.C5K_AIru.js +0 -1
  158. package/assets/devtools/chunk.DAVfKvCa.js +0 -2
  159. package/assets/devtools/chunk.PWK2K2kI.js +0 -1
  160. package/assets/devtools/entry.DBfTnVUe.js +0 -75
package/dist/index.d.ts CHANGED
@@ -1,1697 +1,429 @@
1
- import * as typebox3 from "typebox";
2
- import { Static, StaticDecode as Static$1, StaticEncode, TAny, TArray, TArray as TArray$1, TBoolean, TInteger, TNumber, TObject, TObject as TObject$1, TOptional, TOptionalAdd, TRecord, TSchema, TSchema as TSchema$1, TString, TUnsafe } from "typebox";
3
- import { AsyncLocalStorage } from "node:async_hooks";
4
- import { Validator } from "typebox/compile";
5
- import dayjsDuration from "dayjs/plugin/duration.js";
6
- import DayjsApi, { Dayjs, ManipulateType, PluginFunc } from "dayjs";
1
+ import * as alepha8 from "alepha";
2
+ import { Alepha, Static, TSchema } from "alepha";
3
+ import * as alepha_logger0 from "alepha/logger";
7
4
 
8
- //#region ../alepha/src/core/constants/KIND.d.ts
9
- /**
10
- * Used for identifying primitives.
11
- *
12
- * @internal
13
- */
14
- declare const KIND: unique symbol;
15
- //#endregion
16
- //#region ../alepha/src/core/interfaces/Service.d.ts
17
- /**
18
- * In Alepha, a service is a class that can be instantiated or an abstract class. Nothing more, nothing less...
19
- */
20
- type Service<T extends object = any> = InstantiableClass<T> | AbstractClass<T> | RunFunction<T>;
21
- type RunFunction<T extends object = any> = (...args: any[]) => T | void;
22
- type InstantiableClass<T extends object = any> = new (...args: any[]) => T;
23
- /**
24
- * Abstract class is a class that cannot be instantiated directly!
25
- * It widely used for defining interfaces.
26
- */
27
- type AbstractClass<T extends object = any> = abstract new (...args: any[]) => T;
28
- /**
29
- * Service substitution allows you to register a class as a different class.
30
- * Providing class A, but using class B instead.
31
- * This is useful for testing, mocking, or providing a different implementation of a service.
32
- *
33
- * class A is mostly an AbstractClass, while class B is an InstantiableClass.
34
- */
35
- interface ServiceSubstitution<T extends object = any> {
36
- /**
37
- * Every time someone asks for this class, it will be provided with the 'use' class.
38
- */
39
- provide: Service<T>;
40
- /**
41
- * Service to use instead of the 'provide' service.
42
- *
43
- * Syntax is inspired by Angular's DI system.
44
- */
45
- use: Service<T>;
46
- /**
47
- * If true, if the service already exists -> just ignore the substitution and do not throw an error.
48
- * Mostly used for plugins to enforce a substitution without throwing an error.
49
- */
50
- optional?: boolean;
51
- }
52
- /**
53
- * Every time you register a service, you can use this type to define it.
54
- *
55
- * alepha.with( ServiceEntry )
56
- * or
57
- * alepha.with( provide: ServiceEntry, use: MyOwnServiceEntry )
58
- *
59
- * And yes, you declare the *type* of the service, not the *instance*.
60
- */
61
- type ServiceEntry<T extends object = any> = Service<T> | ServiceSubstitution<T>;
62
- //#endregion
63
- //#region ../alepha/src/core/helpers/primitive.d.ts
64
- interface PrimitiveArgs<T extends object = {}> {
65
- options: T;
66
- alepha: Alepha;
67
- service: InstantiableClass<Service>;
68
- module?: Service;
69
- }
70
- interface PrimitiveConfig {
71
- propertyKey: string;
72
- service: InstantiableClass<Service>;
73
- module?: Service;
74
- }
75
- declare abstract class Primitive<T extends object = {}> {
76
- protected readonly alepha: Alepha;
77
- readonly options: T;
78
- readonly config: PrimitiveConfig;
79
- constructor(args: PrimitiveArgs<T>);
80
- /**
81
- * Called automatically by Alepha after the primitive is created.
82
- */
83
- protected onInit(): void;
84
- }
85
- type PrimitiveFactoryLike<T extends object = any> = {
86
- (options: T): any;
87
- [KIND]: any;
88
- };
89
- //#endregion
90
- //#region ../alepha/src/core/interfaces/Async.d.ts
91
- /**
92
- * Represents a value that can be either a value or a promise of value.
93
- */
94
- type Async<T> = T | Promise<T>;
95
- //#endregion
96
- //#region ../alepha/src/core/interfaces/LoggerInterface.d.ts
97
- type LogLevel = "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE" | "SILENT";
98
- interface LoggerInterface {
99
- trace(message: string, data?: unknown): void;
100
- debug(message: string, data?: unknown): void;
101
- info(message: string, data?: unknown): void;
102
- warn(message: string, data?: unknown): void;
103
- error(message: string, data?: unknown): void;
104
- }
105
- //#endregion
106
- //#region ../alepha/src/core/providers/TypeProvider.d.ts
107
- declare module "typebox" {
108
- interface TString {
109
- format?: string;
110
- minLength?: number;
111
- maxLength?: number;
112
- }
113
- interface TNumber {
114
- format?: "int64";
115
- }
116
- }
117
- //#endregion
118
- //#region ../alepha/src/core/primitives/$atom.d.ts
119
- type AtomOptions<T extends TAtomObject, N extends string> = {
120
- name: N;
121
- schema: T;
122
- description?: string;
123
- } & (T extends TOptionalAdd<T> ? {
124
- default?: Static$1<T>;
125
- } : {
126
- default: Static$1<T>;
127
- });
128
- declare class Atom<T extends TAtomObject = TObject$1, N extends string = string> {
129
- readonly options: AtomOptions<T, N>;
130
- get schema(): T;
131
- get key(): N;
132
- constructor(options: AtomOptions<T, N>);
133
- }
134
- type TAtomObject = TObject$1<any> | TArray;
135
- type AtomStatic<T extends TAtomObject> = T extends TOptionalAdd<T> ? Static$1<T> | undefined : Static$1<T>;
136
- //#endregion
137
- //#region ../alepha/src/core/primitives/$inject.d.ts
138
- interface InjectOptions<T extends object = any> {
139
- /**
140
- * - 'transient' → Always a new instance on every inject. Zero caching.
141
- * - 'singleton' → One instance per Alepha runtime (per-thread). Never disposed until Alepha shuts down. (default)
142
- * - 'scoped' → One instance per AsyncLocalStorage context.
143
- * - A new scope is created when Alepha handles a request, a scheduled job, a queue worker task...
144
- * - You can also start a manual scope via alepha.context.run(() => { ... }).
145
- * - When the scope ends, the scoped registry is discarded.
146
- *
147
- * @default "singleton"
148
- */
149
- lifetime?: "transient" | "singleton" | "scoped";
150
- /**
151
- * Constructor arguments to pass when creating a new instance.
152
- */
153
- args?: ConstructorParameters<InstantiableClass<T>>;
154
- /**
155
- * Parent that requested the instance.
156
- *
157
- * @internal
158
- */
159
- parent?: Service | null;
160
- }
161
- //#endregion
162
- //#region ../alepha/src/core/primitives/$module.d.ts
163
- interface ModulePrimitiveOptions {
164
- /**
165
- * Name of the module.
166
- *
167
- * It should be in the format of `project.module.submodule`.
168
- */
169
- name: string;
170
- /**
171
- * List all services related to this module.
172
- *
173
- * If you don't declare 'register' function, all services will be registered automatically.
174
- * If you declare 'register' function, you must handle the registration of ALL services manually.
175
- */
176
- services?: Array<Service>;
177
- /**
178
- * List of $primitives to register in the module.
179
- */
180
- primitives?: Array<PrimitiveFactoryLike>;
181
- /**
182
- * By default, module will register ALL services.
183
- * You can override this behavior by providing a register function.
184
- * It's useful when you want to register services conditionally or in a specific order.
185
- *
186
- * Again, if you declare 'register', you must handle the registration of ALL services manually.
187
- */
188
- register?: (alepha: Alepha) => void;
189
- }
190
- /**
191
- * Base class for all modules.
192
- */
193
- declare abstract class Module {
194
- abstract readonly options: ModulePrimitiveOptions;
195
- abstract register(alepha: Alepha): void;
196
- static NAME_REGEX: RegExp;
197
- /**
198
- * Check if a Service is a Module.
199
- */
200
- static is(ctor: Service): boolean;
201
- /**
202
- * Get the Module of a Service.
203
- *
204
- * Returns undefined if the Service is not part of a Module.
205
- */
206
- static of(ctor: Service): Service<Module> | undefined;
207
- }
208
- //#endregion
209
- //#region ../alepha/src/core/providers/AlsProvider.d.ts
210
- type AsyncLocalStorageData = any;
211
- declare class AlsProvider {
212
- static create: () => AsyncLocalStorage<AsyncLocalStorageData> | undefined;
213
- als?: AsyncLocalStorage<AsyncLocalStorageData>;
214
- constructor();
215
- createContextId(): string;
216
- run<R>(callback: () => R, data?: Record<string, any>): R;
217
- exists(): boolean;
218
- get<T>(key: string): T | undefined;
219
- set<T>(key: string, value: T): void;
220
- }
221
- //#endregion
222
- //#region ../alepha/src/core/providers/Json.d.ts
223
- /**
224
- * Mimics the JSON global object with stringify and parse methods.
225
- *
226
- * Used across the codebase via dependency injection.
227
- */
228
- declare class Json {
229
- stringify(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string;
230
- parse(text: string, reviver?: (this: any, key: string, value: any) => any): any;
231
- }
232
- //#endregion
233
- //#region ../alepha/src/core/providers/SchemaCodec.d.ts
234
- declare abstract class SchemaCodec {
235
- /**
236
- * Encode the value to a string format.
237
- */
238
- abstract encodeToString<T extends TSchema$1>(schema: T, value: Static$1<T>): string;
239
- /**
240
- * Encode the value to a binary format.
241
- */
242
- abstract encodeToBinary<T extends TSchema$1>(schema: T, value: Static$1<T>): Uint8Array;
243
- /**
244
- * Decode string, binary, or other formats to the schema type.
245
- */
246
- abstract decode<T>(schema: TSchema$1, value: unknown): T;
247
- }
248
- //#endregion
249
- //#region ../alepha/src/core/providers/JsonSchemaCodec.d.ts
250
- declare class JsonSchemaCodec extends SchemaCodec {
251
- protected readonly json: Json;
252
- protected readonly encoder: TextEncoder;
253
- protected readonly decoder: TextDecoder;
254
- encodeToString<T extends TSchema>(schema: T, value: Static$1<T>): string;
255
- encodeToBinary<T extends TSchema>(schema: T, value: Static$1<T>): Uint8Array;
256
- decode<T>(schema: TSchema, value: unknown): T;
257
- }
258
- //#endregion
259
- //#region ../alepha/src/core/primitives/$hook.d.ts
260
- interface HookOptions<T extends keyof Hooks> {
261
- /**
262
- * The name of the hook. "configure", "start", "ready", "stop", ...
263
- */
264
- on: T;
265
- /**
266
- * The handler to run when the hook is triggered.
267
- */
268
- handler: (args: Hooks[T]) => Async<any>;
269
- /**
270
- * Force the hook to run first or last on the list of hooks.
271
- */
272
- priority?: "first" | "last";
273
- /**
274
- * Empty placeholder, not implemented yet. :-)
275
- */
276
- before?: object | Array<object>;
277
- /**
278
- * Empty placeholder, not implemented yet. :-)
279
- */
280
- after?: object | Array<object>;
281
- }
282
- declare class HookPrimitive<T extends keyof Hooks> extends Primitive<HookOptions<T>> {
283
- called: number;
284
- protected onInit(): void;
285
- }
286
- //#endregion
287
- //#region ../alepha/src/core/providers/SchemaValidator.d.ts
288
- declare class SchemaValidator {
289
- protected cache: Map<TSchema, Validator<typebox3.TProperties, TSchema, unknown, unknown>>;
290
- protected useEval: boolean;
291
- /**
292
- * Validate the value against the provided schema.
293
- *
294
- * Validation create a new value by applying some preprocessing. (e.g., trimming text)
295
- */
296
- validate<T extends TSchema>(schema: T, value: unknown, options?: ValidateOptions): Static$1<T>;
297
- protected getValidator<T extends TSchema>(schema: T): Validator<{}, T>;
298
- /**
299
- * Preprocess the value based on the schema before validation.
300
- *
301
- * - If the value is `null` and the schema does not allow `null`, it converts it to `undefined`.
302
- * - If the value is a string and the schema has a `~options.trim` flag, it trims whitespace from the string.
303
- */
304
- beforeParse(schema: any, value: any, options: ValidateOptions): any;
305
- /**
306
- * Used by `beforeParse` to determine if a schema allows null values.
307
- */
308
- protected isSchemaNullable: (schema: any) => boolean;
309
- protected onConfigure: HookPrimitive<"configure">;
310
- protected canEval(): boolean;
311
- }
312
- interface ValidateOptions {
313
- trim?: boolean;
314
- nullToUndefined?: boolean;
315
- deleteUndefined?: boolean;
316
- }
317
- //#endregion
318
- //#region ../alepha/src/core/providers/CodecManager.d.ts
319
- type Encoding = "object" | "string" | "binary";
320
- interface EncodeOptions<T extends Encoding = Encoding> {
321
- /**
322
- * The output encoding format:
323
- * - 'string': Returns JSON string
324
- * - 'binary': Returns Uint8Array (for protobuf, msgpack, etc.)
325
- *
326
- * @default "string"
327
- */
328
- as?: T;
329
- /**
330
- * The encoder to use (e.g., 'json', 'protobuf', 'msgpack')
331
- *
332
- * @default "json"
333
- */
334
- encoder?: string;
335
- /**
336
- * Validation options to apply before encoding.
337
- */
338
- validation?: ValidateOptions | false;
339
- }
340
- type EncodeResult<T extends TSchema, E extends Encoding> = E extends "string" ? string : E extends "binary" ? Uint8Array : StaticEncode<T>;
341
- interface DecodeOptions {
342
- /**
343
- * The encoder to use (e.g., 'json', 'protobuf', 'msgpack')
344
- *
345
- * @default "json"
346
- */
347
- encoder?: string;
348
- /**
349
- * Validation options to apply before encoding.
350
- */
351
- validation?: ValidateOptions | false;
352
- }
353
- /**
354
- * CodecManager manages multiple codec formats and provides a unified interface
355
- * for encoding and decoding data with different formats.
356
- */
357
- declare class CodecManager {
358
- protected readonly codecs: Map<string, SchemaCodec>;
359
- protected readonly jsonCodec: JsonSchemaCodec;
360
- protected readonly schemaValidator: SchemaValidator;
361
- default: string;
362
- constructor();
363
- /**
364
- * Register a new codec format.
365
- *
366
- * @param name - The name of the codec (e.g., 'json', 'protobuf')
367
- * @param codec - The codec implementation
368
- */
369
- register(name: string, codec: SchemaCodec): void;
370
- /**
371
- * Get a specific codec by name.
372
- *
373
- * @param name - The name of the codec
374
- * @returns The codec instance
375
- * @throws {AlephaError} If the codec is not found
376
- */
377
- getCodec(name: string): SchemaCodec;
378
- /**
379
- * Encode data using the specified codec and output format.
380
- */
381
- encode<T extends TSchema, E extends Encoding = "object">(schema: T, value: unknown, options?: EncodeOptions<E>): EncodeResult<T, E>;
382
- /**
383
- * Decode data using the specified codec.
384
- */
385
- decode<T extends TSchema>(schema: T, data: any, options?: DecodeOptions): Static$1<T>;
386
- /**
387
- * Validate decoded data against the schema.
388
- *
389
- * This is automatically called before encoding or after decoding.
390
- */
391
- validate<T extends TSchema>(schema: T, value: unknown, options?: ValidateOptions): Static$1<T>;
392
- }
393
- //#endregion
394
- //#region ../alepha/src/core/providers/EventManager.d.ts
395
- declare class EventManager {
396
- logFn?: () => LoggerInterface | undefined;
397
- /**
398
- * List of events that can be triggered. Powered by $hook().
399
- */
400
- protected events: Record<string, Array<Hook>>;
401
- constructor(logFn?: () => LoggerInterface | undefined);
402
- protected get log(): LoggerInterface | undefined;
403
- clear(): void;
404
- /**
405
- * Registers a hook for the specified event.
406
- */
407
- on<T extends keyof Hooks>(event: T, hookOrFunc: Hook<T> | ((payload: Hooks[T]) => Async<void>)): () => void;
408
- /**
409
- * Emits the specified event with the given payload.
410
- */
411
- emit<T extends keyof Hooks>(func: T, payload: Hooks[T], options?: {
412
- /**
413
- * If true, the hooks will be executed in reverse order.
414
- * This is useful for "stop" hooks that should be executed in reverse order.
415
- *
416
- * @default false
417
- */
418
- reverse?: boolean;
419
- /**
420
- * If true, the hooks will be logged with their execution time.
421
- *
422
- * @default false
423
- */
424
- log?: boolean;
425
- /**
426
- * If true, errors will be caught and logged instead of throwing.
427
- *
428
- * @default false
429
- */
430
- catch?: boolean;
431
- }): Promise<void>;
432
- }
433
- //#endregion
434
- //#region ../alepha/src/core/providers/StateManager.d.ts
435
- interface AtomWithValue {
436
- atom: Atom;
437
- value: unknown;
438
- }
439
- declare class StateManager<State$1 extends object = State> {
440
- protected readonly als: AlsProvider;
441
- protected readonly events: EventManager;
442
- protected readonly codec: JsonSchemaCodec;
443
- protected readonly atoms: Map<keyof State$1, Atom<TObject<typebox3.TProperties>, string>>;
444
- protected store: Partial<State$1>;
445
- constructor(store?: Partial<State$1>);
446
- getAtoms(context?: boolean): Array<AtomWithValue>;
447
- register(atom: Atom<any>): this;
448
- /**
449
- * Get a value from the state with proper typing
450
- */
451
- get<T extends TAtomObject>(target: Atom<T>): Static$1<T>;
452
- get<Key extends keyof State$1>(target: Key): State$1[Key] | undefined;
453
- /**
454
- * Set a value in the state
455
- */
456
- set<T extends TAtomObject>(target: Atom<T>, value: AtomStatic<T>, options?: SetStateOptions): this;
457
- set<Key extends keyof State$1>(target: Key, value: State$1[Key] | undefined, options?: SetStateOptions): this;
458
- /**
459
- * Mutate a value in the state.
460
- */
461
- mut<T extends TObject>(target: Atom<T>, mutator: (current: Static$1<T>) => Static$1<T>): this;
462
- mut<Key extends keyof State$1>(target: Key, mutator: (current: State$1[Key] | undefined) => State$1[Key] | undefined): this;
463
- /**
464
- * Check if a key exists in the state
465
- */
466
- has<Key extends keyof State$1>(key: Key): boolean;
467
- /**
468
- * Delete a key from the state (set to undefined)
469
- */
470
- del<Key extends keyof State$1>(key: Key): this;
471
- /**
472
- * Push a value to an array in the state
473
- */
474
- push<Key extends keyof OnlyArray<State$1>>(key: Key, ...value: Array<NonNullable<State$1[Key]> extends Array<infer U> ? U : never>): this;
475
- /**
476
- * Clear all state
477
- */
478
- clear(): this;
479
- /**
480
- * Get all keys that exist in the state
481
- */
482
- keys(): (keyof State$1)[];
483
- }
484
- type OnlyArray<T extends object> = { [K in keyof T]: NonNullable<T[K]> extends Array<any> ? K : never };
485
- interface SetStateOptions {
486
- skipContext?: boolean;
487
- skipEvents?: boolean;
488
- }
489
- //#endregion
490
- //#region ../alepha/src/core/Alepha.d.ts
491
- /**
492
- * Core container of the Alepha framework.
493
- *
494
- * It is responsible for managing the lifecycle of services,
495
- * handling dependency injection,
496
- * and providing a unified interface for the application.
497
- *
498
- * @example
499
- * ```ts
500
- * import { Alepha, run } from "alepha";
501
- *
502
- * class MyService {
503
- * // business logic here
504
- * }
505
- *
506
- * const alepha = Alepha.create({
507
- * // state, env, and other properties
508
- * })
509
- *
510
- * alepha.with(MyService);
511
- *
512
- * run(alepha); // trigger .start (and .stop) automatically
513
- * ```
514
- *
515
- * ### Alepha Factory
516
- *
517
- * Alepha.create() is an enhanced version of new Alepha().
518
- * - It merges `process.env` with the provided state.env when available.
519
- * - It populates the test hooks for Vitest or Jest environments when available.
520
- *
521
- * new Alepha() is fine if you don't need these helpers.
522
- *
523
- * ### Platforms & Environments
524
- *
525
- * Alepha is designed to work in various environments:
526
- * - **Browser**: Runs in the browser, using the global `window` object.
527
- * - **Serverless**: Runs in serverless environments like Vercel or Vite.
528
- * - **Test**: Runs in test environments like Jest or Vitest.
529
- * - **Production**: Runs in production environments, typically with NODE_ENV set to "production".
530
- * * You can check the current environment using the following methods:
531
- *
532
- * - `isBrowser()`: Returns true if the App is running in a browser environment.
533
- * - `isServerless()`: Returns true if the App is running in a serverless environment.
534
- * - `isTest()`: Returns true if the App is running in a test environment.
535
- * - `isProduction()`: Returns true if the App is running in a production environment.
536
- *
537
- * ### State & Environment
538
- *
539
- * The state of the Alepha container is stored in the `store` property.
540
- * Most important property is `store.env`, which contains the environment variables.
541
- *
542
- * ```ts
543
- * const alepha = Alepha.create({ env: { MY_VAR: "value" } });
544
- *
545
- * // You can access the environment variables using alepha.env
546
- * console.log(alepha.env.MY_VAR); // "value"
547
- *
548
- * // But you should use $env() primitive to get typed values from the environment.
549
- * class App {
550
- * env = $env(
551
- * t.object({
552
- * MY_VAR: t.text(),
553
- * })
554
- * );
555
- * }
556
- * ```
557
- *
558
- * ### Modules
559
- *
560
- * Modules are a way to group services together.
561
- * You can register a module using the `$module` primitive.
562
- *
563
- * ```ts
564
- * import { $module } from "alepha";
565
- *
566
- * class MyLib {}
567
- *
568
- * const myModule = $module({
569
- * name: "my.project.module",
570
- * services: [MyLib],
571
- * });
572
- * ```
573
- *
574
- * Do not use modules for small applications.
575
- *
576
- * ### Hooks
577
- *
578
- * Hooks are a way to run async functions from all registered providers/services.
579
- * You can register a hook using the `$hook` primitive.
580
- *
581
- * ```ts
582
- * import { $hook } from "alepha";
583
- *
584
- * class App {
585
- * log = $logger();
586
- * onCustomerHook = $hook({
587
- * on: "my:custom:hook",
588
- * handler: () => {
589
- * this.log?.info("App is being configured");
590
- * },
591
- * });
592
- * }
593
- *
594
- * Alepha.create()
595
- * .with(App)
596
- * .start()
597
- * .then(alepha => alepha.events.emit("my:custom:hook"));
598
- * ```
599
- *
600
- * Hooks are fully typed. You can create your own hooks by using module augmentation:
601
- *
602
- * ```ts
603
- * declare module "alepha" {
604
- * interface Hooks {
605
- * "my:custom:hook": {
606
- * arg1: string;
607
- * }
608
- * }
609
- * }
610
- * ```
611
- *
612
- * @module alepha
613
- */
614
- declare class Alepha {
615
- /**
616
- * Creates a new instance of the Alepha container with some helpers:
617
- *
618
- * - merges `process.env` with the provided state.env when available.
619
- * - populates the test hooks for Vitest or Jest environments when available.
620
- *
621
- * If you are not interested about these helpers, you can use the constructor directly.
622
- */
623
- static create(state?: Partial<State>): Alepha;
624
- /**
625
- * Flag indicating whether the App won't accept any further changes.
626
- * Pass to true when #start() is called.
627
- */
628
- protected locked: boolean;
629
- /**
630
- * True if the App has been configured.
631
- */
632
- protected configured: boolean;
633
- /**
634
- * True if the App has started.
635
- */
636
- protected started: boolean;
637
- /**
638
- * True if the App is ready.
639
- */
640
- protected ready: boolean;
641
- /**
642
- * A promise that resolves when the App has started.
643
- */
644
- protected starting?: PromiseWithResolvers<this>;
645
- /**
646
- * During the instantiation process, we keep a list of pending instantiations.
647
- * > It allows us to detect circular dependencies.
648
- */
649
- protected pendingInstantiations: Service[];
650
- /**
651
- * Cache for environment variables.
652
- * > It allows us to avoid parsing the same schema multiple times.
653
- */
654
- protected cacheEnv: Map<TSchema$1, any>;
655
- /**
656
- * List of modules that are registered in the container.
657
- *
658
- * Modules are used to group services and provide a way to register them in the container.
659
- */
660
- protected modules: Array<Module>;
661
- /**
662
- * List of service substitutions.
663
- *
664
- * Services registered here will be replaced by the specified service when injected.
665
- */
666
- protected substitutions: Map<Service, {
667
- use: Service;
668
- }>;
669
- /**
670
- * Registry of primitives.
671
- */
672
- protected primitiveRegistry: Map<Service<Primitive<{}>>, Primitive<{}>[]>;
673
- /**
674
- * List of all services + how they are provided.
675
- */
676
- protected registry: Map<Service, ServiceDefinition>;
677
- /**
678
- * Node.js feature that allows to store context across asynchronous calls.
679
- *
680
- * This is used for logging, tracing, and other context-related features.
681
- *
682
- * Mocked for browser environments.
683
- */
684
- context: AlsProvider;
685
- /**
686
- * Event manager to handle lifecycle events and custom events.
687
- */
688
- events: EventManager;
689
- /**
690
- * State manager to store arbitrary values.
691
- */
692
- store: StateManager<State>;
693
- /**
694
- * Codec manager for encoding and decoding data with different formats.
695
- *
696
- * Supports multiple codec formats (JSON, Protobuf, etc.) with a unified interface.
697
- */
698
- codec: CodecManager;
699
- /**
700
- * Get logger instance.
701
- */
702
- get log(): LoggerInterface | undefined;
703
- /**
704
- * The environment variables for the App.
705
- */
706
- get env(): Readonly<Env>;
707
- constructor(state?: Partial<State>);
708
- set<T extends TAtomObject>(target: Atom<T>, value: AtomStatic<T>): this;
709
- set<Key extends keyof State>(target: Key, value: State[Key] | undefined): this;
710
- /**
711
- * True when start() is called.
712
- *
713
- * -> No more services can be added, it's over, bye!
714
- */
715
- isLocked(): boolean;
716
- /**
717
- * Returns whether the App is configured.
718
- *
719
- * It means that Alepha#configure() has been called.
720
- *
721
- * > By default, configure() is called automatically when start() is called, but you can also call it manually.
722
- */
723
- isConfigured(): boolean;
724
- /**
725
- * Returns whether the App has started.
726
- *
727
- * It means that #start() has been called but maybe not all services are ready.
728
- */
729
- isStarted(): boolean;
730
- /**
731
- * True if the App is ready. It means that Alepha is started AND ready() hook has beed called.
732
- */
733
- isReady(): boolean;
734
- /**
735
- * True if the App is running in a Continuous Integration environment.
736
- */
737
- isCI(): boolean;
738
- /**
739
- * True if the App is running in a browser environment.
740
- */
741
- isBrowser(): boolean;
742
- /**
743
- * Returns whether the App is running in Vite dev mode.
744
- */
745
- isViteDev(): boolean;
746
- isBun(): boolean;
747
- /**
748
- * Returns whether the App is running in a serverless environment.
749
- */
750
- isServerless(): boolean;
751
- /**
752
- * Returns whether the App is in test mode. (Running in a test environment)
753
- *
754
- * > This is automatically set when running tests with Jest or Vitest.
755
- */
756
- isTest(): boolean;
757
- /**
758
- * Returns whether the App is in production mode. (Running in a production environment)
759
- *
760
- * > This is automatically set by Vite or Vercel. However, you have to set it manually when running Docker apps.
761
- */
762
- isProduction(): boolean;
763
- /**
764
- * Starts the App.
765
- *
766
- * - Lock any further changes to the container.
767
- * - Run "configure" hook for all services. Primitives will be processed.
768
- * - Run "start" hook for all services. Providers will connect/listen/...
769
- * - Run "ready" hook for all services. This is the point where the App is ready to serve requests.
770
- *
771
- * @return A promise that resolves when the App has started.
772
- */
773
- start(): Promise<this>;
774
- /**
775
- * Stops the App.
776
- *
777
- * - Run "stop" hook for all services.
778
- *
779
- * Stop will NOT reset the container.
780
- * Stop will NOT unlock the container.
781
- *
782
- * > Stop is used to gracefully shut down the application, nothing more. There is no "restart".
783
- *
784
- * @return A promise that resolves when the App has stopped.
785
- */
786
- stop(): Promise<void>;
787
- /**
788
- * Check if entry is registered in the container.
789
- */
790
- has(entry: ServiceEntry, opts?: {
791
- /**
792
- * Check if the entry is registered in the pending instantiation stack.
793
- *
794
- * @default true
795
- */
796
- inStack?: boolean;
797
- /**
798
- * Check if the entry is registered in the container registry.
799
- *
800
- * @default true
801
- */
802
- inRegistry?: boolean;
803
- /**
804
- * Check if the entry is registered in the substitutions.
805
- *
806
- * @default true
807
- */
808
- inSubstitutions?: boolean;
809
- /**
810
- * Where to look for registered services.
811
- *
812
- * @default this.registry
813
- */
814
- registry?: Map<Service, ServiceDefinition>;
815
- }): boolean;
816
- /**
817
- * Registers the specified service in the container.
818
- *
819
- * - If the service is ALREADY registered, the method does nothing.
820
- * - If the service is NOT registered, a new instance is created and registered.
821
- *
822
- * Method is chainable, so you can register multiple services in a single call.
823
- *
824
- * > ServiceEntry allows to provide a service **substitution** feature.
825
- *
826
- * @example
827
- * ```ts
828
- * class A { value = "a"; }
829
- * class B { value = "b"; }
830
- * class M { a = $inject(A); }
831
- *
832
- * Alepha.create().with({ provide: A, use: B }).get(M).a.value; // "b"
833
- * ```
834
- *
835
- * > **Substitution** is an advanced feature that allows you to replace a service with another service.
836
- * > It's useful for testing or for providing different implementations of a service.
837
- * > If you are interested in configuring a service, use Alepha#configure() instead.
838
- *
839
- * @param serviceEntry - The service to register in the container.
840
- * @return Current instance of Alepha.
841
- */
842
- with<T extends object>(serviceEntry: ServiceEntry<T> | {
843
- default: ServiceEntry<T>;
844
- }): this;
845
- /**
846
- * Get an instance of the specified service from the container.
847
- *
848
- * @see {@link InjectOptions} for the available options.
849
- */
850
- inject<T extends object>(service: Service<T> | string, opts?: InjectOptions<T>): T;
851
- /**
852
- * Applies environment variables to the provided schema and state object.
853
- *
854
- * It replaces also all templated $ENV inside string values.
855
- *
856
- * @param schema - The schema object to apply environment variables to.
857
- * @return The schema object with environment variables applied.
858
- */
859
- parseEnv<T extends TObject>(schema: T): Static<T>;
860
- /**
861
- * Get all environment variable schemas and their parsed values.
862
- *
863
- * This is useful for DevTools to display all expected environment variables.
864
- */
865
- getEnvSchemas(): Array<{
866
- schema: TSchema$1;
867
- values: Record<string, any>;
868
- }>;
869
- /**
870
- * Dump the current dependency graph of the App.
871
- *
872
- * This method returns a record where the keys are the names of the services.
873
- */
874
- graph(): Record<string, {
875
- from: string[];
876
- as?: string[];
877
- module?: string;
878
- }>;
879
- services<T extends object>(base: Service<T>): Array<T>;
880
- /**
881
- * Get all primitives of the specified type.
882
- */
883
- primitives<TPrimitive extends Primitive>(factory: {
884
- [KIND]: InstantiableClass<TPrimitive>;
885
- } | string): Array<TPrimitive>;
886
- protected new<T extends object>(service: Service<T>, args?: any[]): T;
887
- protected processPrimitive(value: Primitive, propertyKey?: string): void;
888
- }
889
- interface Hook<T extends keyof Hooks = any> {
890
- caller?: Service;
891
- priority?: "first" | "last";
892
- callback: (payload: Hooks[T]) => Async<void>;
893
- }
894
- /**
895
- * This is how we store services in the Alepha container.
896
- */
897
- interface ServiceDefinition<T extends object = any> {
898
- /**
899
- * The instance of the class or type definition.
900
- * Mostly used for caching / singleton but can be used for other purposes like forcing the instance.
901
- */
902
- instance: T;
903
- /**
904
- * List of classes which use this class.
905
- */
906
- parents: Array<Service | null>;
907
- }
908
- interface Env {
909
- [key: string]: string | boolean | number | undefined;
910
- /**
911
- * Optional environment variable that indicates the current environment.
912
- */
913
- NODE_ENV?: string;
914
- /**
915
- * Optional name of the application.
916
- */
917
- APP_NAME?: string;
918
- /**
919
- * Optional root module name.
920
- */
921
- MODULE_NAME?: string;
922
- }
923
- interface State {
924
- /**
925
- * Environment variables for the application.
926
- */
927
- env?: Readonly<Env>;
928
- /**
929
- * Logger instance to be used by the Alepha container.
930
- *
931
- * @internal
932
- */
933
- "alepha.logger"?: LoggerInterface;
934
- /**
935
- * If defined, the Alepha container will only register this service and its dependencies.
936
- *
937
- * @example
938
- * ```ts
939
- * class MigrateCmd {
940
- * db = $inject(DatabaseProvider);
941
- * alepha = $inject(Alepha);
942
- * env = $env(
943
- * t.object({
944
- * MIGRATE: t.optional(t.boolean()),
945
- * }),
946
- * );
947
- *
948
- * constructor() {
949
- * if (this.env.MIGRATE) {
950
- * this.alepha.set("alepha.target", MigrateCmd);
951
- * }
952
- * }
953
- *
954
- * ready = $hook({
955
- * on: "ready",
956
- * handler: async () => {
957
- * if (this.env.MIGRATE) {
958
- * await this.db.migrate();
959
- * }
960
- * },
961
- * });
962
- * }
963
- * ```
964
- */
965
- "alepha.target"?: Service;
966
- /**
967
- * Bind to Vitest 'beforeAll' hook.
968
- * Used for testing purposes.
969
- * This is automatically attached if Alepha#create() detects a test environment and global 'beforeAll' is available.
970
- */
971
- "alepha.test.beforeAll"?: (run: any) => any;
972
- /**
973
- * Bind to Vitest 'afterAll' hook.
974
- * Used for testing purposes.
975
- * This is automatically attached if Alepha#create() detects a test environment and global 'afterAll' is available.
976
- */
977
- "alepha.test.afterAll"?: (run: any) => any;
978
- /**
979
- * Bind to Vitest 'afterEach' hook.
980
- * Used for testing purposes.
981
- * This is automatically attached if Alepha#create() detects a test environment and global 'afterEach' is available.
982
- */
983
- "alepha.test.afterEach"?: (run: any) => any;
984
- /**
985
- * Bind to Vitest 'onTestFinished' hook.
986
- * Used for testing purposes.
987
- * This is automatically attached if Alepha#create() detects a test environment and global 'onTestFinished' is available.
988
- */
989
- "alepha.test.onTestFinished"?: (run: any) => any;
990
- /**
991
- * List of static assets to be copied to the output directory during the build process.
992
- *
993
- * Used for Alepha-based applications that require static assets.
994
- *
995
- * See alepha/vite for more details.
996
- */
997
- "alepha.build.assets"?: Array<string>;
998
- }
999
- interface Hooks {
1000
- /**
1001
- * Used for testing purposes.
1002
- */
1003
- echo: unknown;
1004
- /**
1005
- * Triggered during the configuration phase. Before the start phase.
1006
- */
1007
- configure: Alepha;
1008
- /**
1009
- * Triggered during the start phase. When `Alepha#start()` is called.
1010
- */
1011
- start: Alepha;
1012
- /**
1013
- * Triggered during the ready phase. After the start phase.
1014
- */
1015
- ready: Alepha;
1016
- /**
1017
- * Triggered during the stop phase.
1018
- *
1019
- * - Stop should be called after a SIGINT or SIGTERM signal in order to gracefully shutdown the application. (@see `run()` method)
1020
- *
1021
- */
1022
- stop: Alepha;
1023
- /**
1024
- * Triggered when a state value is mutated.
1025
- */
1026
- "state:mutate": {
1027
- /**
1028
- * The key of the state that was mutated.
1029
- */
1030
- key: keyof State;
1031
- /**
1032
- * The new value of the state.
1033
- */
1034
- value: any;
1035
- /**
1036
- * The previous value of the state.
1037
- */
1038
- prevValue: any;
1039
- };
1040
- }
1041
- //#endregion
1042
- //#region ../alepha/src/core/schemas/pageSchema.d.ts
1043
- declare const pageMetadataSchema: TObject$1<{
1044
- number: TInteger;
1045
- size: TInteger;
1046
- offset: TInteger;
1047
- numberOfElements: TInteger;
1048
- totalElements: TOptional<TInteger>;
1049
- totalPages: TOptional<TInteger>;
1050
- isEmpty: TBoolean;
1051
- isFirst: TBoolean;
1052
- isLast: TBoolean;
1053
- sort: TOptional<TObject$1<{
1054
- sorted: TBoolean;
1055
- fields: TArray$1<TObject$1<{
1056
- field: TString;
1057
- direction: TUnsafe<"asc" | "desc">;
1058
- }>>;
1059
- }>>;
1060
- }>;
1061
- type TPage<T extends TObject$1 | TRecord> = TObject$1<{
1062
- content: TArray$1<T>;
1063
- page: typeof pageMetadataSchema;
1064
- }>;
1065
- declare module "alepha" {
1066
- interface TypeProvider {
1067
- /**
1068
- * Create a schema for a paginated response.
1069
- */
1070
- page<T extends TObject$1 | TRecord>(itemSchema: T): TPage<T>;
1071
- }
1072
- }
1073
- //#endregion
1074
- //#region ../alepha/src/logger/schemas/logEntrySchema.d.ts
1075
- declare const logEntrySchema: TObject$1<{
1076
- level: TUnsafe<"TRACE" | "DEBUG" | "INFO" | "WARN" | "ERROR" | "SILENT">;
1077
- message: TString;
1078
- service: TString;
1079
- module: TString;
1080
- context: TOptional<TString>;
1081
- app: TOptional<TString>;
1082
- data: TOptional<TAny>;
1083
- timestamp: TNumber;
1084
- }>;
1085
- type LogEntry = Static$1<typeof logEntrySchema>;
1086
- //#endregion
1087
- //#region ../alepha/src/datetime/providers/DateTimeProvider.d.ts
1088
- type DateTime = DayjsApi.Dayjs;
1089
- type Duration = dayjsDuration.Duration;
1090
- type DurationLike = number | dayjsDuration.Duration | [number, ManipulateType];
1091
- declare class DateTimeProvider {
1092
- static PLUGINS: Array<PluginFunc<any>>;
1093
- protected alepha: Alepha;
1094
- protected ref: DateTime | null;
1095
- protected readonly timeouts: Timeout[];
1096
- protected readonly intervals: Interval[];
1097
- constructor();
1098
- protected readonly onStart: HookPrimitive<"start">;
1099
- protected readonly onStop: HookPrimitive<"stop">;
1100
- setLocale(locale: string): void;
1101
- isDateTime(value: unknown): value is DateTime;
1102
- /**
1103
- * Create a new UTC DateTime instance.
1104
- */
1105
- utc(date: string | number | Date | Dayjs | null | undefined): DateTime;
1106
- /**
1107
- * Create a new DateTime instance.
1108
- */
1109
- of(date: string | number | Date | Dayjs | null | undefined): DateTime;
1110
- /**
1111
- * Get the current date as a string.
1112
- */
1113
- toISOString(date?: Date | string | DateTime): string;
1114
- /**
1115
- * Get the current date.
1116
- */
1117
- now(): DateTime;
1118
- /**
1119
- * Get the current date as a string.
1120
- *
1121
- * This is much faster than `DateTimeProvider.now().toISOString()` as it avoids creating a DateTime instance.
1122
- */
1123
- nowISOString(): string;
1124
- /**
1125
- * Get the current date as milliseconds since epoch.
1126
- *
1127
- * This is much faster than `DateTimeProvider.now().valueOf()` as it avoids creating a DateTime instance.
1128
- */
1129
- nowMillis(): number;
1130
- /**
1131
- * Get the current date as a string.
1132
- *
1133
- * @protected
1134
- */
1135
- protected getCurrentDate(): DateTime;
1136
- /**
1137
- * Create a new Duration instance.
1138
- */
1139
- duration: (duration: DurationLike, unit?: ManipulateType) => Duration;
1140
- isDurationLike(value: unknown): value is DurationLike;
1141
- /**
1142
- * Return a promise that resolves after the next tick.
1143
- * It uses `setTimeout` with 0 ms delay.
1144
- */
1145
- tick(): Promise<void>;
1146
- /**
1147
- * Wait for a certain duration.
1148
- *
1149
- * You can clear the timeout by using the `AbortSignal` API.
1150
- * Aborted signal will resolve the promise immediately, it does not reject it.
1151
- */
1152
- wait(duration: DurationLike, options?: {
1153
- signal?: AbortSignal;
1154
- now?: number;
1155
- }): Promise<void>;
1156
- createInterval(run: () => unknown, duration: DurationLike, start?: boolean): Interval;
1157
- /**
1158
- * Run a callback after a certain duration.
1159
- */
1160
- createTimeout(callback: () => void, duration: DurationLike, now?: number): Timeout;
1161
- clearTimeout(timeout: Timeout): void;
1162
- clearInterval(interval: Interval): void;
1163
- /**
1164
- * Run a function with a deadline.
1165
- */
1166
- deadline<T>(fn: (signal: AbortSignal) => Promise<T>, duration: DurationLike): Promise<T>;
1167
- /**
1168
- * Add time to the current date.
1169
- */
1170
- travel(duration: DurationLike, unit?: ManipulateType): Promise<void>;
1171
- /**
1172
- * Stop the time.
1173
- */
1174
- pause(): DateTime;
1175
- /**
1176
- * Reset the reference date.
1177
- */
1178
- reset(): void;
1179
- }
1180
- interface Interval {
1181
- timer?: any;
1182
- duration: number;
1183
- run: () => unknown;
1184
- }
1185
- interface Timeout {
1186
- now: number;
1187
- timer?: any;
1188
- duration: number;
1189
- callback: () => void;
1190
- clear: () => void;
1191
- }
1192
- //#endregion
1193
- //#region ../alepha/src/logger/providers/LogDestinationProvider.d.ts
1194
- declare abstract class LogDestinationProvider {
1195
- abstract write(message: string, entry: LogEntry): void;
1196
- }
1197
- //#endregion
1198
- //#region ../alepha/src/logger/providers/LogFormatterProvider.d.ts
1199
- declare abstract class LogFormatterProvider {
1200
- abstract format(entry: LogEntry): string;
1201
- }
1202
- //#endregion
1203
- //#region ../alepha/src/logger/services/Logger.d.ts
1204
- declare class Logger implements LoggerInterface {
1205
- protected readonly alepha: Alepha;
1206
- protected readonly formatter: LogFormatterProvider;
1207
- protected readonly destination: LogDestinationProvider;
1208
- protected readonly dateTimeProvider: DateTimeProvider;
1209
- protected readonly levels: Record<string, number>;
1210
- protected readonly service: string;
1211
- protected readonly module: string;
1212
- protected readonly app?: string;
1213
- protected appLogLevel: string;
1214
- protected logLevel: LogLevel;
1215
- constructor(service: string, module: string);
1216
- get context(): string | undefined;
1217
- get level(): string;
1218
- parseLevel(level: string, app: string): LogLevel;
1219
- private matchesPattern;
1220
- asLogLevel(something: string): LogLevel;
1221
- error(message: string, data?: unknown): void;
1222
- warn(message: string, data?: unknown): void;
1223
- info(message: string, data?: unknown): void;
1224
- debug(message: string, data?: unknown): void;
1225
- trace(message: string, data?: unknown): void;
1226
- protected log(level: LogLevel, message: string, data?: unknown): void;
1227
- protected emit(entry: LogEntry, message?: string): void;
1228
- }
1229
- //#endregion
1230
- //#region ../alepha/src/logger/index.d.ts
1231
- declare const envSchema: TObject$1<{
1232
- /**
1233
- * Default log level for the application.
1234
- *
1235
- * Default by environment:
1236
- * - dev = info
1237
- * - prod = info
1238
- * - test = error
1239
- *
1240
- * Levels are: "trace" | "debug" | "info" | "warn" | "error" | "silent"
1241
- *
1242
- * Level can be set for a specific module:
1243
- *
1244
- * @example
1245
- * LOG_LEVEL=my.module.name:debug,info # Set debug level for my.module.name and info for all other modules
1246
- * LOG_LEVEL=alepha:trace, info # Set trace level for all alepha modules and info for all other modules
1247
- */
1248
- LOG_LEVEL: TOptional<TString>;
1249
- /**
1250
- * Built-in log formats.
1251
- * - "json" - JSON format, useful for structured logging and log aggregation. {@link JsonFormatterProvider}
1252
- * - "pretty" - Simple text format, human-readable, with colors. {@link PrettyFormatterProvider}
1253
- * - "raw" - Raw format, no formatting, just the message. {@link RawFormatterProvider}
1254
- */
1255
- LOG_FORMAT: TOptional<TUnsafe<"json" | "pretty" | "raw">>;
1256
- }>;
1257
- declare module "alepha" {
1258
- interface Env extends Partial<Static$1<typeof envSchema>> {}
1259
- interface State {
1260
- /**
1261
- * Current log level for the application or specific modules.
1262
- */
1263
- "alepha.logger.level"?: string;
1264
- }
1265
- interface Hooks {
1266
- log: {
1267
- message?: string;
1268
- entry: LogEntry;
1269
- };
1270
- }
1271
- }
1272
- //#endregion
1273
5
  //#region src/api/schemas/DevActionMetadata.d.ts
1274
- declare const devActionMetadataSchema: TObject$1<{
1275
- name: TString;
1276
- group: TString;
1277
- method: TString;
1278
- path: TString;
1279
- prefix: TString;
1280
- fullPath: TString;
1281
- description: TOptional<TString>;
1282
- summary: TOptional<TString>;
1283
- disabled: TOptional<TBoolean>;
1284
- secure: TOptional<TBoolean>;
1285
- hide: TOptional<TBoolean>;
1286
- body: TOptional<TAny>;
1287
- params: TOptional<TAny>;
1288
- query: TOptional<TAny>;
1289
- response: TOptional<TAny>;
1290
- bodyContentType: TOptional<TString>;
6
+ declare const devActionMetadataSchema: alepha8.TObject<{
7
+ name: alepha8.TString;
8
+ group: alepha8.TString;
9
+ method: alepha8.TString;
10
+ path: alepha8.TString;
11
+ prefix: alepha8.TString;
12
+ fullPath: alepha8.TString;
13
+ description: alepha8.TOptional<alepha8.TString>;
14
+ summary: alepha8.TOptional<alepha8.TString>;
15
+ disabled: alepha8.TOptional<alepha8.TBoolean>;
16
+ secure: alepha8.TOptional<alepha8.TBoolean>;
17
+ hide: alepha8.TOptional<alepha8.TBoolean>;
18
+ body: alepha8.TOptional<alepha8.TAny>;
19
+ params: alepha8.TOptional<alepha8.TAny>;
20
+ query: alepha8.TOptional<alepha8.TAny>;
21
+ response: alepha8.TOptional<alepha8.TAny>;
22
+ bodyContentType: alepha8.TOptional<alepha8.TString>;
1291
23
  }>;
1292
- type DevActionMetadata = Static$1<typeof devActionMetadataSchema>;
24
+ type DevActionMetadata = Static<typeof devActionMetadataSchema>;
1293
25
  //#endregion
1294
26
  //#region src/api/schemas/DevAtomMetadata.d.ts
1295
- declare const devAtomMetadataSchema: TObject$1<{
27
+ declare const devAtomMetadataSchema: alepha8.TObject<{
1296
28
  /**
1297
- * The unique name/key of the atom
1298
- */
1299
- name: TString;
29
+ * The unique name/key of the atom
30
+ */
31
+ name: alepha8.TString;
1300
32
  /**
1301
- * Optional description of the atom
1302
- */
1303
- description: TOptional<TString>;
33
+ * Optional description of the atom
34
+ */
35
+ description: alepha8.TOptional<alepha8.TString>;
1304
36
  /**
1305
- * The schema for the atom value (TypeBox/JSON Schema)
1306
- */
1307
- schema: TAny;
37
+ * The schema for the atom value (TypeBox/JSON Schema)
38
+ */
39
+ schema: alepha8.TAny;
1308
40
  /**
1309
- * The default value defined for the atom
1310
- */
1311
- defaultValue: TOptional<TAny>;
41
+ * The default value defined for the atom
42
+ */
43
+ defaultValue: alepha8.TOptional<alepha8.TAny>;
1312
44
  /**
1313
- * The current value of the atom
1314
- */
1315
- currentValue: TOptional<TAny>;
45
+ * The current value of the atom
46
+ */
47
+ currentValue: alepha8.TOptional<alepha8.TAny>;
1316
48
  }>;
1317
- type DevAtomMetadata = Static$1<typeof devAtomMetadataSchema>;
49
+ type DevAtomMetadata = Static<typeof devAtomMetadataSchema>;
1318
50
  //#endregion
1319
51
  //#region src/api/schemas/DevBucketMetadata.d.ts
1320
- declare const devBucketMetadataSchema: TObject$1<{
1321
- name: TString;
1322
- description: TOptional<TString>;
1323
- mimeTypes: TOptional<TArray$1<TString>>;
1324
- maxSize: TOptional<TNumber>;
1325
- provider: TString;
52
+ declare const devBucketMetadataSchema: alepha8.TObject<{
53
+ name: alepha8.TString;
54
+ description: alepha8.TOptional<alepha8.TString>;
55
+ mimeTypes: alepha8.TOptional<alepha8.TArray<alepha8.TString>>;
56
+ maxSize: alepha8.TOptional<alepha8.TNumber>;
57
+ provider: alepha8.TString;
1326
58
  }>;
1327
- type DevBucketMetadata = Static$1<typeof devBucketMetadataSchema>;
59
+ type DevBucketMetadata = Static<typeof devBucketMetadataSchema>;
1328
60
  //#endregion
1329
61
  //#region src/api/schemas/DevCacheMetadata.d.ts
1330
- declare const devCacheMetadataSchema: TObject$1<{
1331
- name: TString;
1332
- ttl: TOptional<TAny>;
1333
- disabled: TOptional<TBoolean>;
1334
- provider: TString;
62
+ declare const devCacheMetadataSchema: alepha8.TObject<{
63
+ name: alepha8.TString;
64
+ ttl: alepha8.TOptional<alepha8.TAny>;
65
+ disabled: alepha8.TOptional<alepha8.TBoolean>;
66
+ provider: alepha8.TString;
1335
67
  }>;
1336
- type DevCacheMetadata = Static$1<typeof devCacheMetadataSchema>;
68
+ type DevCacheMetadata = Static<typeof devCacheMetadataSchema>;
1337
69
  //#endregion
1338
70
  //#region src/api/schemas/DevCommandMetadata.d.ts
1339
- declare const devCommandMetadataSchema: TObject$1<{
1340
- name: TString;
1341
- description: TOptional<TString>;
1342
- hidden: TOptional<TBoolean>;
71
+ declare const devCommandMetadataSchema: alepha8.TObject<{
72
+ name: alepha8.TString;
73
+ description: alepha8.TOptional<alepha8.TString>;
74
+ hidden: alepha8.TOptional<alepha8.TBoolean>;
1343
75
  }>;
1344
- type DevCommandMetadata = Static$1<typeof devCommandMetadataSchema>;
76
+ type DevCommandMetadata = Static<typeof devCommandMetadataSchema>;
1345
77
  //#endregion
1346
78
  //#region src/api/schemas/DevEntityMetadata.d.ts
1347
- declare const devEntityColumnSchema: TObject$1<{
1348
- name: TString;
1349
- type: TString;
1350
- nullable: TBoolean;
1351
- primaryKey: TBoolean;
1352
- identity: TBoolean;
1353
- createdAt: TBoolean;
1354
- updatedAt: TBoolean;
1355
- deletedAt: TBoolean;
1356
- version: TBoolean;
1357
- hasDefault: TBoolean;
1358
- ref: TOptional<TObject$1<{
1359
- entity: TString;
1360
- column: TString;
1361
- onUpdate: TOptional<TString>;
1362
- onDelete: TOptional<TString>;
79
+ declare const devEntityColumnSchema: alepha8.TObject<{
80
+ name: alepha8.TString;
81
+ type: alepha8.TString;
82
+ nullable: alepha8.TBoolean;
83
+ primaryKey: alepha8.TBoolean;
84
+ identity: alepha8.TBoolean;
85
+ createdAt: alepha8.TBoolean;
86
+ updatedAt: alepha8.TBoolean;
87
+ deletedAt: alepha8.TBoolean;
88
+ version: alepha8.TBoolean;
89
+ hasDefault: alepha8.TBoolean;
90
+ ref: alepha8.TOptional<alepha8.TObject<{
91
+ entity: alepha8.TString;
92
+ column: alepha8.TString;
93
+ onUpdate: alepha8.TOptional<alepha8.TString>;
94
+ onDelete: alepha8.TOptional<alepha8.TString>;
1363
95
  }>>;
1364
96
  }>;
1365
- declare const devEntityIndexSchema: TObject$1<{
1366
- name: TOptional<TString>;
1367
- columns: TArray$1<TString>;
1368
- unique: TBoolean;
97
+ declare const devEntityIndexSchema: alepha8.TObject<{
98
+ name: alepha8.TOptional<alepha8.TString>;
99
+ columns: alepha8.TArray<alepha8.TString>;
100
+ unique: alepha8.TBoolean;
1369
101
  }>;
1370
- declare const devEntityForeignKeySchema: TObject$1<{
1371
- name: TOptional<TString>;
1372
- columns: TArray$1<TString>;
1373
- foreignEntity: TString;
1374
- foreignColumns: TArray$1<TString>;
102
+ declare const devEntityForeignKeySchema: alepha8.TObject<{
103
+ name: alepha8.TOptional<alepha8.TString>;
104
+ columns: alepha8.TArray<alepha8.TString>;
105
+ foreignEntity: alepha8.TString;
106
+ foreignColumns: alepha8.TArray<alepha8.TString>;
1375
107
  }>;
1376
- declare const devEntityConstraintSchema: TObject$1<{
1377
- name: TOptional<TString>;
1378
- columns: TArray$1<TString>;
1379
- unique: TBoolean;
1380
- hasCheck: TBoolean;
108
+ declare const devEntityConstraintSchema: alepha8.TObject<{
109
+ name: alepha8.TOptional<alepha8.TString>;
110
+ columns: alepha8.TArray<alepha8.TString>;
111
+ unique: alepha8.TBoolean;
112
+ hasCheck: alepha8.TBoolean;
1381
113
  }>;
1382
- declare const devEntityMetadataSchema: TObject$1<{
1383
- name: TString;
1384
- provider: TString;
1385
- columns: TArray$1<TObject$1<{
1386
- name: TString;
1387
- type: TString;
1388
- nullable: TBoolean;
1389
- primaryKey: TBoolean;
1390
- identity: TBoolean;
1391
- createdAt: TBoolean;
1392
- updatedAt: TBoolean;
1393
- deletedAt: TBoolean;
1394
- version: TBoolean;
1395
- hasDefault: TBoolean;
1396
- ref: TOptional<TObject$1<{
1397
- entity: TString;
1398
- column: TString;
1399
- onUpdate: TOptional<TString>;
1400
- onDelete: TOptional<TString>;
114
+ declare const devEntityMetadataSchema: alepha8.TObject<{
115
+ name: alepha8.TString;
116
+ provider: alepha8.TString;
117
+ columns: alepha8.TArray<alepha8.TObject<{
118
+ name: alepha8.TString;
119
+ type: alepha8.TString;
120
+ nullable: alepha8.TBoolean;
121
+ primaryKey: alepha8.TBoolean;
122
+ identity: alepha8.TBoolean;
123
+ createdAt: alepha8.TBoolean;
124
+ updatedAt: alepha8.TBoolean;
125
+ deletedAt: alepha8.TBoolean;
126
+ version: alepha8.TBoolean;
127
+ hasDefault: alepha8.TBoolean;
128
+ ref: alepha8.TOptional<alepha8.TObject<{
129
+ entity: alepha8.TString;
130
+ column: alepha8.TString;
131
+ onUpdate: alepha8.TOptional<alepha8.TString>;
132
+ onDelete: alepha8.TOptional<alepha8.TString>;
1401
133
  }>>;
1402
134
  }>>;
1403
- indexes: TArray$1<TObject$1<{
1404
- name: TOptional<TString>;
1405
- columns: TArray$1<TString>;
1406
- unique: TBoolean;
135
+ indexes: alepha8.TArray<alepha8.TObject<{
136
+ name: alepha8.TOptional<alepha8.TString>;
137
+ columns: alepha8.TArray<alepha8.TString>;
138
+ unique: alepha8.TBoolean;
1407
139
  }>>;
1408
- foreignKeys: TArray$1<TObject$1<{
1409
- name: TOptional<TString>;
1410
- columns: TArray$1<TString>;
1411
- foreignEntity: TString;
1412
- foreignColumns: TArray$1<TString>;
140
+ foreignKeys: alepha8.TArray<alepha8.TObject<{
141
+ name: alepha8.TOptional<alepha8.TString>;
142
+ columns: alepha8.TArray<alepha8.TString>;
143
+ foreignEntity: alepha8.TString;
144
+ foreignColumns: alepha8.TArray<alepha8.TString>;
1413
145
  }>>;
1414
- constraints: TArray$1<TObject$1<{
1415
- name: TOptional<TString>;
1416
- columns: TArray$1<TString>;
1417
- unique: TBoolean;
1418
- hasCheck: TBoolean;
146
+ constraints: alepha8.TArray<alepha8.TObject<{
147
+ name: alepha8.TOptional<alepha8.TString>;
148
+ columns: alepha8.TArray<alepha8.TString>;
149
+ unique: alepha8.TBoolean;
150
+ hasCheck: alepha8.TBoolean;
1419
151
  }>>;
1420
152
  }>;
1421
- type DevEntityColumn = Static$1<typeof devEntityColumnSchema>;
1422
- type DevEntityIndex = Static$1<typeof devEntityIndexSchema>;
1423
- type DevEntityForeignKey = Static$1<typeof devEntityForeignKeySchema>;
1424
- type DevEntityConstraint = Static$1<typeof devEntityConstraintSchema>;
1425
- type DevEntityMetadata = Static$1<typeof devEntityMetadataSchema>;
153
+ type DevEntityColumn = Static<typeof devEntityColumnSchema>;
154
+ type DevEntityIndex = Static<typeof devEntityIndexSchema>;
155
+ type DevEntityForeignKey = Static<typeof devEntityForeignKeySchema>;
156
+ type DevEntityConstraint = Static<typeof devEntityConstraintSchema>;
157
+ type DevEntityMetadata = Static<typeof devEntityMetadataSchema>;
1426
158
  //#endregion
1427
159
  //#region src/api/schemas/DevEnvMetadata.d.ts
1428
- declare const devEnvMetadataSchema: TObject$1<{
160
+ declare const devEnvMetadataSchema: alepha8.TObject<{
1429
161
  /**
1430
- * The property name in the service where $env is defined
1431
- */
1432
- propertyKey: TString;
162
+ * The property name in the service where $env is defined
163
+ */
164
+ propertyKey: alepha8.TString;
1433
165
  /**
1434
- * The schema for the environment variables (TypeBox/JSON Schema)
1435
- */
1436
- schema: TAny;
166
+ * The schema for the environment variables (TypeBox/JSON Schema)
167
+ */
168
+ schema: alepha8.TAny;
1437
169
  /**
1438
- * The parsed values from the environment
1439
- */
1440
- values: TRecord<"^.*$", TAny>;
170
+ * The parsed values from the environment
171
+ */
172
+ values: alepha8.TRecord<"^.*$", alepha8.TAny>;
1441
173
  /**
1442
- * The service class name where this $env is defined
1443
- */
1444
- serviceName: TOptional<TString>;
174
+ * The service class name where this $env is defined
175
+ */
176
+ serviceName: alepha8.TOptional<alepha8.TString>;
1445
177
  }>;
1446
- type DevEnvMetadata = Static$1<typeof devEnvMetadataSchema>;
178
+ type DevEnvMetadata = Static<typeof devEnvMetadataSchema>;
1447
179
  //#endregion
1448
180
  //#region src/api/schemas/DevMetadata.d.ts
1449
- declare const devMetadataSchema: TObject$1<{
1450
- actions: TArray$1<TObject$1<{
1451
- name: TString;
1452
- group: TString;
1453
- method: TString;
1454
- path: TString;
1455
- prefix: TString;
1456
- fullPath: TString;
1457
- description: TOptional<TString>;
1458
- summary: TOptional<TString>;
1459
- disabled: TOptional<TBoolean>;
1460
- secure: TOptional<TBoolean>;
1461
- hide: TOptional<TBoolean>;
1462
- body: TOptional<TAny>;
1463
- params: TOptional<TAny>;
1464
- query: TOptional<TAny>;
1465
- response: TOptional<TAny>;
1466
- bodyContentType: TOptional<TString>;
181
+ declare const devMetadataSchema: alepha8.TObject<{
182
+ actions: alepha8.TArray<alepha8.TObject<{
183
+ name: alepha8.TString;
184
+ group: alepha8.TString;
185
+ method: alepha8.TString;
186
+ path: alepha8.TString;
187
+ prefix: alepha8.TString;
188
+ fullPath: alepha8.TString;
189
+ description: alepha8.TOptional<alepha8.TString>;
190
+ summary: alepha8.TOptional<alepha8.TString>;
191
+ disabled: alepha8.TOptional<alepha8.TBoolean>;
192
+ secure: alepha8.TOptional<alepha8.TBoolean>;
193
+ hide: alepha8.TOptional<alepha8.TBoolean>;
194
+ body: alepha8.TOptional<alepha8.TAny>;
195
+ params: alepha8.TOptional<alepha8.TAny>;
196
+ query: alepha8.TOptional<alepha8.TAny>;
197
+ response: alepha8.TOptional<alepha8.TAny>;
198
+ bodyContentType: alepha8.TOptional<alepha8.TString>;
1467
199
  }>>;
1468
- queues: TArray$1<TObject$1<{
1469
- name: TString;
1470
- description: TOptional<TString>;
1471
- schema: TOptional<TAny>;
1472
- provider: TString;
200
+ queues: alepha8.TArray<alepha8.TObject<{
201
+ name: alepha8.TString;
202
+ description: alepha8.TOptional<alepha8.TString>;
203
+ schema: alepha8.TOptional<alepha8.TAny>;
204
+ provider: alepha8.TString;
1473
205
  }>>;
1474
- schedulers: TArray$1<TObject$1<{
1475
- name: TString;
1476
- description: TOptional<TString>;
1477
- cron: TOptional<TString>;
1478
- interval: TOptional<TAny>;
1479
- lock: TOptional<TBoolean>;
206
+ schedulers: alepha8.TArray<alepha8.TObject<{
207
+ name: alepha8.TString;
208
+ description: alepha8.TOptional<alepha8.TString>;
209
+ cron: alepha8.TOptional<alepha8.TString>;
210
+ interval: alepha8.TOptional<alepha8.TAny>;
211
+ lock: alepha8.TOptional<alepha8.TBoolean>;
1480
212
  }>>;
1481
- topics: TArray$1<TObject$1<{
1482
- name: TString;
1483
- description: TOptional<TString>;
1484
- schema: TOptional<TAny>;
1485
- provider: TString;
213
+ topics: alepha8.TArray<alepha8.TObject<{
214
+ name: alepha8.TString;
215
+ description: alepha8.TOptional<alepha8.TString>;
216
+ schema: alepha8.TOptional<alepha8.TAny>;
217
+ provider: alepha8.TString;
1486
218
  }>>;
1487
- buckets: TArray$1<TObject$1<{
1488
- name: TString;
1489
- description: TOptional<TString>;
1490
- mimeTypes: TOptional<TArray$1<TString>>;
1491
- maxSize: TOptional<TNumber>;
1492
- provider: TString;
219
+ buckets: alepha8.TArray<alepha8.TObject<{
220
+ name: alepha8.TString;
221
+ description: alepha8.TOptional<alepha8.TString>;
222
+ mimeTypes: alepha8.TOptional<alepha8.TArray<alepha8.TString>>;
223
+ maxSize: alepha8.TOptional<alepha8.TNumber>;
224
+ provider: alepha8.TString;
1493
225
  }>>;
1494
- realms: TArray$1<TObject$1<{
1495
- name: TString;
1496
- description: TOptional<TString>;
1497
- roles: TOptional<TArray$1<TAny>>;
1498
- type: TUnsafe<"internal" | "external">;
1499
- settings: TOptional<TObject$1<{
1500
- accessTokenExpiration: TOptional<TAny>;
1501
- refreshTokenExpiration: TOptional<TAny>;
1502
- hasOnCreateSession: TBoolean;
1503
- hasOnRefreshSession: TBoolean;
1504
- hasOnDeleteSession: TBoolean;
226
+ realms: alepha8.TArray<alepha8.TObject<{
227
+ name: alepha8.TString;
228
+ description: alepha8.TOptional<alepha8.TString>;
229
+ roles: alepha8.TOptional<alepha8.TArray<alepha8.TAny>>;
230
+ type: alepha8.TUnsafe<"internal" | "external">;
231
+ settings: alepha8.TOptional<alepha8.TObject<{
232
+ accessTokenExpiration: alepha8.TOptional<alepha8.TAny>;
233
+ refreshTokenExpiration: alepha8.TOptional<alepha8.TAny>;
234
+ hasOnCreateSession: alepha8.TBoolean;
235
+ hasOnRefreshSession: alepha8.TBoolean;
236
+ hasOnDeleteSession: alepha8.TBoolean;
1505
237
  }>>;
1506
238
  }>>;
1507
- caches: TArray$1<TObject$1<{
1508
- name: TString;
1509
- ttl: TOptional<TAny>;
1510
- disabled: TOptional<TBoolean>;
1511
- provider: TString;
239
+ caches: alepha8.TArray<alepha8.TObject<{
240
+ name: alepha8.TString;
241
+ ttl: alepha8.TOptional<alepha8.TAny>;
242
+ disabled: alepha8.TOptional<alepha8.TBoolean>;
243
+ provider: alepha8.TString;
1512
244
  }>>;
1513
- pages: TArray$1<TObject$1<{
1514
- name: TString;
1515
- description: TOptional<TString>;
1516
- path: TOptional<TString>;
1517
- params: TOptional<TAny>;
1518
- query: TOptional<TAny>;
1519
- hasComponent: TBoolean;
1520
- hasLazy: TBoolean;
1521
- hasResolve: TBoolean;
1522
- hasChildren: TBoolean;
1523
- hasParent: TBoolean;
1524
- hasErrorHandler: TBoolean;
1525
- static: TOptional<TBoolean>;
1526
- cache: TOptional<TAny>;
1527
- client: TOptional<TAny>;
1528
- animation: TOptional<TAny>;
245
+ pages: alepha8.TArray<alepha8.TObject<{
246
+ name: alepha8.TString;
247
+ description: alepha8.TOptional<alepha8.TString>;
248
+ path: alepha8.TOptional<alepha8.TString>;
249
+ params: alepha8.TOptional<alepha8.TAny>;
250
+ query: alepha8.TOptional<alepha8.TAny>;
251
+ hasComponent: alepha8.TBoolean;
252
+ hasLazy: alepha8.TBoolean;
253
+ hasResolve: alepha8.TBoolean;
254
+ hasChildren: alepha8.TBoolean;
255
+ hasParent: alepha8.TBoolean;
256
+ hasErrorHandler: alepha8.TBoolean;
257
+ static: alepha8.TOptional<alepha8.TBoolean>;
258
+ cache: alepha8.TOptional<alepha8.TAny>;
259
+ client: alepha8.TOptional<alepha8.TAny>;
260
+ animation: alepha8.TOptional<alepha8.TAny>;
1529
261
  }>>;
1530
- providers: TArray$1<TObject$1<{
1531
- name: TString;
1532
- module: TOptional<TString>;
1533
- dependencies: TArray$1<TString>;
1534
- aliases: TOptional<TArray$1<TString>>;
262
+ providers: alepha8.TArray<alepha8.TObject<{
263
+ name: alepha8.TString;
264
+ module: alepha8.TOptional<alepha8.TString>;
265
+ dependencies: alepha8.TArray<alepha8.TString>;
266
+ aliases: alepha8.TOptional<alepha8.TArray<alepha8.TString>>;
1535
267
  }>>;
1536
- modules: TArray$1<TObject$1<{
1537
- name: TString;
1538
- providers: TArray$1<TString>;
268
+ modules: alepha8.TArray<alepha8.TObject<{
269
+ name: alepha8.TString;
270
+ providers: alepha8.TArray<alepha8.TString>;
1539
271
  }>>;
1540
- entities: TArray$1<TObject$1<{
1541
- name: TString;
1542
- provider: TString;
1543
- columns: TArray$1<TObject$1<{
1544
- name: TString;
1545
- type: TString;
1546
- nullable: TBoolean;
1547
- primaryKey: TBoolean;
1548
- identity: TBoolean;
1549
- createdAt: TBoolean;
1550
- updatedAt: TBoolean;
1551
- deletedAt: TBoolean;
1552
- version: TBoolean;
1553
- hasDefault: TBoolean;
1554
- ref: TOptional<TObject$1<{
1555
- entity: TString;
1556
- column: TString;
1557
- onUpdate: TOptional<TString>;
1558
- onDelete: TOptional<TString>;
272
+ entities: alepha8.TArray<alepha8.TObject<{
273
+ name: alepha8.TString;
274
+ provider: alepha8.TString;
275
+ columns: alepha8.TArray<alepha8.TObject<{
276
+ name: alepha8.TString;
277
+ type: alepha8.TString;
278
+ nullable: alepha8.TBoolean;
279
+ primaryKey: alepha8.TBoolean;
280
+ identity: alepha8.TBoolean;
281
+ createdAt: alepha8.TBoolean;
282
+ updatedAt: alepha8.TBoolean;
283
+ deletedAt: alepha8.TBoolean;
284
+ version: alepha8.TBoolean;
285
+ hasDefault: alepha8.TBoolean;
286
+ ref: alepha8.TOptional<alepha8.TObject<{
287
+ entity: alepha8.TString;
288
+ column: alepha8.TString;
289
+ onUpdate: alepha8.TOptional<alepha8.TString>;
290
+ onDelete: alepha8.TOptional<alepha8.TString>;
1559
291
  }>>;
1560
292
  }>>;
1561
- indexes: TArray$1<TObject$1<{
1562
- name: TOptional<TString>;
1563
- columns: TArray$1<TString>;
1564
- unique: TBoolean;
293
+ indexes: alepha8.TArray<alepha8.TObject<{
294
+ name: alepha8.TOptional<alepha8.TString>;
295
+ columns: alepha8.TArray<alepha8.TString>;
296
+ unique: alepha8.TBoolean;
1565
297
  }>>;
1566
- foreignKeys: TArray$1<TObject$1<{
1567
- name: TOptional<TString>;
1568
- columns: TArray$1<TString>;
1569
- foreignEntity: TString;
1570
- foreignColumns: TArray$1<TString>;
298
+ foreignKeys: alepha8.TArray<alepha8.TObject<{
299
+ name: alepha8.TOptional<alepha8.TString>;
300
+ columns: alepha8.TArray<alepha8.TString>;
301
+ foreignEntity: alepha8.TString;
302
+ foreignColumns: alepha8.TArray<alepha8.TString>;
1571
303
  }>>;
1572
- constraints: TArray$1<TObject$1<{
1573
- name: TOptional<TString>;
1574
- columns: TArray$1<TString>;
1575
- unique: TBoolean;
1576
- hasCheck: TBoolean;
304
+ constraints: alepha8.TArray<alepha8.TObject<{
305
+ name: alepha8.TOptional<alepha8.TString>;
306
+ columns: alepha8.TArray<alepha8.TString>;
307
+ unique: alepha8.TBoolean;
308
+ hasCheck: alepha8.TBoolean;
1577
309
  }>>;
1578
310
  }>>;
1579
- commands: TArray$1<TObject$1<{
1580
- name: TString;
1581
- description: TOptional<TString>;
1582
- hidden: TOptional<TBoolean>;
311
+ commands: alepha8.TArray<alepha8.TObject<{
312
+ name: alepha8.TString;
313
+ description: alepha8.TOptional<alepha8.TString>;
314
+ hidden: alepha8.TOptional<alepha8.TBoolean>;
1583
315
  }>>;
1584
- routes: TArray$1<TObject$1<{
1585
- method: TString;
1586
- path: TString;
316
+ routes: alepha8.TArray<alepha8.TObject<{
317
+ method: alepha8.TString;
318
+ path: alepha8.TString;
1587
319
  }>>;
1588
- envs: TArray$1<TObject$1<{
1589
- propertyKey: TString;
1590
- schema: TAny;
1591
- values: TRecord<"^.*$", TAny>;
1592
- serviceName: TOptional<TString>;
320
+ envs: alepha8.TArray<alepha8.TObject<{
321
+ propertyKey: alepha8.TString;
322
+ schema: alepha8.TAny;
323
+ values: alepha8.TRecord<"^.*$", alepha8.TAny>;
324
+ serviceName: alepha8.TOptional<alepha8.TString>;
1593
325
  }>>;
1594
- atoms: TArray$1<TObject$1<{
1595
- name: TString;
1596
- description: TOptional<TString>;
1597
- schema: TAny;
1598
- defaultValue: TOptional<TAny>;
1599
- currentValue: TOptional<TAny>;
326
+ atoms: alepha8.TArray<alepha8.TObject<{
327
+ name: alepha8.TString;
328
+ description: alepha8.TOptional<alepha8.TString>;
329
+ schema: alepha8.TAny;
330
+ defaultValue: alepha8.TOptional<alepha8.TAny>;
331
+ currentValue: alepha8.TOptional<alepha8.TAny>;
1600
332
  }>>;
1601
333
  }>;
1602
- type DevMetadata = Static$1<typeof devMetadataSchema>;
334
+ type DevMetadata = Static<typeof devMetadataSchema>;
1603
335
  //#endregion
1604
336
  //#region src/api/schemas/DevModuleMetadata.d.ts
1605
- declare const devModuleMetadataSchema: TObject$1<{
1606
- name: TString;
1607
- providers: TArray$1<TString>;
337
+ declare const devModuleMetadataSchema: alepha8.TObject<{
338
+ name: alepha8.TString;
339
+ providers: alepha8.TArray<alepha8.TString>;
1608
340
  }>;
1609
- type DevModuleMetadata = Static$1<typeof devModuleMetadataSchema>;
341
+ type DevModuleMetadata = Static<typeof devModuleMetadataSchema>;
1610
342
  //#endregion
1611
343
  //#region src/api/schemas/DevPageMetadata.d.ts
1612
- declare const devPageMetadataSchema: TObject$1<{
1613
- name: TString;
1614
- description: TOptional<TString>;
1615
- path: TOptional<TString>;
1616
- params: TOptional<TAny>;
1617
- query: TOptional<TAny>;
1618
- hasComponent: TBoolean;
1619
- hasLazy: TBoolean;
1620
- hasResolve: TBoolean;
1621
- hasChildren: TBoolean;
1622
- hasParent: TBoolean;
1623
- hasErrorHandler: TBoolean;
1624
- static: TOptional<TBoolean>;
1625
- cache: TOptional<TAny>;
1626
- client: TOptional<TAny>;
1627
- animation: TOptional<TAny>;
344
+ declare const devPageMetadataSchema: alepha8.TObject<{
345
+ name: alepha8.TString;
346
+ description: alepha8.TOptional<alepha8.TString>;
347
+ path: alepha8.TOptional<alepha8.TString>;
348
+ params: alepha8.TOptional<alepha8.TAny>;
349
+ query: alepha8.TOptional<alepha8.TAny>;
350
+ hasComponent: alepha8.TBoolean;
351
+ hasLazy: alepha8.TBoolean;
352
+ hasResolve: alepha8.TBoolean;
353
+ hasChildren: alepha8.TBoolean;
354
+ hasParent: alepha8.TBoolean;
355
+ hasErrorHandler: alepha8.TBoolean;
356
+ static: alepha8.TOptional<alepha8.TBoolean>;
357
+ cache: alepha8.TOptional<alepha8.TAny>;
358
+ client: alepha8.TOptional<alepha8.TAny>;
359
+ animation: alepha8.TOptional<alepha8.TAny>;
1628
360
  }>;
1629
- type DevPageMetadata = Static$1<typeof devPageMetadataSchema>;
361
+ type DevPageMetadata = Static<typeof devPageMetadataSchema>;
1630
362
  //#endregion
1631
363
  //#region src/api/schemas/DevProviderMetadata.d.ts
1632
- declare const devProviderMetadataSchema: TObject$1<{
1633
- name: TString;
1634
- module: TOptional<TString>;
1635
- dependencies: TArray$1<TString>;
1636
- aliases: TOptional<TArray$1<TString>>;
364
+ declare const devProviderMetadataSchema: alepha8.TObject<{
365
+ name: alepha8.TString;
366
+ module: alepha8.TOptional<alepha8.TString>;
367
+ dependencies: alepha8.TArray<alepha8.TString>;
368
+ aliases: alepha8.TOptional<alepha8.TArray<alepha8.TString>>;
1637
369
  }>;
1638
- type DevProviderMetadata = Static$1<typeof devProviderMetadataSchema>;
370
+ type DevProviderMetadata = Static<typeof devProviderMetadataSchema>;
1639
371
  //#endregion
1640
372
  //#region src/api/schemas/DevQueueMetadata.d.ts
1641
- declare const devQueueMetadataSchema: TObject$1<{
1642
- name: TString;
1643
- description: TOptional<TString>;
1644
- schema: TOptional<TAny>;
1645
- provider: TString;
373
+ declare const devQueueMetadataSchema: alepha8.TObject<{
374
+ name: alepha8.TString;
375
+ description: alepha8.TOptional<alepha8.TString>;
376
+ schema: alepha8.TOptional<alepha8.TAny>;
377
+ provider: alepha8.TString;
1646
378
  }>;
1647
- type DevQueueMetadata = Static$1<typeof devQueueMetadataSchema>;
379
+ type DevQueueMetadata = Static<typeof devQueueMetadataSchema>;
1648
380
  //#endregion
1649
381
  //#region src/api/schemas/DevRealmMetadata.d.ts
1650
- declare const devRealmMetadataSchema: TObject$1<{
1651
- name: TString;
1652
- description: TOptional<TString>;
1653
- roles: TOptional<TArray$1<TAny>>;
1654
- type: TUnsafe<"internal" | "external">;
1655
- settings: TOptional<TObject$1<{
1656
- accessTokenExpiration: TOptional<TAny>;
1657
- refreshTokenExpiration: TOptional<TAny>;
1658
- hasOnCreateSession: TBoolean;
1659
- hasOnRefreshSession: TBoolean;
1660
- hasOnDeleteSession: TBoolean;
382
+ declare const devRealmMetadataSchema: alepha8.TObject<{
383
+ name: alepha8.TString;
384
+ description: alepha8.TOptional<alepha8.TString>;
385
+ roles: alepha8.TOptional<alepha8.TArray<alepha8.TAny>>;
386
+ type: alepha8.TUnsafe<"internal" | "external">;
387
+ settings: alepha8.TOptional<alepha8.TObject<{
388
+ accessTokenExpiration: alepha8.TOptional<alepha8.TAny>;
389
+ refreshTokenExpiration: alepha8.TOptional<alepha8.TAny>;
390
+ hasOnCreateSession: alepha8.TBoolean;
391
+ hasOnRefreshSession: alepha8.TBoolean;
392
+ hasOnDeleteSession: alepha8.TBoolean;
1661
393
  }>>;
1662
394
  }>;
1663
- type DevRealmMetadata = Static$1<typeof devRealmMetadataSchema>;
395
+ type DevRealmMetadata = Static<typeof devRealmMetadataSchema>;
1664
396
  //#endregion
1665
397
  //#region src/api/schemas/DevRouteMetadata.d.ts
1666
- declare const devRouteMetadataSchema: TObject$1<{
1667
- method: TString;
1668
- path: TString;
398
+ declare const devRouteMetadataSchema: alepha8.TObject<{
399
+ method: alepha8.TString;
400
+ path: alepha8.TString;
1669
401
  }>;
1670
- type DevRouteMetadata = Static$1<typeof devRouteMetadataSchema>;
402
+ type DevRouteMetadata = Static<typeof devRouteMetadataSchema>;
1671
403
  //#endregion
1672
404
  //#region src/api/schemas/DevSchedulerMetadata.d.ts
1673
- declare const devSchedulerMetadataSchema: TObject$1<{
1674
- name: TString;
1675
- description: TOptional<TString>;
1676
- cron: TOptional<TString>;
1677
- interval: TOptional<TAny>;
1678
- lock: TOptional<TBoolean>;
405
+ declare const devSchedulerMetadataSchema: alepha8.TObject<{
406
+ name: alepha8.TString;
407
+ description: alepha8.TOptional<alepha8.TString>;
408
+ cron: alepha8.TOptional<alepha8.TString>;
409
+ interval: alepha8.TOptional<alepha8.TAny>;
410
+ lock: alepha8.TOptional<alepha8.TBoolean>;
1679
411
  }>;
1680
- type DevSchedulerMetadata = Static$1<typeof devSchedulerMetadataSchema>;
412
+ type DevSchedulerMetadata = Static<typeof devSchedulerMetadataSchema>;
1681
413
  //#endregion
1682
414
  //#region src/api/schemas/DevTopicMetadata.d.ts
1683
- declare const devTopicMetadataSchema: TObject$1<{
1684
- name: TString;
1685
- description: TOptional<TString>;
1686
- schema: TOptional<TAny>;
1687
- provider: TString;
415
+ declare const devTopicMetadataSchema: alepha8.TObject<{
416
+ name: alepha8.TString;
417
+ description: alepha8.TOptional<alepha8.TString>;
418
+ schema: alepha8.TOptional<alepha8.TAny>;
419
+ provider: alepha8.TString;
1688
420
  }>;
1689
- type DevTopicMetadata = Static$1<typeof devTopicMetadataSchema>;
421
+ type DevTopicMetadata = Static<typeof devTopicMetadataSchema>;
1690
422
  //#endregion
1691
423
  //#region src/api/providers/DevToolsMetadataProvider.d.ts
1692
424
  declare class DevToolsMetadataProvider {
1693
425
  protected readonly alepha: Alepha;
1694
- protected readonly log: Logger;
426
+ protected readonly log: alepha_logger0.Logger;
1695
427
  getActions(): DevActionMetadata[];
1696
428
  getQueues(): DevQueueMetadata[];
1697
429
  getSchedulers(): DevSchedulerMetadata[];
@@ -1703,8 +435,8 @@ declare class DevToolsMetadataProvider {
1703
435
  getProviders(): DevProviderMetadata[];
1704
436
  getModules(): DevModuleMetadata[];
1705
437
  getEntities(): DevEntityMetadata[];
1706
- protected getColumnType(field: TSchema$1): string;
1707
- protected isNullable(field: TSchema$1): boolean;
438
+ protected getColumnType(field: TSchema): string;
439
+ protected isNullable(field: TSchema): boolean;
1708
440
  getCommands(): DevCommandMetadata[];
1709
441
  getRoutes(): DevRouteMetadata[];
1710
442
  getEnvs(): DevEnvMetadata[];
@@ -1723,7 +455,7 @@ declare class DevToolsMetadataProvider {
1723
455
  * @see {@link DevToolsMetadataProvider}
1724
456
  * @module alepha.devtools
1725
457
  */
1726
- declare const AlephaDevtools: Service<Module>;
458
+ declare const AlephaDevtools: alepha8.Service<alepha8.Module>;
1727
459
  //#endregion
1728
460
  export { AlephaDevtools, DevActionMetadata, DevBucketMetadata, DevCacheMetadata, DevCommandMetadata, DevEntityColumn, DevEntityConstraint, DevEntityForeignKey, DevEntityIndex, DevEntityMetadata, DevMetadata, DevModuleMetadata, DevPageMetadata, DevProviderMetadata, DevQueueMetadata, DevRealmMetadata, DevRouteMetadata, DevSchedulerMetadata, DevToolsMetadataProvider, DevTopicMetadata, devActionMetadataSchema, devBucketMetadataSchema, devCacheMetadataSchema, devCommandMetadataSchema, devEntityColumnSchema, devEntityConstraintSchema, devEntityForeignKeySchema, devEntityIndexSchema, devEntityMetadataSchema, devMetadataSchema, devModuleMetadataSchema, devPageMetadataSchema, devProviderMetadataSchema, devQueueMetadataSchema, devRealmMetadataSchema, devRouteMetadataSchema, devSchedulerMetadataSchema, devTopicMetadataSchema };
1729
461
  //# sourceMappingURL=index.d.ts.map