@navios/core 0.7.0 → 0.7.1

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 (211) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/{index-BFwNx9WQ.d.cts → index-DW9EPAE6.d.mts} +222 -17
  3. package/lib/index-DW9EPAE6.d.mts.map +1 -0
  4. package/lib/{index-D657ijFO.d.mts → index-pHp-dIGt.d.cts} +222 -17
  5. package/lib/index-pHp-dIGt.d.cts.map +1 -0
  6. package/lib/index.cjs +5 -5
  7. package/lib/index.d.cts +2 -2
  8. package/lib/index.d.mts +2 -2
  9. package/lib/index.mjs +1 -1
  10. package/lib/legacy-compat/index.cjs +1 -1
  11. package/lib/legacy-compat/index.d.cts +1 -1
  12. package/lib/legacy-compat/index.d.cts.map +1 -1
  13. package/lib/legacy-compat/index.d.mts +1 -1
  14. package/lib/legacy-compat/index.d.mts.map +1 -1
  15. package/lib/{src-DzPY5s6d.mjs → src-DyvCDuKO.mjs} +121 -31
  16. package/lib/src-DyvCDuKO.mjs.map +1 -0
  17. package/lib/{src-Cb1aTjl0.cjs → src-QnxR5b7c.cjs} +164 -74
  18. package/lib/src-QnxR5b7c.cjs.map +1 -0
  19. package/lib/testing/index.cjs +6 -6
  20. package/lib/testing/index.cjs.map +1 -1
  21. package/lib/testing/index.d.cts +1 -1
  22. package/lib/testing/index.d.mts +1 -1
  23. package/lib/testing/index.mjs +1 -1
  24. package/lib/{use-guards.decorator-DdvUhB03.cjs → use-guards.decorator-B6q_N0sf.cjs} +17 -17
  25. package/lib/{use-guards.decorator-DdvUhB03.cjs.map → use-guards.decorator-B6q_N0sf.cjs.map} +1 -1
  26. package/package.json +12 -12
  27. package/src/interfaces/abstract-http-adapter.interface.mts +52 -0
  28. package/src/interfaces/index.mts +1 -0
  29. package/src/interfaces/plugin.interface.mts +105 -0
  30. package/src/logger/logger.service.mts +5 -3
  31. package/src/navios.application.mts +77 -27
  32. package/src/navios.factory.mts +10 -9
  33. package/src/services/module-loader.service.mts +102 -1
  34. package/lib/index-BFwNx9WQ.d.cts.map +0 -1
  35. package/lib/index-D657ijFO.d.mts.map +0 -1
  36. package/lib/src-Cb1aTjl0.cjs.map +0 -1
  37. package/lib/src-DzPY5s6d.mjs.map +0 -1
  38. package/src/attribute.factory.d.mts +0 -175
  39. package/src/attribute.factory.d.mts.map +0 -1
  40. package/src/config/config-service.interface.d.mts +0 -39
  41. package/src/config/config-service.interface.d.mts.map +0 -1
  42. package/src/config/config.provider.d.mts +0 -46
  43. package/src/config/config.provider.d.mts.map +0 -1
  44. package/src/config/config.service.d.mts +0 -108
  45. package/src/config/config.service.d.mts.map +0 -1
  46. package/src/config/index.d.mts +0 -6
  47. package/src/config/index.d.mts.map +0 -1
  48. package/src/config/types.d.mts +0 -13
  49. package/src/config/types.d.mts.map +0 -1
  50. package/src/config/utils/helpers.d.mts +0 -3
  51. package/src/config/utils/helpers.d.mts.map +0 -1
  52. package/src/config/utils/index.d.mts +0 -2
  53. package/src/config/utils/index.d.mts.map +0 -1
  54. package/src/decorators/controller.decorator.d.mts +0 -33
  55. package/src/decorators/controller.decorator.d.mts.map +0 -1
  56. package/src/decorators/endpoint.decorator.d.mts +0 -89
  57. package/src/decorators/endpoint.decorator.d.mts.map +0 -1
  58. package/src/decorators/header.decorator.d.mts +0 -22
  59. package/src/decorators/header.decorator.d.mts.map +0 -1
  60. package/src/decorators/http-code.decorator.d.mts +0 -22
  61. package/src/decorators/http-code.decorator.d.mts.map +0 -1
  62. package/src/decorators/index.d.mts +0 -9
  63. package/src/decorators/index.d.mts.map +0 -1
  64. package/src/decorators/module.decorator.d.mts +0 -42
  65. package/src/decorators/module.decorator.d.mts.map +0 -1
  66. package/src/decorators/multipart.decorator.d.mts +0 -54
  67. package/src/decorators/multipart.decorator.d.mts.map +0 -1
  68. package/src/decorators/stream.decorator.d.mts +0 -42
  69. package/src/decorators/stream.decorator.d.mts.map +0 -1
  70. package/src/decorators/use-guards.decorator.d.mts +0 -33
  71. package/src/decorators/use-guards.decorator.d.mts.map +0 -1
  72. package/src/exceptions/bad-request.exception.d.mts +0 -26
  73. package/src/exceptions/bad-request.exception.d.mts.map +0 -1
  74. package/src/exceptions/conflict.exception.d.mts +0 -29
  75. package/src/exceptions/conflict.exception.d.mts.map +0 -1
  76. package/src/exceptions/forbidden.exception.d.mts +0 -28
  77. package/src/exceptions/forbidden.exception.d.mts.map +0 -1
  78. package/src/exceptions/http.exception.d.mts +0 -33
  79. package/src/exceptions/http.exception.d.mts.map +0 -1
  80. package/src/exceptions/index.d.mts +0 -8
  81. package/src/exceptions/index.d.mts.map +0 -1
  82. package/src/exceptions/internal-server-error.exception.d.mts +0 -31
  83. package/src/exceptions/internal-server-error.exception.d.mts.map +0 -1
  84. package/src/exceptions/not-found.exception.d.mts +0 -30
  85. package/src/exceptions/not-found.exception.d.mts.map +0 -1
  86. package/src/exceptions/unauthorized.exception.d.mts +0 -28
  87. package/src/exceptions/unauthorized.exception.d.mts.map +0 -1
  88. package/src/factories/endpoint-adapter.factory.d.mts +0 -6
  89. package/src/factories/endpoint-adapter.factory.d.mts.map +0 -1
  90. package/src/factories/http-adapter.factory.d.mts +0 -6
  91. package/src/factories/http-adapter.factory.d.mts.map +0 -1
  92. package/src/factories/index.d.mts +0 -8
  93. package/src/factories/index.d.mts.map +0 -1
  94. package/src/factories/multipart-adapter.factory.d.mts +0 -6
  95. package/src/factories/multipart-adapter.factory.d.mts.map +0 -1
  96. package/src/factories/reply.factory.d.mts +0 -6
  97. package/src/factories/reply.factory.d.mts.map +0 -1
  98. package/src/factories/request.factory.d.mts +0 -6
  99. package/src/factories/request.factory.d.mts.map +0 -1
  100. package/src/factories/stream-adapter.factory.d.mts +0 -6
  101. package/src/factories/stream-adapter.factory.d.mts.map +0 -1
  102. package/src/factories/xml-stream-adapter.factory.d.mts +0 -6
  103. package/src/factories/xml-stream-adapter.factory.d.mts.map +0 -1
  104. package/src/index.d.mts +0 -15
  105. package/src/index.d.mts.map +0 -1
  106. package/src/interfaces/abstract-execution-context.inteface.d.mts +0 -44
  107. package/src/interfaces/abstract-execution-context.inteface.d.mts.map +0 -1
  108. package/src/interfaces/abstract-http-adapter.interface.d.mts +0 -15
  109. package/src/interfaces/abstract-http-adapter.interface.d.mts.map +0 -1
  110. package/src/interfaces/abstract-http-cors-options.interface.d.mts +0 -58
  111. package/src/interfaces/abstract-http-cors-options.interface.d.mts.map +0 -1
  112. package/src/interfaces/abstract-http-handler-adapter.interface.d.mts +0 -7
  113. package/src/interfaces/abstract-http-handler-adapter.interface.d.mts.map +0 -1
  114. package/src/interfaces/abstract-http-listen-options.interface.d.mts +0 -5
  115. package/src/interfaces/abstract-http-listen-options.interface.d.mts.map +0 -1
  116. package/src/interfaces/can-activate.d.mts +0 -36
  117. package/src/interfaces/can-activate.d.mts.map +0 -1
  118. package/src/interfaces/http-header.d.mts +0 -10
  119. package/src/interfaces/http-header.d.mts.map +0 -1
  120. package/src/interfaces/index.d.mts +0 -9
  121. package/src/interfaces/index.d.mts.map +0 -1
  122. package/src/interfaces/navios-module.d.mts +0 -29
  123. package/src/interfaces/navios-module.d.mts.map +0 -1
  124. package/src/legacy-compat/context-compat.d.mts +0 -19
  125. package/src/legacy-compat/context-compat.d.mts.map +0 -1
  126. package/src/legacy-compat/decorators/controller.decorator.d.mts +0 -21
  127. package/src/legacy-compat/decorators/controller.decorator.d.mts.map +0 -1
  128. package/src/legacy-compat/decorators/endpoint.decorator.d.mts +0 -33
  129. package/src/legacy-compat/decorators/endpoint.decorator.d.mts.map +0 -1
  130. package/src/legacy-compat/decorators/header.decorator.d.mts +0 -24
  131. package/src/legacy-compat/decorators/header.decorator.d.mts.map +0 -1
  132. package/src/legacy-compat/decorators/http-code.decorator.d.mts +0 -22
  133. package/src/legacy-compat/decorators/http-code.decorator.d.mts.map +0 -1
  134. package/src/legacy-compat/decorators/index.d.mts +0 -9
  135. package/src/legacy-compat/decorators/index.d.mts.map +0 -1
  136. package/src/legacy-compat/decorators/module.decorator.d.mts +0 -22
  137. package/src/legacy-compat/decorators/module.decorator.d.mts.map +0 -1
  138. package/src/legacy-compat/decorators/multipart.decorator.d.mts +0 -34
  139. package/src/legacy-compat/decorators/multipart.decorator.d.mts.map +0 -1
  140. package/src/legacy-compat/decorators/stream.decorator.d.mts +0 -34
  141. package/src/legacy-compat/decorators/stream.decorator.d.mts.map +0 -1
  142. package/src/legacy-compat/decorators/use-guards.decorator.d.mts +0 -29
  143. package/src/legacy-compat/decorators/use-guards.decorator.d.mts.map +0 -1
  144. package/src/legacy-compat/index.d.mts +0 -19
  145. package/src/legacy-compat/index.d.mts.map +0 -1
  146. package/src/logger/console-logger.service.d.mts +0 -196
  147. package/src/logger/console-logger.service.d.mts.map +0 -1
  148. package/src/logger/index.d.mts +0 -7
  149. package/src/logger/index.d.mts.map +0 -1
  150. package/src/logger/log-levels.d.mts +0 -14
  151. package/src/logger/log-levels.d.mts.map +0 -1
  152. package/src/logger/logger-service.interface.d.mts +0 -36
  153. package/src/logger/logger-service.interface.d.mts.map +0 -1
  154. package/src/logger/logger.service.d.mts +0 -57
  155. package/src/logger/logger.service.d.mts.map +0 -1
  156. package/src/logger/logger.tokens.d.mts +0 -36
  157. package/src/logger/logger.tokens.d.mts.map +0 -1
  158. package/src/logger/utils/cli-colors.util.d.mts +0 -10
  159. package/src/logger/utils/cli-colors.util.d.mts.map +0 -1
  160. package/src/logger/utils/filter-log-levelts.util.d.mts +0 -6
  161. package/src/logger/utils/filter-log-levelts.util.d.mts.map +0 -1
  162. package/src/logger/utils/index.d.mts +0 -6
  163. package/src/logger/utils/index.d.mts.map +0 -1
  164. package/src/logger/utils/is-log-level-enabled.d.mts +0 -8
  165. package/src/logger/utils/is-log-level-enabled.d.mts.map +0 -1
  166. package/src/logger/utils/is-log-level.util.d.mts +0 -6
  167. package/src/logger/utils/is-log-level.util.d.mts.map +0 -1
  168. package/src/logger/utils/shared.utils.d.mts +0 -14
  169. package/src/logger/utils/shared.utils.d.mts.map +0 -1
  170. package/src/metadata/controller.metadata.d.mts +0 -13
  171. package/src/metadata/controller.metadata.d.mts.map +0 -1
  172. package/src/metadata/handler.metadata.d.mts +0 -18
  173. package/src/metadata/handler.metadata.d.mts.map +0 -1
  174. package/src/metadata/index.d.mts +0 -4
  175. package/src/metadata/index.d.mts.map +0 -1
  176. package/src/metadata/module.metadata.d.mts +0 -13
  177. package/src/metadata/module.metadata.d.mts.map +0 -1
  178. package/src/navios.application.d.mts +0 -210
  179. package/src/navios.application.d.mts.map +0 -1
  180. package/src/navios.environment.d.mts +0 -11
  181. package/src/navios.environment.d.mts.map +0 -1
  182. package/src/navios.factory.d.mts +0 -68
  183. package/src/navios.factory.d.mts.map +0 -1
  184. package/src/services/guard-runner.service.d.mts +0 -10
  185. package/src/services/guard-runner.service.d.mts.map +0 -1
  186. package/src/services/index.d.mts +0 -3
  187. package/src/services/index.d.mts.map +0 -1
  188. package/src/services/module-loader.service.d.mts +0 -17
  189. package/src/services/module-loader.service.d.mts.map +0 -1
  190. package/src/stores/index.d.mts +0 -2
  191. package/src/stores/index.d.mts.map +0 -1
  192. package/src/stores/request-id.store.d.mts +0 -37
  193. package/src/stores/request-id.store.d.mts.map +0 -1
  194. package/src/tokens/endpoint-adapter.token.d.mts +0 -4
  195. package/src/tokens/endpoint-adapter.token.d.mts.map +0 -1
  196. package/src/tokens/execution-context.token.d.mts +0 -5
  197. package/src/tokens/execution-context.token.d.mts.map +0 -1
  198. package/src/tokens/http-adapter.token.d.mts +0 -4
  199. package/src/tokens/http-adapter.token.d.mts.map +0 -1
  200. package/src/tokens/index.d.mts +0 -9
  201. package/src/tokens/index.d.mts.map +0 -1
  202. package/src/tokens/multipart-adapter.token.d.mts +0 -4
  203. package/src/tokens/multipart-adapter.token.d.mts.map +0 -1
  204. package/src/tokens/reply.token.d.mts +0 -3
  205. package/src/tokens/reply.token.d.mts.map +0 -1
  206. package/src/tokens/request.token.d.mts +0 -3
  207. package/src/tokens/request.token.d.mts.map +0 -1
  208. package/src/tokens/stream-adapter.token.d.mts +0 -4
  209. package/src/tokens/stream-adapter.token.d.mts.map +0 -1
  210. package/src/tokens/xml-stream-adapter.token.d.mts +0 -4
  211. package/src/tokens/xml-stream-adapter.token.d.mts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,28 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.7.1] - 2025-12-18
9
+
10
+ ### Added
11
+
12
+ - **Plugin System**: New plugin architecture allowing third-party extensions to integrate with Navios applications
13
+ - `NaviosPlugin` interface for defining plugins with registration hooks
14
+ - `PluginContext` interface providing access to modules, server, container, and module loader
15
+ - `PluginDefinition` type for plugin factory functions
16
+ - `app.usePlugin()` method for registering plugins on NaviosApplication
17
+ - **Module Extensions**: New `ModuleLoaderService.extendModules()` method allowing plugins to dynamically add modules or controllers to the application after initial module loading
18
+
19
+ ### Changed
20
+
21
+ - Enhanced JSDoc documentation for `AbstractHttpAdapterInterface` with comprehensive type parameter documentation and method descriptions
22
+
23
+ ### Fixed
24
+
25
+ - Fixed logger setup in `NaviosFactory` to properly handle early return when logger is disabled
26
+ - Fixed package.json exports to use correct CommonJS file extensions (`.cjs` and `.d.cts`)
27
+
28
+ ---
29
+
8
30
  ## [0.7.0] - 2025-12-18
9
31
 
10
32
  ### Added
@@ -3,8 +3,8 @@ import { AnyInjectableType, ClassType, ClassTypeWithInstance, Container, Factory
3
3
  import z, { ZodDiscriminatedUnion, ZodObject, ZodType, z as z$1 } from "zod/v4";
4
4
  import { BaseEndpointConfig, BaseStreamConfig, EndpointFunctionArgs, HttpMethod, Util_FlatObject } from "@navios/builder";
5
5
  import { InspectOptions } from "util";
6
- import { OutgoingHttpHeaders } from "http";
7
6
  import { AsyncLocalStorage } from "node:async_hooks";
7
+ import { OutgoingHttpHeaders } from "http";
8
8
 
9
9
  //#region src/config/utils/helpers.d.mts
10
10
  declare function envInt(key: keyof NodeJS.ProcessEnv, defaultValue: number): number;
@@ -858,15 +858,58 @@ interface AbstractHttpListenOptions {
858
858
  }
859
859
  //#endregion
860
860
  //#region src/interfaces/abstract-http-adapter.interface.d.mts
861
+ /**
862
+ * Abstract interface for HTTP adapters.
863
+ *
864
+ * Adapters implement this interface to provide runtime-specific HTTP server
865
+ * functionality (Fastify, Bun, etc.).
866
+ *
867
+ * @typeParam ServerInstance - The underlying server type (e.g., FastifyInstance)
868
+ * @typeParam CorsOptions - CORS configuration options type
869
+ * @typeParam Options - Server setup options type
870
+ * @typeParam MultipartOptions - Multipart form handling options type
871
+ */
861
872
  interface AbstractHttpAdapterInterface<ServerInstance, CorsOptions = AbstractHttpCorsOptions, Options$1 = {}, MultipartOptions = {}> {
873
+ /**
874
+ * Sets up the HTTP server with the provided options.
875
+ */
862
876
  setupHttpServer(options: Options$1): Promise<void>;
877
+ /**
878
+ * Called after all modules are loaded to register routes.
879
+ */
863
880
  onModulesInit(modules: Map<string, ModuleMetadata>): Promise<void>;
881
+ /**
882
+ * Signals that the server is ready to accept requests.
883
+ */
864
884
  ready(): Promise<void>;
885
+ /**
886
+ * Returns the underlying HTTP server instance.
887
+ */
865
888
  getServer(): ServerInstance;
889
+ /**
890
+ * Sets a global prefix for all routes.
891
+ */
866
892
  setGlobalPrefix(prefix: string): void;
893
+ /**
894
+ * Gets the current global prefix.
895
+ * Returns empty string if no prefix is set.
896
+ */
897
+ getGlobalPrefix(): string;
898
+ /**
899
+ * Enables CORS with the specified options.
900
+ */
867
901
  enableCors(options: CorsOptions): void;
902
+ /**
903
+ * Enables multipart form data handling.
904
+ */
868
905
  enableMultipart(options: MultipartOptions): void;
906
+ /**
907
+ * Starts the server and listens for incoming requests.
908
+ */
869
909
  listen(options: AbstractHttpListenOptions): Promise<string>;
910
+ /**
911
+ * Disposes of the server and cleans up resources.
912
+ */
870
913
  dispose(): Promise<void>;
871
914
  }
872
915
  //#endregion
@@ -950,6 +993,160 @@ interface NaviosModule {
950
993
  onModuleInit?: () => Promise<void> | void;
951
994
  }
952
995
  //#endregion
996
+ //#region src/services/module-loader.service.d.mts
997
+ /**
998
+ * Extension definition for dynamically adding to the module tree.
999
+ * Used by plugins to inject controllers or entire modules.
1000
+ */
1001
+ interface ModuleExtension {
1002
+ /**
1003
+ * Module class to add. If provided, the module and all its
1004
+ * controllers/imports will be processed.
1005
+ */
1006
+ module?: ClassTypeWithInstance<NaviosModule>;
1007
+ /**
1008
+ * Controllers to add directly without a wrapper module.
1009
+ * Will be registered under a synthetic module named after the plugin.
1010
+ */
1011
+ controllers?: ClassType[];
1012
+ /**
1013
+ * Name for the synthetic module when using controllers directly.
1014
+ * Required if `controllers` is provided without `module`.
1015
+ */
1016
+ moduleName?: string;
1017
+ }
1018
+ declare class ModuleLoaderService {
1019
+ private logger;
1020
+ protected container: Container;
1021
+ private modulesMetadata;
1022
+ private loadedModules;
1023
+ private initialized;
1024
+ loadModules(appModule: ClassTypeWithInstance<NaviosModule>): Promise<void>;
1025
+ /**
1026
+ * Extends the module tree with additional modules or controllers.
1027
+ *
1028
+ * This method is designed to be called by plugins during registration,
1029
+ * which happens after initial module loading but before route registration.
1030
+ *
1031
+ * @param extensions - Array of module extensions to add
1032
+ * @throws Error if not initialized (loadModules must be called first)
1033
+ *
1034
+ * @example
1035
+ * ```typescript
1036
+ * // In plugin registration
1037
+ * const moduleLoader = await context.container.get(ModuleLoaderService)
1038
+ * await moduleLoader.extendModules([{
1039
+ * controllers: [OpenApiJsonController, OpenApiYamlController],
1040
+ * moduleName: 'OpenApiBunModule',
1041
+ * }])
1042
+ * ```
1043
+ */
1044
+ extendModules(extensions: ModuleExtension[]): Promise<void>;
1045
+ /**
1046
+ * Registers controllers under a synthetic module.
1047
+ * Used when plugins want to add controllers without a full module class.
1048
+ */
1049
+ private registerControllers;
1050
+ private traverseModules;
1051
+ private mergeMetadata;
1052
+ getAllModules(): Map<string, ModuleMetadata>;
1053
+ dispose(): void;
1054
+ }
1055
+ //#endregion
1056
+ //#region src/interfaces/plugin.interface.d.mts
1057
+ /**
1058
+ * Context provided to plugins during registration.
1059
+ *
1060
+ * This context gives plugins access to the application's modules,
1061
+ * server instance, DI container, and configuration.
1062
+ */
1063
+ interface PluginContext {
1064
+ /**
1065
+ * All loaded modules with their metadata.
1066
+ * Keys are module class names, values are their metadata.
1067
+ */
1068
+ modules: Map<string, ModuleMetadata>;
1069
+ /**
1070
+ * The underlying HTTP server instance.
1071
+ * Type depends on the adapter used (Fastify, Bun, etc.)
1072
+ */
1073
+ server: any;
1074
+ /**
1075
+ * The dependency injection container.
1076
+ */
1077
+ container: Container;
1078
+ /**
1079
+ * Global route prefix (e.g., '/api/v1').
1080
+ * Empty string if no prefix is set.
1081
+ */
1082
+ globalPrefix: string;
1083
+ /**
1084
+ * Module loader service for extending the module tree.
1085
+ * Use `moduleLoader.extendModules()` to add controllers dynamically.
1086
+ */
1087
+ moduleLoader: ModuleLoaderService;
1088
+ }
1089
+ /**
1090
+ * Base interface for Navios plugins.
1091
+ *
1092
+ * Plugins are registered using `app.usePlugin()` and are initialized
1093
+ * after all modules are loaded but before the server starts listening.
1094
+ *
1095
+ * @typeParam TOptions - The type of options the plugin accepts
1096
+ *
1097
+ * @example
1098
+ * ```typescript
1099
+ * const myPlugin: NaviosPlugin<{ enabled: boolean }> = {
1100
+ * name: 'my-plugin',
1101
+ * register: async (context, options) => {
1102
+ * if (options.enabled) {
1103
+ * // Register routes, services, etc.
1104
+ * }
1105
+ * },
1106
+ * }
1107
+ * ```
1108
+ */
1109
+ interface NaviosPlugin<TOptions = unknown> {
1110
+ /**
1111
+ * Plugin name for identification and logging.
1112
+ */
1113
+ name: string;
1114
+ /**
1115
+ * Called after modules are loaded but before the server starts listening.
1116
+ *
1117
+ * @param context - The plugin context with access to modules and server
1118
+ * @param options - Plugin-specific configuration options
1119
+ */
1120
+ register(context: PluginContext, options: TOptions): Promise<void> | void;
1121
+ }
1122
+ /**
1123
+ * Plugin definition combining a plugin with its options.
1124
+ *
1125
+ * This is the type returned by plugin factory functions like `defineOpenApiPlugin()`.
1126
+ *
1127
+ * @typeParam TOptions - The type of options the plugin accepts
1128
+ *
1129
+ * @example
1130
+ * ```typescript
1131
+ * function defineMyPlugin(options: MyPluginOptions): PluginDefinition<MyPluginOptions> {
1132
+ * return {
1133
+ * plugin: myPlugin,
1134
+ * options,
1135
+ * }
1136
+ * }
1137
+ * ```
1138
+ */
1139
+ interface PluginDefinition<TOptions = unknown> {
1140
+ /**
1141
+ * The plugin instance.
1142
+ */
1143
+ plugin: NaviosPlugin<TOptions>;
1144
+ /**
1145
+ * Options to pass to the plugin's register function.
1146
+ */
1147
+ options: TOptions;
1148
+ }
1149
+ //#endregion
953
1150
  //#region src/decorators/header.decorator.d.mts
954
1151
  /**
955
1152
  * Decorator that sets a custom HTTP response header for an endpoint.
@@ -1379,20 +1576,6 @@ declare class GuardRunnerService {
1379
1576
  makeContext(moduleMetadata: ModuleMetadata, controllerMetadata: ControllerMetadata, endpoint: HandlerMetadata): Set<ClassTypeWithInstance<CanActivate> | InjectionToken<CanActivate, undefined>>;
1380
1577
  }
1381
1578
  //#endregion
1382
- //#region src/services/module-loader.service.d.mts
1383
- declare class ModuleLoaderService {
1384
- private logger;
1385
- protected container: Container;
1386
- private modulesMetadata;
1387
- private loadedModules;
1388
- private initialized;
1389
- loadModules(appModule: ClassTypeWithInstance<NaviosModule>): Promise<void>;
1390
- private traverseModules;
1391
- private mergeMetadata;
1392
- getAllModules(): Map<string, ModuleMetadata>;
1393
- dispose(): void;
1394
- }
1395
- //#endregion
1396
1579
  //#region src/stores/request-id.store.d.mts
1397
1580
  /**
1398
1581
  * AsyncLocalStorage store for the current request ID.
@@ -1740,6 +1923,7 @@ declare class NaviosApplication {
1740
1923
  protected container: Container;
1741
1924
  private appModule;
1742
1925
  private options;
1926
+ private plugins;
1743
1927
  /**
1744
1928
  * Indicates whether the application has been initialized.
1745
1929
  * Set to `true` after `init()` completes successfully.
@@ -1760,6 +1944,25 @@ declare class NaviosApplication {
1760
1944
  * @returns The Container instance
1761
1945
  */
1762
1946
  getContainer(): Container;
1947
+ /**
1948
+ * Registers a plugin to be initialized after modules are loaded.
1949
+ *
1950
+ * Plugins are initialized in the order they are registered,
1951
+ * after all modules are loaded but before the server starts listening.
1952
+ *
1953
+ * @param definition - Plugin definition with options
1954
+ * @returns this for method chaining
1955
+ *
1956
+ * @example
1957
+ * ```typescript
1958
+ * import { defineOpenApiPlugin } from '@navios/openapi-fastify'
1959
+ *
1960
+ * app.usePlugin(defineOpenApiPlugin({
1961
+ * info: { title: 'My API', version: '1.0.0' },
1962
+ * }))
1963
+ * ```
1964
+ */
1965
+ usePlugin<TOptions>(definition: PluginDefinition<TOptions>): this;
1763
1966
  /**
1764
1967
  * Initializes the application.
1765
1968
  *
@@ -1767,6 +1970,7 @@ declare class NaviosApplication {
1767
1970
  * - Loads all modules and their dependencies
1768
1971
  * - Sets up the HTTP server if an adapter is configured
1769
1972
  * - Calls onModuleInit hooks on all modules
1973
+ * - Initializes registered plugins
1770
1974
  * - Marks the application as initialized
1771
1975
  *
1772
1976
  * Must be called before `listen()`.
@@ -1784,6 +1988,7 @@ declare class NaviosApplication {
1784
1988
  */
1785
1989
  init(): Promise<void>;
1786
1990
  private initModules;
1991
+ private initPlugins;
1787
1992
  /**
1788
1993
  * Enables CORS (Cross-Origin Resource Sharing) for the application.
1789
1994
  *
@@ -1947,5 +2152,5 @@ declare class NaviosFactory {
1947
2152
  private static registerLoggerConfiguration;
1948
2153
  }
1949
2154
  //#endregion
1950
- export { AbstractHttpCorsOptions as $, ConfigServiceOptionsSchema as $t, UnauthorizedException as A, ModuleMetadataKey as At, MultipartParams as B, HandlerMetadata as Bt, EndpointAdapterToken as C, filterLogLevels as Ct, ModuleLoaderService as D, yellow as Dt, runWithRequestId as E, clc as Et, HttpException as F, ControllerMetadataKey as Ft, Header as G, EndpointResult as Gt, Module as H, getEndpointMetadata as Ht, UseGuards as I, extractControllerMetadata as It, OmitIndexSignature as J, ConfigProviderOptions as Jt, NaviosModule as K, Controller as Kt, Stream as L, getControllerMetadata as Lt, InternalServerErrorException as M, getModuleMetadata as Mt, ForbiddenException as N, hasModuleMetadata as Nt, GuardRunnerService as O, AbstractExecutionContext as Ot, BadRequestException as P, ControllerMetadata as Pt, AbstractHttpListenOptions as Q, ConfigServiceOptions as Qt, StreamParams as R, hasControllerMetadata as Rt, ExecutionContextInjectionToken as S, isLogLevel as St, requestIdStore as T, LogLevel as Tt, ModuleOptions as U, Endpoint as Ut, MultipartResult as V, getAllEndpointMetadata as Vt, HttpCode as W, EndpointParams as Wt, AbstractHttpHandlerAdapterInterface as X, provideConfig as Xt, CanActivate as Y, EnvConfigProvider as Yt, AbstractHttpAdapterInterface as Z, ConfigService as Zt, Request as _, isSymbol as _t, XmlStreamAdapterFactory as a, PathValue as an, ConsoleLogger as at, HttpAdapterToken as b, stripEndSlash as bt, RequestFactory as c, addLeadingSlash as ct, EndpointAdapterFactory as d, isFunction as dt, ConfigServiceToken as en, Logger as et, AttributeFactory as f, isNil as ft, StreamAdapterToken as g, isString as gt, XmlStreamAdapterToken as h, isPlainObject as ht, NaviosApplicationOptions as i, PathImpl2 as in, LoggerInstance as it, NotFoundException as j, extractModuleMetadata as jt, ConflictException as k, ModuleMetadata as kt, MultipartAdapterFactory as l, isConstructor as lt, ClassSchemaAttribute as m, isObject as mt, NaviosApplication as n, Path as nn, LoggerOutput as nt, StreamAdapterFactory as o, envInt as on, ConsoleLoggerOptions as ot, ClassAttribute as p, isNumber as pt, HttpHeader as q, ControllerOptions as qt, NaviosApplicationContextOptions as r, PathImpl as rn, loggerOptionsSchema as rt, ReplyFactory as s, envString as sn, LoggerService as st, NaviosFactory as t, ConfigServiceInterface as tn, LoggerOptions as tt, HttpAdapterFactory as u, isEmpty as ut, Reply as v, isUndefined as vt, getRequestId as w, LOG_LEVELS as wt, ExecutionContext as x, isLogLevelEnabled as xt, MultipartAdapterToken as y, normalizePath as yt, Multipart as z, EndpointMetadataKey as zt };
1951
- //# sourceMappingURL=index-BFwNx9WQ.d.cts.map
2155
+ export { CanActivate as $, EnvConfigProvider as $t, NotFoundException as A, clc as At, MultipartResult as B, extractControllerMetadata as Bt, EndpointAdapterToken as C, normalizePath as Ct, GuardRunnerService as D, filterLogLevels as Dt, runWithRequestId as E, isLogLevel as Et, UseGuards as F, extractModuleMetadata as Ft, NaviosPlugin as G, getAllEndpointMetadata as Gt, ModuleOptions as H, hasControllerMetadata as Ht, Stream as I, getModuleMetadata as It, ModuleExtension as J, EndpointParams as Jt, PluginContext as K, getEndpointMetadata as Kt, StreamParams as L, hasModuleMetadata as Lt, ForbiddenException as M, AbstractExecutionContext as Mt, BadRequestException as N, ModuleMetadata as Nt, ConflictException as O, LOG_LEVELS as Ot, HttpException as P, ModuleMetadataKey as Pt, OmitIndexSignature as Q, ConfigProviderOptions as Qt, Multipart as R, ControllerMetadata as Rt, ExecutionContextInjectionToken as S, isUndefined as St, requestIdStore as T, isLogLevelEnabled as Tt, HttpCode as U, EndpointMetadataKey as Ut, Module as V, getControllerMetadata as Vt, Header as W, HandlerMetadata as Wt, NaviosModule as X, Controller as Xt, ModuleLoaderService as Y, EndpointResult as Yt, HttpHeader as Z, ControllerOptions as Zt, Request as _, isNumber as _t, XmlStreamAdapterFactory as a, ConfigServiceInterface as an, LoggerOptions as at, HttpAdapterToken as b, isString as bt, RequestFactory as c, PathImpl2 as cn, LoggerInstance as ct, EndpointAdapterFactory as d, envString as dn, LoggerService as dt, provideConfig as en, AbstractHttpHandlerAdapterInterface as et, AttributeFactory as f, addLeadingSlash as ft, StreamAdapterToken as g, isNil as gt, XmlStreamAdapterToken as h, isFunction as ht, NaviosApplicationOptions as i, ConfigServiceToken as in, Logger as it, InternalServerErrorException as j, yellow as jt, UnauthorizedException as k, LogLevel as kt, MultipartAdapterFactory as l, PathValue as ln, ConsoleLogger as lt, ClassSchemaAttribute as m, isEmpty as mt, NaviosApplication as n, ConfigServiceOptions as nn, AbstractHttpListenOptions as nt, StreamAdapterFactory as o, Path as on, LoggerOutput as ot, ClassAttribute as p, isConstructor as pt, PluginDefinition as q, Endpoint as qt, NaviosApplicationContextOptions as r, ConfigServiceOptionsSchema as rn, AbstractHttpCorsOptions as rt, ReplyFactory as s, PathImpl as sn, loggerOptionsSchema as st, NaviosFactory as t, ConfigService as tn, AbstractHttpAdapterInterface as tt, HttpAdapterFactory as u, envInt as un, ConsoleLoggerOptions as ut, Reply as v, isObject as vt, getRequestId as w, stripEndSlash as wt, ExecutionContext as x, isSymbol as xt, MultipartAdapterToken as y, isPlainObject as yt, MultipartParams as z, ControllerMetadataKey as zt };
2156
+ //# sourceMappingURL=index-DW9EPAE6.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DW9EPAE6.d.mts","names":[],"sources":["../src/config/utils/helpers.mts","../src/config/types.mts","../src/config/config-service.interface.mts","../src/config/config.service.mts","../src/config/config.provider.mts","../src/decorators/controller.decorator.mts","../src/decorators/endpoint.decorator.mts","../src/metadata/handler.metadata.mts","../src/metadata/controller.metadata.mts","../src/metadata/module.metadata.mts","../src/interfaces/abstract-execution-context.inteface.mts","../src/logger/utils/cli-colors.util.mts","../src/logger/log-levels.mts","../src/logger/utils/filter-log-levelts.util.mts","../src/logger/utils/is-log-level.util.mts","../src/logger/utils/is-log-level-enabled.mts","../src/logger/utils/shared.utils.mts","../src/logger/logger-service.interface.mts","../src/logger/console-logger.service.mts","../src/logger/logger.service.mts","../src/logger/logger.tokens.mts","../src/interfaces/abstract-http-cors-options.interface.mts","../src/interfaces/abstract-http-listen-options.interface.mts","../src/interfaces/abstract-http-adapter.interface.mts","../src/interfaces/abstract-http-handler-adapter.interface.mts","../src/interfaces/can-activate.mts","../src/interfaces/http-header.mts","../src/interfaces/navios-module.mts","../src/services/module-loader.service.mts","../src/interfaces/plugin.interface.mts","../src/decorators/header.decorator.mts","../src/decorators/http-code.decorator.mts","../src/decorators/module.decorator.mts","../src/decorators/multipart.decorator.mts","../src/decorators/stream.decorator.mts","../src/decorators/use-guards.decorator.mts","../src/exceptions/http.exception.mts","../src/exceptions/bad-request.exception.mts","../src/exceptions/forbidden.exception.mts","../src/exceptions/internal-server-error.exception.mts","../src/exceptions/not-found.exception.mts","../src/exceptions/unauthorized.exception.mts","../src/exceptions/conflict.exception.mts","../src/services/guard-runner.service.mts","../src/stores/request-id.store.mts","../src/tokens/endpoint-adapter.token.mts","../src/tokens/execution-context.token.mts","../src/tokens/http-adapter.token.mts","../src/tokens/multipart-adapter.token.mts","../src/tokens/reply.token.mts","../src/tokens/request.token.mts","../src/tokens/stream-adapter.token.mts","../src/tokens/xml-stream-adapter.token.mts","../src/attribute.factory.mts","../src/factories/endpoint-adapter.factory.mts","../src/factories/http-adapter.factory.mts","../src/factories/multipart-adapter.factory.mts","../src/factories/request.factory.mts","../src/factories/reply.factory.mts","../src/factories/stream-adapter.factory.mts","../src/factories/xml-stream-adapter.factory.mts","../src/navios.environment.mts","../src/navios.application.mts","../src/navios.factory.mts"],"sourcesContent":[],"mappings":"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;AAAA,CAAA,CAAA,GgCqDV,mBhChDgB,CAAA,QAAA,CAAA,CAAA,gBAAA,CAAA,SgCgDwC,qBhChDxC,CAAA,KAAA,QAAA,CAAA,GgCmDZ,OhCnDY,CgCmDJ,GAAA,CAAE,KhCnDE,CgCmDI,OhCnDJ,CAAA,MAAA,CAAA,CAAA,CAAA,GgCoDZ,OhCpDY,CgCoDJ,GAAA,CAAE,KhCpDE,CgCoDI,mBhCpDJ,CAAA,QAAA,CAAA,CAAA,gBAAA,CAAA,CAAA,CAAA;AAAA;AAQlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcuB,iBgC6DP,ShC7DO,CAAA,egC8DN,UhC9DM,GgC8DO,UhC9DP,EAAA,YAAA,MAAA,GAAA,MAAA,EAAA,cAAA,SAAA,EAAA,uBgCiEE,OhCjEF,GgCiEY,OhCjEZ,EAAA,gBgCkEL,OhClEK,CAAA,CAAA,QAAA,EAAA;EAAqB,MAAA,EgCoElC,kBhCpEkC,CgCqExC,MhCrEwC,EgCsExC,GhCtEwC,EgCuExC,WhCvEwC,EgCwExC,chCxEwC,EgCyExC,ahCzEwC,CAAA;CAAE,CAAA,EAAA,CAAA,MAAA,EAAA,CAAA,MAAA,EgC8EhC,WhC9EgC,SgC8EZ,ShC9EY,GgC+EpC,ahC/EoC,SgC+Ed,OhC/Ec,GgCgFlC,oBhChFkC,CgCgFb,GhChFa,EgCgFR,WhChFQ,EgCgFK,ahChFL,CAAA,GgCiFlC,oBhCjFkC,CgCiFb,GhCjFa,EgCiFR,WhCjFQ,EAAA,SAAA,CAAA,GgCkFpC,ahClFoC,SgCkFd,OhClFc,GgCmFlC,oBhCnFkC,CgCmFb,GhCnFa,EAAA,SAAA,EgCmFG,ahCnFH,CAAA,GgCoFlC,oBhCpFkC,CgCoFb,GhCpFa,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,GgCqFrC,OhCrFqC,CgCqF7B,GAAA,CAAE,KhCrF2B,CgCqFrB,chCrFqB,CAAA,CAAA,EAAA,OAAA,EgCsFjC,2BhCtFiC,EAAA,GAAA,CAAA,MAAA,EgC8EhC,WhC9EgC,SgC8EZ,ShC9EY,GgC+EpC,ahC/EoC,SgC+Ed,OhC/Ec,GgCgFlC,oBhChFkC,CgCgFb,GhChFa,EgCgFR,WhChFQ,EgCgFK,ahChFL,CAAA,GgCiFlC,oBhCjFkC,CgCiFb,GhCjFa,EgCiFR,WhCjFQ,EAAA,SAAA,CAAA,GgCkFpC,ahClFoC,SgCkFd,OhClFc,GgCmFlC,oBhCnFkC,CgCmFb,GhCnFa,EAAA,SAAA,EgCmFG,ahCnFH,CAAA,GgCoFlC,oBhCpFkC,CgCoFb,GhCpFa,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,GgCqFrC,OhCrFqC,CgCqF7B,GAAA,CAAE,KhCrF2B,CgCqFrB,chCrFqB,CAAA,CAAA;;;;;;;;;;AD9B9B,KkCgBJ,YlChBU,CAAA,4BACQ;EAQd,MAAA,EkCSJ,gBlCTa,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA;CAEb,EAAA,YAAA,MAAA,GkCSW,mBlCTX,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,EAAA,ckCUI,mBlCVJ,CAAA,QAAA,CAAA,CAAA,aAAA,CAAA,CAAA,GkCWR,WlCXQ,SkCWY,SlCXZ,GkCYR,mBlCZQ,CAAA,QAAA,CAAA,CAAA,eAAA,CAAA,SkCY+C,OlCZ/C,GkCaN,elCbM,CkCcJ,oBlCdI,CkCeF,GlCfE,EkCgBF,WlChBE,EkCiBF,mBlCjBE,CAAA,QAAA,CAAA,CAAA,eAAA,CAAA,EAAA,IAAA,CAAA,CAAA,GkCqBN,elCrBM,CkCqBU,oBlCrBV,CkCqB+B,GlCrB/B,EkCqBoC,WlCrBpC,EAAA,SAAA,EAAA,IAAA,CAAA,CAAA,GkCsBR,mBlCtBQ,CAAA,QAAA,CAAA,CAAA,eAAA,CAAA,SkCsB+C,OlCtB/C,GkCuBN,elCvBM,CkCwBJ,oBlCxBI,CkCyBF,GlCzBE,EAAA,SAAA,EkC2BF,mBlC3BE,CAAA,QAAA,CAAA,CAAA,eAAA,CAAA,EAAA,IAAA,CAAA,CAAA,GkC+BN,elC/BM,CkC+BU,oBlC/BV,CkC+B+B,GlC/B/B,EAAA,SAAA,EAAA,SAAA,EAAA,IAAA,CAAA,CAAA;;;;;;;;;ACRA;AAKM;AAQlB;;;;;;;;;;;;;;;;AAU0B,iBiC4CV,MjC5CU,CAAA,eiC6CT,UjC7CS,GiC6CI,UjC7CJ,EAAA,YAAA,MAAA,GAAA,MAAA,EAAA,cAAA,SAAA,EAAA,gBiCgDR,OjChDQ,CAAA,CAAA,QAAA,EAAA;EACP,MAAA,EiCiDT,gBjCjDS,CiCiDQ,MjCjDR,EiCiDgB,GjCjDhB,EiCiDqB,WjCjDrB,EiCiDkC,ajCjDlC,CAAA;CAAqB,CAAA,EAAA,CAAA,MAAA,EAAA,CAAA,MAAA,EiCqD1B,WjCrD0B,SiCqDN,SjCrDM,GiCsD9B,ajCtD8B,SiCsDR,OjCtDQ,GiCuD5B,oBjCvD4B,CiCuDP,GjCvDO,EiCuDF,WjCvDE,EiCuDW,ajCvDX,CAAA,GiCwD5B,oBjCxD4B,CiCwDP,GjCxDO,EiCwDF,WjCxDE,EAAA,SAAA,CAAA,GiCyD9B,ajCzD8B,SiCyDR,OjCzDQ,GiC0D5B,oBjC1D4B,CiC0DP,GjC1DO,EAAA,SAAA,EiC0DS,ajC1DT,CAAA,GiC2D5B,oBjC3D4B,CiC2DP,GjC3DO,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,KAAA,EAAA,GAAA,EAAA,GiC6D/B,OjC7D+B,CAAA,IAAA,CAAA,EAAA,OAAA,EiC8D3B,2BjC9D2B,EAAA,GAAA,CAAA,MAAA,EiCqD1B,WjCrD0B,SiCqDN,SjCrDM,GiCsD9B,ajCtD8B,SiCsDR,OjCtDQ,GiCuD5B,oBjCvD4B,CiCuDP,GjCvDO,EiCuDF,WjCvDE,EiCuDW,ajCvDX,CAAA,GiCwD5B,oBjCxD4B,CiCwDP,GjCxDO,EiCwDF,WjCxDE,EAAA,SAAA,CAAA,GiCyD9B,ajCzD8B,SiCyDR,OjCzDQ,GiC0D5B,oBjC1D4B,CiC0DP,GjC1DO,EAAA,SAAA,EiC0DS,ajC1DT,CAAA,GiC2D5B,oBjC3D4B,CiC2DP,GjC3DO,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,KAAA,EAAA,GAAA,EAAA,GiC6D/B,OjC7D+B,CAAA,IAAA,CAAA;;;;;;;;;;AD3BxC;AASA;;;;;;;;;;ACNY;AAKM;AAQlB;;;;;;;;;AAKU,iBkCmBM,SAAA,ClCnBN,GAAA,MAAA,EAAA,CkCqBJ,qBlCrBI,CkCqBkB,WlCrBlB,CAAA,GkCsBJ,clCtBI,CkCsBW,WlCtBX,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,UkCyBmB,QlCzBnB,C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"}