@sentzunhat/zacatl 0.0.14 → 0.0.20

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 (708) hide show
  1. package/README.md +280 -211
  2. package/build/architecture/index.d.ts +2 -0
  3. package/build/architecture/index.d.ts.map +1 -0
  4. package/build/architecture/index.js +2 -0
  5. package/build/architecture/index.js.map +1 -0
  6. package/build/configuration/app-config.d.ts +10 -0
  7. package/build/configuration/app-config.d.ts.map +1 -0
  8. package/build/configuration/app-config.js +5 -0
  9. package/build/configuration/app-config.js.map +1 -0
  10. package/build/configuration/index.d.ts +7 -0
  11. package/build/configuration/index.d.ts.map +1 -0
  12. package/build/configuration/index.js +6 -0
  13. package/build/configuration/index.js.map +1 -0
  14. package/build/configuration/legacy.d.ts +10 -0
  15. package/build/configuration/legacy.d.ts.map +1 -0
  16. package/build/configuration/legacy.js +5 -0
  17. package/build/configuration/legacy.js.map +1 -0
  18. package/build/configuration/loader-factory.d.ts +2 -0
  19. package/build/configuration/loader-factory.d.ts.map +1 -0
  20. package/build/configuration/loader-factory.js +2 -0
  21. package/build/configuration/loader-factory.js.map +1 -0
  22. package/build/configuration/loader.d.ts +9 -0
  23. package/build/configuration/loader.d.ts.map +1 -0
  24. package/build/configuration/loader.js +38 -0
  25. package/build/configuration/loader.js.map +1 -0
  26. package/build/configuration/loaders/index.d.ts +3 -0
  27. package/build/configuration/loaders/index.d.ts.map +1 -0
  28. package/build/configuration/loaders/index.js +3 -0
  29. package/build/configuration/loaders/index.js.map +1 -0
  30. package/build/configuration/loaders/json-loader.d.ts +8 -0
  31. package/build/configuration/loaders/json-loader.d.ts.map +1 -0
  32. package/build/configuration/loaders/json-loader.js +18 -0
  33. package/build/configuration/loaders/json-loader.js.map +1 -0
  34. package/build/configuration/loaders/yaml-loader.d.ts +8 -0
  35. package/build/configuration/loaders/yaml-loader.d.ts.map +1 -0
  36. package/build/configuration/loaders/yaml-loader.js +20 -0
  37. package/build/configuration/loaders/yaml-loader.js.map +1 -0
  38. package/build/configuration/types.d.ts +12 -0
  39. package/build/configuration/types.d.ts.map +1 -0
  40. package/build/configuration/types.js +2 -0
  41. package/build/configuration/types.js.map +1 -0
  42. package/build/configuration/validation.d.ts +14 -0
  43. package/build/configuration/validation.d.ts.map +1 -0
  44. package/build/configuration/validation.js +22 -0
  45. package/build/configuration/validation.js.map +1 -0
  46. package/build/configuration.d.ts +2 -0
  47. package/build/configuration.d.ts.map +1 -0
  48. package/build/configuration.js +2 -0
  49. package/build/configuration.js.map +1 -0
  50. package/build/dependency-injection/container.d.ts +9 -0
  51. package/build/dependency-injection/container.d.ts.map +1 -0
  52. package/build/dependency-injection/container.js +22 -0
  53. package/build/dependency-injection/container.js.map +1 -0
  54. package/build/dependency-injection/index.d.ts +2 -0
  55. package/build/dependency-injection/index.d.ts.map +1 -0
  56. package/build/dependency-injection/index.js +2 -0
  57. package/build/dependency-injection/index.js.map +1 -0
  58. package/build/error/bad-request.d.ts +7 -0
  59. package/build/error/bad-request.d.ts.map +1 -0
  60. package/build/error/bad-request.js +13 -0
  61. package/build/error/bad-request.js.map +1 -0
  62. package/build/error/bad-resource.d.ts +7 -0
  63. package/build/error/bad-resource.d.ts.map +1 -0
  64. package/build/error/bad-resource.js +13 -0
  65. package/build/error/bad-resource.js.map +1 -0
  66. package/build/error/custom.d.ts +49 -0
  67. package/build/error/custom.d.ts.map +1 -0
  68. package/build/error/custom.js +65 -0
  69. package/build/error/custom.js.map +1 -0
  70. package/build/error/forbidden.d.ts +7 -0
  71. package/build/error/forbidden.d.ts.map +1 -0
  72. package/build/error/forbidden.js +13 -0
  73. package/build/error/forbidden.js.map +1 -0
  74. package/build/error/index.d.ts +9 -0
  75. package/build/error/index.d.ts.map +1 -0
  76. package/build/error/index.js +9 -0
  77. package/build/error/index.js.map +1 -0
  78. package/build/error/internal-server.d.ts +7 -0
  79. package/build/error/internal-server.d.ts.map +1 -0
  80. package/build/error/internal-server.js +13 -0
  81. package/build/error/internal-server.js.map +1 -0
  82. package/build/error/not-found.d.ts +7 -0
  83. package/build/error/not-found.d.ts.map +1 -0
  84. package/build/error/not-found.js +13 -0
  85. package/build/error/not-found.js.map +1 -0
  86. package/build/error/unauthorized.d.ts +7 -0
  87. package/build/error/unauthorized.d.ts.map +1 -0
  88. package/build/error/unauthorized.js +13 -0
  89. package/build/error/unauthorized.js.map +1 -0
  90. package/build/error/validation.d.ts +7 -0
  91. package/build/error/validation.d.ts.map +1 -0
  92. package/build/error/validation.js +13 -0
  93. package/build/error/validation.js.map +1 -0
  94. package/build/examples/index.d.ts +3 -0
  95. package/build/examples/index.d.ts.map +1 -0
  96. package/build/examples/index.js +3 -0
  97. package/build/examples/index.js.map +1 -0
  98. package/build/examples/providers/file-system-provider.d.ts +13 -0
  99. package/build/examples/providers/file-system-provider.d.ts.map +1 -0
  100. package/build/examples/providers/file-system-provider.js +82 -0
  101. package/build/examples/providers/file-system-provider.js.map +1 -0
  102. package/build/examples/providers/filesystem-provider.d.ts +15 -0
  103. package/build/examples/providers/filesystem-provider.d.ts.map +1 -0
  104. package/build/examples/providers/filesystem-provider.js +139 -0
  105. package/build/examples/providers/filesystem-provider.js.map +1 -0
  106. package/build/examples/providers/index.d.ts +6 -0
  107. package/build/examples/providers/index.d.ts.map +1 -0
  108. package/build/examples/providers/index.js +4 -0
  109. package/build/examples/providers/index.js.map +1 -0
  110. package/build/examples/providers/process-provider.d.ts +19 -0
  111. package/build/examples/providers/process-provider.d.ts.map +1 -0
  112. package/build/examples/providers/process-provider.js +101 -0
  113. package/build/examples/providers/process-provider.js.map +1 -0
  114. package/build/examples/repositories/index.d.ts +3 -0
  115. package/build/examples/repositories/index.d.ts.map +1 -0
  116. package/build/examples/repositories/index.js +3 -0
  117. package/build/examples/repositories/index.js.map +1 -0
  118. package/build/examples/repositories/sqlite-repository.d.ts +14 -0
  119. package/build/examples/repositories/sqlite-repository.d.ts.map +1 -0
  120. package/build/examples/repositories/sqlite-repository.js +111 -0
  121. package/build/examples/repositories/sqlite-repository.js.map +1 -0
  122. package/build/i18n/adapters/index.d.ts +15 -0
  123. package/build/i18n/adapters/index.d.ts.map +1 -0
  124. package/build/i18n/adapters/index.js +46 -0
  125. package/build/i18n/adapters/index.js.map +1 -0
  126. package/build/i18n/i18n.d.ts +6 -0
  127. package/build/i18n/i18n.d.ts.map +1 -0
  128. package/build/i18n/i18n.js +118 -0
  129. package/build/i18n/i18n.js.map +1 -0
  130. package/build/i18n/index.d.ts +5 -0
  131. package/build/i18n/index.d.ts.map +1 -0
  132. package/build/i18n/index.js +4 -0
  133. package/build/i18n/index.js.map +1 -0
  134. package/build/i18n/types.d.ts +22 -0
  135. package/build/i18n/types.d.ts.map +1 -0
  136. package/build/i18n/types.js +2 -0
  137. package/build/i18n/types.js.map +1 -0
  138. package/build/i18n/validation.d.ts +16 -0
  139. package/build/i18n/validation.d.ts.map +1 -0
  140. package/build/i18n/validation.js +23 -0
  141. package/build/i18n/validation.js.map +1 -0
  142. package/build/index.d.ts +19 -0
  143. package/build/index.d.ts.map +1 -0
  144. package/build/index.js +15 -0
  145. package/build/index.js.map +1 -0
  146. package/build/intl/adapters/index.d.ts +15 -0
  147. package/build/intl/adapters/index.d.ts.map +1 -0
  148. package/build/intl/adapters/index.js +46 -0
  149. package/build/intl/adapters/index.js.map +1 -0
  150. package/build/intl/index.d.ts +5 -0
  151. package/build/intl/index.d.ts.map +1 -0
  152. package/build/intl/index.js +4 -0
  153. package/build/intl/index.js.map +1 -0
  154. package/build/intl/intl.d.ts +6 -0
  155. package/build/intl/intl.d.ts.map +1 -0
  156. package/build/intl/intl.js +118 -0
  157. package/build/intl/intl.js.map +1 -0
  158. package/build/intl/types.d.ts +22 -0
  159. package/build/intl/types.d.ts.map +1 -0
  160. package/build/intl/types.js +2 -0
  161. package/build/intl/types.js.map +1 -0
  162. package/build/intl/validation.d.ts +16 -0
  163. package/build/intl/validation.d.ts.map +1 -0
  164. package/build/intl/validation.js +23 -0
  165. package/build/intl/validation.js.map +1 -0
  166. package/build/localization/adapters/index.d.ts +15 -0
  167. package/build/localization/adapters/index.d.ts.map +1 -0
  168. package/build/localization/adapters/index.js +46 -0
  169. package/build/localization/adapters/index.js.map +1 -0
  170. package/build/localization/i18n.d.ts +6 -0
  171. package/build/localization/i18n.d.ts.map +1 -0
  172. package/build/localization/i18n.js +118 -0
  173. package/build/localization/i18n.js.map +1 -0
  174. package/build/localization/index.d.ts +5 -0
  175. package/build/localization/index.d.ts.map +1 -0
  176. package/build/localization/index.js +4 -0
  177. package/build/localization/index.js.map +1 -0
  178. package/build/localization/intl.d.ts +6 -0
  179. package/build/localization/intl.d.ts.map +1 -0
  180. package/build/localization/intl.js +120 -0
  181. package/build/localization/intl.js.map +1 -0
  182. package/build/localization/localization.d.ts +6 -0
  183. package/build/localization/localization.d.ts.map +1 -0
  184. package/build/localization/localization.js +120 -0
  185. package/build/localization/localization.js.map +1 -0
  186. package/build/localization/types.d.ts +22 -0
  187. package/build/localization/types.d.ts.map +1 -0
  188. package/build/localization/types.js +2 -0
  189. package/build/localization/types.js.map +1 -0
  190. package/build/localization/validation.d.ts +16 -0
  191. package/build/localization/validation.d.ts.map +1 -0
  192. package/build/localization/validation.js +23 -0
  193. package/build/localization/validation.js.map +1 -0
  194. package/build/logs/adapters/console-adapter.d.ts +18 -0
  195. package/build/logs/adapters/console-adapter.d.ts.map +1 -0
  196. package/build/logs/adapters/console-adapter.js +65 -0
  197. package/build/logs/adapters/console-adapter.js.map +1 -0
  198. package/build/logs/adapters/pino-adapter.d.ts +14 -0
  199. package/build/logs/adapters/pino-adapter.d.ts.map +1 -0
  200. package/build/logs/adapters/pino-adapter.js +30 -0
  201. package/build/logs/adapters/pino-adapter.js.map +1 -0
  202. package/build/logs/config.d.ts +9 -0
  203. package/build/logs/config.d.ts.map +1 -0
  204. package/build/logs/config.js +34 -0
  205. package/build/logs/config.js.map +1 -0
  206. package/build/logs/index.d.ts +6 -0
  207. package/build/logs/index.d.ts.map +1 -0
  208. package/build/logs/index.js +5 -0
  209. package/build/logs/index.js.map +1 -0
  210. package/build/logs/logger.d.ts +4 -0
  211. package/build/logs/logger.d.ts.map +1 -0
  212. package/build/logs/logger.js +14 -0
  213. package/build/logs/logger.js.map +1 -0
  214. package/build/logs/types.d.ts +23 -0
  215. package/build/logs/types.d.ts.map +1 -0
  216. package/build/logs/types.js +2 -0
  217. package/build/logs/types.js.map +1 -0
  218. package/build/logs.d.ts +4 -0
  219. package/build/logs.d.ts.map +1 -0
  220. package/build/logs.js +3 -0
  221. package/build/logs.js.map +1 -0
  222. package/build/micro-service/architecture/application/application.d.ts +22 -0
  223. package/build/micro-service/architecture/application/application.d.ts.map +1 -0
  224. package/build/micro-service/architecture/application/application.js +25 -0
  225. package/build/micro-service/architecture/application/application.js.map +1 -0
  226. package/build/micro-service/architecture/application/entry-points/index.d.ts +2 -0
  227. package/build/micro-service/architecture/application/entry-points/index.d.ts.map +1 -0
  228. package/build/micro-service/architecture/application/entry-points/index.js +2 -0
  229. package/build/micro-service/architecture/application/entry-points/index.js.map +1 -0
  230. package/build/micro-service/architecture/application/entry-points/rest/common/handler.d.ts +4 -0
  231. package/build/micro-service/architecture/application/entry-points/rest/common/handler.d.ts.map +1 -0
  232. package/build/micro-service/architecture/application/entry-points/rest/common/handler.js +2 -0
  233. package/build/micro-service/architecture/application/entry-points/rest/common/handler.js.map +1 -0
  234. package/build/micro-service/architecture/application/entry-points/rest/common/index.d.ts +3 -0
  235. package/build/micro-service/architecture/application/entry-points/rest/common/index.d.ts.map +1 -0
  236. package/build/micro-service/architecture/application/entry-points/rest/common/index.js +3 -0
  237. package/build/micro-service/architecture/application/entry-points/rest/common/index.js.map +1 -0
  238. package/build/micro-service/architecture/application/entry-points/rest/common/request.d.ts +9 -0
  239. package/build/micro-service/architecture/application/entry-points/rest/common/request.d.ts.map +1 -0
  240. package/build/micro-service/architecture/application/entry-points/rest/common/request.js +2 -0
  241. package/build/micro-service/architecture/application/entry-points/rest/common/request.js.map +1 -0
  242. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts +7 -0
  243. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts.map +1 -0
  244. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js +2 -0
  245. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js.map +1 -0
  246. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.d.ts +2 -0
  247. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.d.ts.map +1 -0
  248. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.js +2 -0
  249. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.js.map +1 -0
  250. package/build/micro-service/architecture/application/entry-points/rest/index.d.ts +4 -0
  251. package/build/micro-service/architecture/application/entry-points/rest/index.d.ts.map +1 -0
  252. package/build/micro-service/architecture/application/entry-points/rest/index.js +4 -0
  253. package/build/micro-service/architecture/application/entry-points/rest/index.js.map +1 -0
  254. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts +26 -0
  255. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts.map +1 -0
  256. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.js +21 -0
  257. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.js.map +1 -0
  258. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.d.ts +8 -0
  259. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.d.ts.map +1 -0
  260. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.js +10 -0
  261. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.js.map +1 -0
  262. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts +10 -0
  263. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts.map +1 -0
  264. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js +11 -0
  265. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js.map +1 -0
  266. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.d.ts +6 -0
  267. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.d.ts.map +1 -0
  268. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.js +6 -0
  269. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.js.map +1 -0
  270. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts +10 -0
  271. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts.map +1 -0
  272. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js +11 -0
  273. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js.map +1 -0
  274. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts +9 -0
  275. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts.map +1 -0
  276. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.js +2 -0
  277. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.js.map +1 -0
  278. package/build/micro-service/architecture/application/index.d.ts +3 -0
  279. package/build/micro-service/architecture/application/index.d.ts.map +1 -0
  280. package/build/micro-service/architecture/application/index.js +3 -0
  281. package/build/micro-service/architecture/application/index.js.map +1 -0
  282. package/build/micro-service/architecture/architecture.d.ts +11 -0
  283. package/build/micro-service/architecture/architecture.d.ts.map +1 -0
  284. package/build/micro-service/architecture/architecture.js +20 -0
  285. package/build/micro-service/architecture/architecture.js.map +1 -0
  286. package/build/micro-service/architecture/domain/domain.d.ts +11 -0
  287. package/build/micro-service/architecture/domain/domain.d.ts.map +1 -0
  288. package/build/micro-service/architecture/domain/domain.js +25 -0
  289. package/build/micro-service/architecture/domain/domain.js.map +1 -0
  290. package/build/micro-service/architecture/domain/index.d.ts +3 -0
  291. package/build/micro-service/architecture/domain/index.d.ts.map +1 -0
  292. package/build/micro-service/architecture/domain/index.js +3 -0
  293. package/build/micro-service/architecture/domain/index.js.map +1 -0
  294. package/build/micro-service/architecture/domain/provider.d.ts +6 -0
  295. package/build/micro-service/architecture/domain/provider.d.ts.map +1 -0
  296. package/build/micro-service/architecture/domain/provider.js +7 -0
  297. package/build/micro-service/architecture/domain/provider.js.map +1 -0
  298. package/build/micro-service/architecture/index.d.ts +6 -0
  299. package/build/micro-service/architecture/index.d.ts.map +1 -0
  300. package/build/micro-service/architecture/index.js +6 -0
  301. package/build/micro-service/architecture/index.js.map +1 -0
  302. package/build/micro-service/architecture/infrastructure/index.d.ts +3 -0
  303. package/build/micro-service/architecture/infrastructure/index.d.ts.map +1 -0
  304. package/{src/micro-service/architecture/infrastructure/index.ts → build/micro-service/architecture/infrastructure/index.js} +1 -0
  305. package/build/micro-service/architecture/infrastructure/index.js.map +1 -0
  306. package/build/micro-service/architecture/infrastructure/infrastructure.d.ts +10 -0
  307. package/build/micro-service/architecture/infrastructure/infrastructure.d.ts.map +1 -0
  308. package/build/micro-service/architecture/infrastructure/infrastructure.js +12 -0
  309. package/build/micro-service/architecture/infrastructure/infrastructure.js.map +1 -0
  310. package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts +13 -0
  311. package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts.map +1 -0
  312. package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.js +92 -0
  313. package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.js.map +1 -0
  314. package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts +12 -0
  315. package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts.map +1 -0
  316. package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.js +49 -0
  317. package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.js.map +1 -0
  318. package/build/micro-service/architecture/infrastructure/orm/index.d.ts +3 -0
  319. package/build/micro-service/architecture/infrastructure/orm/index.d.ts.map +1 -0
  320. package/build/micro-service/architecture/infrastructure/orm/index.js +3 -0
  321. package/build/micro-service/architecture/infrastructure/orm/index.js.map +1 -0
  322. package/build/micro-service/architecture/infrastructure/repositories/abstract.d.ts +19 -0
  323. package/build/micro-service/architecture/infrastructure/repositories/abstract.d.ts.map +1 -0
  324. package/build/micro-service/architecture/infrastructure/repositories/abstract.js +64 -0
  325. package/build/micro-service/architecture/infrastructure/repositories/abstract.js.map +1 -0
  326. package/build/micro-service/architecture/infrastructure/repositories/index.d.ts +2 -0
  327. package/build/micro-service/architecture/infrastructure/repositories/index.d.ts.map +1 -0
  328. package/build/micro-service/architecture/infrastructure/repositories/index.js +2 -0
  329. package/build/micro-service/architecture/infrastructure/repositories/index.js.map +1 -0
  330. package/build/micro-service/architecture/infrastructure/repositories/mongoose.d.ts +13 -0
  331. package/build/micro-service/architecture/infrastructure/repositories/mongoose.d.ts.map +1 -0
  332. package/build/micro-service/architecture/infrastructure/repositories/mongoose.js +92 -0
  333. package/build/micro-service/architecture/infrastructure/repositories/mongoose.js.map +1 -0
  334. package/build/micro-service/architecture/infrastructure/repositories/sequelize.d.ts +12 -0
  335. package/build/micro-service/architecture/infrastructure/repositories/sequelize.d.ts.map +1 -0
  336. package/build/micro-service/architecture/infrastructure/repositories/sequelize.js +49 -0
  337. package/build/micro-service/architecture/infrastructure/repositories/sequelize.js.map +1 -0
  338. package/build/micro-service/architecture/infrastructure/repositories/types.d.ts +43 -0
  339. package/build/micro-service/architecture/infrastructure/repositories/types.d.ts.map +1 -0
  340. package/build/micro-service/architecture/infrastructure/repositories/types.js +2 -0
  341. package/build/micro-service/architecture/infrastructure/repositories/types.js.map +1 -0
  342. package/build/micro-service/architecture/infrastructure/repository-interface.d.ts +9 -0
  343. package/build/micro-service/architecture/infrastructure/repository-interface.d.ts.map +1 -0
  344. package/build/micro-service/architecture/infrastructure/repository-interface.js +2 -0
  345. package/build/micro-service/architecture/infrastructure/repository-interface.js.map +1 -0
  346. package/build/micro-service/architecture/infrastructure/repository.d.ts +9 -0
  347. package/build/micro-service/architecture/infrastructure/repository.d.ts.map +1 -0
  348. package/build/micro-service/architecture/infrastructure/repository.js +2 -0
  349. package/build/micro-service/architecture/infrastructure/repository.js.map +1 -0
  350. package/build/micro-service/architecture/platform/index.d.ts +6 -0
  351. package/build/micro-service/architecture/platform/index.d.ts.map +1 -0
  352. package/build/micro-service/architecture/platform/index.js +5 -0
  353. package/build/micro-service/architecture/platform/index.js.map +1 -0
  354. package/build/micro-service/architecture/platform/micro-service.d.ts +24 -0
  355. package/build/micro-service/architecture/platform/micro-service.d.ts.map +1 -0
  356. package/build/micro-service/architecture/platform/micro-service.js +40 -0
  357. package/build/micro-service/architecture/platform/micro-service.js.map +1 -0
  358. package/build/micro-service/architecture/platform/page/index.d.ts +2 -0
  359. package/build/micro-service/architecture/platform/page/index.d.ts.map +1 -0
  360. package/build/micro-service/architecture/platform/page/index.js +2 -0
  361. package/build/micro-service/architecture/platform/page/index.js.map +1 -0
  362. package/build/micro-service/architecture/platform/page/page.d.ts +16 -0
  363. package/build/micro-service/architecture/platform/page/page.d.ts.map +1 -0
  364. package/build/micro-service/architecture/platform/page/page.js +38 -0
  365. package/build/micro-service/architecture/platform/page/page.js.map +1 -0
  366. package/build/micro-service/architecture/platform/server/adapters/express-adapter.d.ts +15 -0
  367. package/build/micro-service/architecture/platform/server/adapters/express-adapter.d.ts.map +1 -0
  368. package/build/micro-service/architecture/platform/server/adapters/express-adapter.js +91 -0
  369. package/build/micro-service/architecture/platform/server/adapters/express-adapter.js.map +1 -0
  370. package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.d.ts +15 -0
  371. package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.d.ts.map +1 -0
  372. package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.js +54 -0
  373. package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.js.map +1 -0
  374. package/build/micro-service/architecture/platform/server/adapters/index.d.ts +3 -0
  375. package/build/micro-service/architecture/platform/server/adapters/index.d.ts.map +1 -0
  376. package/build/micro-service/architecture/platform/server/adapters/index.js +3 -0
  377. package/build/micro-service/architecture/platform/server/adapters/index.js.map +1 -0
  378. package/build/micro-service/architecture/platform/server/index.d.ts +2 -0
  379. package/build/micro-service/architecture/platform/server/index.d.ts.map +1 -0
  380. package/build/micro-service/architecture/platform/server/index.js +2 -0
  381. package/build/micro-service/architecture/platform/server/index.js.map +1 -0
  382. package/build/micro-service/architecture/platform/server/server-adapter.d.ts +21 -0
  383. package/build/micro-service/architecture/platform/server/server-adapter.d.ts.map +1 -0
  384. package/build/micro-service/architecture/platform/server/server-adapter.js +2 -0
  385. package/build/micro-service/architecture/platform/server/server-adapter.js.map +1 -0
  386. package/build/micro-service/architecture/platform/server/server.d.ts +97 -0
  387. package/build/micro-service/architecture/platform/server/server.d.ts.map +1 -0
  388. package/build/micro-service/architecture/platform/server/server.js +219 -0
  389. package/build/micro-service/architecture/platform/server/server.js.map +1 -0
  390. package/build/micro-service/index.d.ts +2 -0
  391. package/build/micro-service/index.d.ts.map +1 -0
  392. package/build/micro-service/index.js +2 -0
  393. package/build/micro-service/index.js.map +1 -0
  394. package/build/optionals.d.ts +4 -0
  395. package/build/optionals.d.ts.map +1 -0
  396. package/build/optionals.js +2 -0
  397. package/build/optionals.js.map +1 -0
  398. package/build/runtime/detector.d.ts +7 -0
  399. package/build/runtime/detector.d.ts.map +1 -0
  400. package/build/runtime/detector.js +28 -0
  401. package/build/runtime/detector.js.map +1 -0
  402. package/build/runtime/index.d.ts +3 -0
  403. package/build/runtime/index.d.ts.map +1 -0
  404. package/build/runtime/index.js +3 -0
  405. package/build/runtime/index.js.map +1 -0
  406. package/build/runtime/types.d.ts +8 -0
  407. package/build/runtime/types.d.ts.map +1 -0
  408. package/build/runtime/types.js +2 -0
  409. package/build/runtime/types.js.map +1 -0
  410. package/build/service/architecture/application/application.d.ts +22 -0
  411. package/build/service/architecture/application/application.d.ts.map +1 -0
  412. package/build/service/architecture/application/application.js +25 -0
  413. package/build/service/architecture/application/application.js.map +1 -0
  414. package/build/service/architecture/application/entry-points/index.d.ts +2 -0
  415. package/build/service/architecture/application/entry-points/index.d.ts.map +1 -0
  416. package/build/service/architecture/application/entry-points/index.js +2 -0
  417. package/build/service/architecture/application/entry-points/index.js.map +1 -0
  418. package/build/service/architecture/application/entry-points/rest/common/handler.d.ts +4 -0
  419. package/build/service/architecture/application/entry-points/rest/common/handler.d.ts.map +1 -0
  420. package/build/service/architecture/application/entry-points/rest/common/handler.js +2 -0
  421. package/build/service/architecture/application/entry-points/rest/common/handler.js.map +1 -0
  422. package/build/service/architecture/application/entry-points/rest/common/index.d.ts +3 -0
  423. package/build/service/architecture/application/entry-points/rest/common/index.d.ts.map +1 -0
  424. package/build/service/architecture/application/entry-points/rest/common/index.js +3 -0
  425. package/build/service/architecture/application/entry-points/rest/common/index.js.map +1 -0
  426. package/build/service/architecture/application/entry-points/rest/common/request.d.ts +9 -0
  427. package/build/service/architecture/application/entry-points/rest/common/request.d.ts.map +1 -0
  428. package/build/service/architecture/application/entry-points/rest/common/request.js +2 -0
  429. package/build/service/architecture/application/entry-points/rest/common/request.js.map +1 -0
  430. package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts +7 -0
  431. package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts.map +1 -0
  432. package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js +2 -0
  433. package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js.map +1 -0
  434. package/build/service/architecture/application/entry-points/rest/hook-handlers/index.d.ts +2 -0
  435. package/build/service/architecture/application/entry-points/rest/hook-handlers/index.d.ts.map +1 -0
  436. package/build/service/architecture/application/entry-points/rest/hook-handlers/index.js +2 -0
  437. package/build/service/architecture/application/entry-points/rest/hook-handlers/index.js.map +1 -0
  438. package/build/service/architecture/application/entry-points/rest/index.d.ts +4 -0
  439. package/build/service/architecture/application/entry-points/rest/index.d.ts.map +1 -0
  440. package/build/service/architecture/application/entry-points/rest/index.js +4 -0
  441. package/build/service/architecture/application/entry-points/rest/index.js.map +1 -0
  442. package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts +27 -0
  443. package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts.map +1 -0
  444. package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.js +21 -0
  445. package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.js.map +1 -0
  446. package/build/service/architecture/application/entry-points/rest/route-handlers/generics.d.ts +8 -0
  447. package/build/service/architecture/application/entry-points/rest/route-handlers/generics.d.ts.map +1 -0
  448. package/build/service/architecture/application/entry-points/rest/route-handlers/generics.js +10 -0
  449. package/build/service/architecture/application/entry-points/rest/route-handlers/generics.js.map +1 -0
  450. package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts +10 -0
  451. package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts.map +1 -0
  452. package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js +11 -0
  453. package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js.map +1 -0
  454. package/build/service/architecture/application/entry-points/rest/route-handlers/index.d.ts +6 -0
  455. package/build/service/architecture/application/entry-points/rest/route-handlers/index.d.ts.map +1 -0
  456. package/build/service/architecture/application/entry-points/rest/route-handlers/index.js +6 -0
  457. package/build/service/architecture/application/entry-points/rest/route-handlers/index.js.map +1 -0
  458. package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts +11 -0
  459. package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts.map +1 -0
  460. package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js +11 -0
  461. package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js.map +1 -0
  462. package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts +9 -0
  463. package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts.map +1 -0
  464. package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.js +2 -0
  465. package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.js.map +1 -0
  466. package/build/service/architecture/application/index.d.ts +3 -0
  467. package/build/service/architecture/application/index.d.ts.map +1 -0
  468. package/build/service/architecture/application/index.js +3 -0
  469. package/build/service/architecture/application/index.js.map +1 -0
  470. package/build/service/architecture/architecture.d.ts +11 -0
  471. package/build/service/architecture/architecture.d.ts.map +1 -0
  472. package/build/service/architecture/architecture.js +20 -0
  473. package/build/service/architecture/architecture.js.map +1 -0
  474. package/build/service/architecture/domain/domain.d.ts +11 -0
  475. package/build/service/architecture/domain/domain.d.ts.map +1 -0
  476. package/build/service/architecture/domain/domain.js +25 -0
  477. package/build/service/architecture/domain/domain.js.map +1 -0
  478. package/build/service/architecture/domain/index.d.ts +3 -0
  479. package/build/service/architecture/domain/index.d.ts.map +1 -0
  480. package/build/service/architecture/domain/index.js +3 -0
  481. package/build/service/architecture/domain/index.js.map +1 -0
  482. package/build/service/architecture/domain/provider.d.ts +6 -0
  483. package/build/service/architecture/domain/provider.d.ts.map +1 -0
  484. package/build/service/architecture/domain/provider.js +7 -0
  485. package/build/service/architecture/domain/provider.js.map +1 -0
  486. package/build/service/architecture/index.d.ts +6 -0
  487. package/build/service/architecture/index.d.ts.map +1 -0
  488. package/build/service/architecture/index.js +6 -0
  489. package/build/service/architecture/index.js.map +1 -0
  490. package/build/service/architecture/infrastructure/index.d.ts +7 -0
  491. package/build/service/architecture/infrastructure/index.d.ts.map +1 -0
  492. package/build/service/architecture/infrastructure/index.js +5 -0
  493. package/build/service/architecture/infrastructure/index.js.map +1 -0
  494. package/build/service/architecture/infrastructure/infrastructure.d.ts +10 -0
  495. package/build/service/architecture/infrastructure/infrastructure.d.ts.map +1 -0
  496. package/build/service/architecture/infrastructure/infrastructure.js +12 -0
  497. package/build/service/architecture/infrastructure/infrastructure.js.map +1 -0
  498. package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts +13 -0
  499. package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts.map +1 -0
  500. package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.js +92 -0
  501. package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.js.map +1 -0
  502. package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts +12 -0
  503. package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts.map +1 -0
  504. package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.js +49 -0
  505. package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.js.map +1 -0
  506. package/build/service/architecture/infrastructure/orm/index.d.ts +3 -0
  507. package/build/service/architecture/infrastructure/orm/index.d.ts.map +1 -0
  508. package/build/service/architecture/infrastructure/orm/index.js +3 -0
  509. package/build/service/architecture/infrastructure/orm/index.js.map +1 -0
  510. package/build/service/architecture/infrastructure/repositories/abstract.d.ts +19 -0
  511. package/build/service/architecture/infrastructure/repositories/abstract.d.ts.map +1 -0
  512. package/build/service/architecture/infrastructure/repositories/abstract.js +62 -0
  513. package/build/service/architecture/infrastructure/repositories/abstract.js.map +1 -0
  514. package/build/service/architecture/infrastructure/repositories/index.d.ts +2 -0
  515. package/build/service/architecture/infrastructure/repositories/index.d.ts.map +1 -0
  516. package/build/service/architecture/infrastructure/repositories/index.js +2 -0
  517. package/build/service/architecture/infrastructure/repositories/index.js.map +1 -0
  518. package/build/service/architecture/infrastructure/repositories/mongoose.d.ts +13 -0
  519. package/build/service/architecture/infrastructure/repositories/mongoose.d.ts.map +1 -0
  520. package/build/service/architecture/infrastructure/repositories/mongoose.js +92 -0
  521. package/build/service/architecture/infrastructure/repositories/mongoose.js.map +1 -0
  522. package/build/service/architecture/infrastructure/repositories/sequelize.d.ts +12 -0
  523. package/build/service/architecture/infrastructure/repositories/sequelize.d.ts.map +1 -0
  524. package/build/service/architecture/infrastructure/repositories/sequelize.js +49 -0
  525. package/build/service/architecture/infrastructure/repositories/sequelize.js.map +1 -0
  526. package/build/service/architecture/infrastructure/repositories/types.d.ts +47 -0
  527. package/build/service/architecture/infrastructure/repositories/types.d.ts.map +1 -0
  528. package/build/service/architecture/infrastructure/repositories/types.js +6 -0
  529. package/build/service/architecture/infrastructure/repositories/types.js.map +1 -0
  530. package/build/service/architecture/infrastructure/repository-interface.d.ts +9 -0
  531. package/build/service/architecture/infrastructure/repository-interface.d.ts.map +1 -0
  532. package/build/service/architecture/infrastructure/repository-interface.js +2 -0
  533. package/build/service/architecture/infrastructure/repository-interface.js.map +1 -0
  534. package/build/service/architecture/infrastructure/repository.d.ts +9 -0
  535. package/build/service/architecture/infrastructure/repository.d.ts.map +1 -0
  536. package/build/service/architecture/infrastructure/repository.js +2 -0
  537. package/build/service/architecture/infrastructure/repository.js.map +1 -0
  538. package/build/service/architecture/platform/index.d.ts +6 -0
  539. package/build/service/architecture/platform/index.d.ts.map +1 -0
  540. package/build/service/architecture/platform/index.js +5 -0
  541. package/build/service/architecture/platform/index.js.map +1 -0
  542. package/build/service/architecture/platform/page/index.d.ts +2 -0
  543. package/build/service/architecture/platform/page/index.d.ts.map +1 -0
  544. package/build/service/architecture/platform/page/index.js +2 -0
  545. package/build/service/architecture/platform/page/index.js.map +1 -0
  546. package/build/service/architecture/platform/page/page.d.ts +16 -0
  547. package/build/service/architecture/platform/page/page.d.ts.map +1 -0
  548. package/build/service/architecture/platform/page/page.js +38 -0
  549. package/build/service/architecture/platform/page/page.js.map +1 -0
  550. package/build/service/architecture/platform/server/adapters/express-adapter.d.ts +15 -0
  551. package/build/service/architecture/platform/server/adapters/express-adapter.d.ts.map +1 -0
  552. package/build/service/architecture/platform/server/adapters/express-adapter.js +91 -0
  553. package/build/service/architecture/platform/server/adapters/express-adapter.js.map +1 -0
  554. package/build/service/architecture/platform/server/adapters/fastify-adapter.d.ts +15 -0
  555. package/build/service/architecture/platform/server/adapters/fastify-adapter.d.ts.map +1 -0
  556. package/build/service/architecture/platform/server/adapters/fastify-adapter.js +54 -0
  557. package/build/service/architecture/platform/server/adapters/fastify-adapter.js.map +1 -0
  558. package/build/service/architecture/platform/server/adapters/index.d.ts +3 -0
  559. package/build/service/architecture/platform/server/adapters/index.d.ts.map +1 -0
  560. package/build/service/architecture/platform/server/adapters/index.js +3 -0
  561. package/build/service/architecture/platform/server/adapters/index.js.map +1 -0
  562. package/build/service/architecture/platform/server/index.d.ts +2 -0
  563. package/build/service/architecture/platform/server/index.d.ts.map +1 -0
  564. package/build/service/architecture/platform/server/index.js +2 -0
  565. package/build/service/architecture/platform/server/index.js.map +1 -0
  566. package/build/service/architecture/platform/server/server-adapter.d.ts +21 -0
  567. package/build/service/architecture/platform/server/server-adapter.d.ts.map +1 -0
  568. package/build/service/architecture/platform/server/server-adapter.js +2 -0
  569. package/build/service/architecture/platform/server/server-adapter.js.map +1 -0
  570. package/build/service/architecture/platform/server/server.d.ts +97 -0
  571. package/build/service/architecture/platform/server/server.d.ts.map +1 -0
  572. package/build/service/architecture/platform/server/server.js +219 -0
  573. package/build/service/architecture/platform/server/server.js.map +1 -0
  574. package/build/service/architecture/platform/service.d.ts +24 -0
  575. package/build/service/architecture/platform/service.d.ts.map +1 -0
  576. package/build/service/architecture/platform/service.js +40 -0
  577. package/build/service/architecture/platform/service.js.map +1 -0
  578. package/build/service/index.d.ts +2 -0
  579. package/build/service/index.d.ts.map +1 -0
  580. package/build/service/index.js +2 -0
  581. package/build/service/index.js.map +1 -0
  582. package/build/test/tsconfig.tsbuildinfo +1 -0
  583. package/build/utils/base64.d.ts +3 -0
  584. package/build/utils/base64.d.ts.map +1 -0
  585. package/build/utils/base64.js +7 -0
  586. package/build/utils/base64.js.map +1 -0
  587. package/build/utils/hmac.d.ts +2 -0
  588. package/build/utils/hmac.d.ts.map +1 -0
  589. package/build/utils/hmac.js +7 -0
  590. package/build/utils/hmac.js.map +1 -0
  591. package/build/utils/index.d.ts +3 -0
  592. package/build/utils/index.d.ts.map +1 -0
  593. package/build/utils/index.js +3 -0
  594. package/build/utils/index.js.map +1 -0
  595. package/package.json +66 -26
  596. package/src/configuration/app-config.ts +24 -0
  597. package/src/configuration/index.ts +20 -0
  598. package/src/configuration/loader-factory.ts +1 -0
  599. package/src/configuration/loader.ts +70 -0
  600. package/src/configuration/loaders/index.ts +2 -0
  601. package/src/configuration/loaders/json-loader.ts +32 -0
  602. package/src/configuration/loaders/yaml-loader.ts +32 -0
  603. package/src/configuration/types.ts +32 -0
  604. package/src/configuration/validation.ts +50 -0
  605. package/src/dependency-injection/container.ts +92 -0
  606. package/src/dependency-injection/index.ts +1 -0
  607. package/src/error/custom.ts +52 -1
  608. package/src/examples/index.ts +2 -0
  609. package/src/examples/providers/filesystem-provider.ts +198 -0
  610. package/src/examples/providers/index.ts +6 -0
  611. package/src/examples/providers/process-provider.ts +150 -0
  612. package/src/examples/repositories/index.ts +3 -0
  613. package/src/examples/repositories/sqlite-repository.ts +170 -0
  614. package/src/index.ts +29 -2
  615. package/src/locales/en.json +1 -9
  616. package/src/locales/fr.json +1 -9
  617. package/src/localization/adapters/index.ts +90 -0
  618. package/src/localization/index.ts +16 -0
  619. package/src/localization/locales/en.json +9 -0
  620. package/src/localization/locales/es.json +9 -0
  621. package/src/localization/localization.ts +222 -0
  622. package/src/localization/types.ts +110 -0
  623. package/src/localization/validation.ts +43 -0
  624. package/src/logs/adapters/console-adapter.ts +90 -0
  625. package/src/logs/adapters/pino-adapter.ts +65 -0
  626. package/src/logs/config.ts +53 -0
  627. package/src/logs/index.ts +16 -0
  628. package/src/logs/logger.ts +66 -0
  629. package/src/logs/types.ts +44 -0
  630. package/src/runtime/detector.ts +61 -0
  631. package/src/runtime/index.ts +2 -0
  632. package/src/runtime/types.ts +18 -0
  633. package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/abstract.ts +8 -7
  634. package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/post-route-handler.ts +3 -1
  635. package/src/service/architecture/domain/domain.ts +36 -0
  636. package/src/service/architecture/domain/index.ts +2 -0
  637. package/src/service/architecture/domain/provider.ts +9 -0
  638. package/src/service/architecture/infrastructure/index.ts +48 -0
  639. package/src/service/architecture/infrastructure/orm/adapters/mongoose-adapter.ts +134 -0
  640. package/src/service/architecture/infrastructure/orm/adapters/sequelize-adapter.ts +75 -0
  641. package/src/service/architecture/infrastructure/orm/index.ts +2 -0
  642. package/src/service/architecture/infrastructure/repositories/abstract.ts +105 -0
  643. package/src/service/architecture/infrastructure/repositories/types.ts +125 -0
  644. package/src/service/architecture/infrastructure/repository-interface.ts +35 -0
  645. package/src/service/architecture/infrastructure/repository.ts +75 -0
  646. package/src/service/architecture/platform/index.ts +5 -0
  647. package/src/service/architecture/platform/page/index.ts +1 -0
  648. package/src/service/architecture/platform/page/page.ts +52 -0
  649. package/src/service/architecture/platform/server/adapters/express-adapter.ts +112 -0
  650. package/src/service/architecture/platform/server/adapters/fastify-adapter.ts +61 -0
  651. package/src/service/architecture/platform/server/adapters/index.ts +2 -0
  652. package/src/service/architecture/platform/server/index.ts +1 -0
  653. package/src/service/architecture/platform/server/server-adapter.ts +23 -0
  654. package/src/{micro-service/architecture/platform/service/service.ts → service/architecture/platform/server/server.ts} +73 -90
  655. package/src/service/architecture/platform/service.ts +63 -0
  656. package/context.yaml +0 -151
  657. package/eslint.config.mjs +0 -59
  658. package/guidelines.yaml +0 -74
  659. package/mongodb.yaml +0 -29
  660. package/patterns.yaml +0 -55
  661. package/src/configuration.ts +0 -13
  662. package/src/logs.ts +0 -77
  663. package/src/micro-service/architecture/domain/domain.ts +0 -19
  664. package/src/micro-service/architecture/domain/index.ts +0 -1
  665. package/src/micro-service/architecture/infrastructure/repositories/abstract.ts +0 -90
  666. package/src/micro-service/architecture/infrastructure/repositories/mongoose.ts +0 -124
  667. package/src/micro-service/architecture/infrastructure/repositories/sequelize.ts +0 -70
  668. package/src/micro-service/architecture/infrastructure/repositories/types.ts +0 -69
  669. package/src/micro-service/architecture/platform/index.ts +0 -2
  670. package/src/micro-service/architecture/platform/micro-service.ts +0 -53
  671. package/src/micro-service/architecture/platform/service/index.ts +0 -1
  672. package/start.md +0 -34
  673. package/test/tsconfig.json +0 -9
  674. package/test/unit/helpers/common/common.ts +0 -32
  675. package/test/unit/helpers/common/logger.ts +0 -8
  676. package/test/unit/helpers/database/mongo.ts +0 -77
  677. package/test/unit/lib/global-setup.ts +0 -79
  678. package/test/unit/lib/setup-files.ts +0 -16
  679. package/test/unit/micro-service/architecture/application/application.test.ts +0 -60
  680. package/test/unit/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.test.ts +0 -62
  681. package/test/unit/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.test.ts +0 -38
  682. package/test/unit/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.test.ts +0 -45
  683. package/test/unit/micro-service/architecture/architecture.test.ts +0 -64
  684. package/test/unit/micro-service/architecture/domain/domain.test.ts +0 -35
  685. package/test/unit/micro-service/architecture/infrastructure/infrastructure.test.ts +0 -33
  686. package/test/unit/micro-service/architecture/infrastructure/repositories/abstract.test.ts +0 -86
  687. package/test/unit/micro-service/architecture/platform/micro-service.test.ts +0 -86
  688. package/test/unit/micro-service/architecture/platform/service/service.test.ts +0 -200
  689. package/tsconfig.json +0 -63
  690. package/vite.config.mjs +0 -44
  691. /package/src/{micro-service → service}/architecture/application/application.ts +0 -0
  692. /package/src/{micro-service → service}/architecture/application/entry-points/index.ts +0 -0
  693. /package/src/{micro-service → service}/architecture/application/entry-points/rest/common/handler.ts +0 -0
  694. /package/src/{micro-service → service}/architecture/application/entry-points/rest/common/index.ts +0 -0
  695. /package/src/{micro-service → service}/architecture/application/entry-points/rest/common/request.ts +0 -0
  696. /package/src/{micro-service → service}/architecture/application/entry-points/rest/hook-handlers/hook-handler.ts +0 -0
  697. /package/src/{micro-service → service}/architecture/application/entry-points/rest/hook-handlers/index.ts +0 -0
  698. /package/src/{micro-service → service}/architecture/application/entry-points/rest/index.ts +0 -0
  699. /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/generics.ts +0 -0
  700. /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/get-route-handler.ts +0 -0
  701. /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/index.ts +0 -0
  702. /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/route-handler.ts +0 -0
  703. /package/src/{micro-service → service}/architecture/application/index.ts +0 -0
  704. /package/src/{micro-service → service}/architecture/architecture.ts +0 -0
  705. /package/src/{micro-service → service}/architecture/index.ts +0 -0
  706. /package/src/{micro-service → service}/architecture/infrastructure/infrastructure.ts +0 -0
  707. /package/src/{micro-service → service}/architecture/infrastructure/repositories/index.ts +0 -0
  708. /package/src/{micro-service → service}/index.ts +0 -0
package/README.md CHANGED
@@ -1,295 +1,364 @@
1
- # Zacatl Microservice Framework
1
+ # Zacatl Framework
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@sentzunhat/zacatl.svg)](https://www.npmjs.com/package/@sentzunhat/zacatl)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@sentzunhat/zacatl.svg)](https://www.npmjs.com/package/@sentzunhat/zacatl)
4
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
- [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](https://www.typescriptlang.org/)
6
+ [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-3178c6.svg)](https://www.typescriptlang.org/)
7
+ [![Node.js 24+](https://img.shields.io/badge/Node.js-24%2B-brightgreen.svg)](https://nodejs.org/)
8
+ [![Tests: 161](https://img.shields.io/badge/Tests-161-blue.svg)](#testing)
9
+ [![Coverage: 79%](https://img.shields.io/badge/Coverage-79%25-brightgreen.svg)](#testing)
6
10
 
7
- A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.
11
+ **Production-ready TypeScript framework for building scalable microservices, APIs, and distributed systems.**
8
12
 
9
- ## Table of Contents
13
+ Zacatl enforces clean, layered architecture with dependency injection, validation, and comprehensive error handling—designed for both human developers and AI agents to collaborate effectively.
10
14
 
11
- - [Overview](#overview)
12
- - [Key Features](#key-features)
13
- - [Installation](#installation)
14
- - [Quick Start](#quick-start)
15
- - [Project Structure](#project-structure)
16
- - [Core Concepts](#core-concepts)
17
- - [Configuration](#configuration)
18
- - [Testing](#testing)
19
- - [Contributing](#contributing)
20
- - [Documentation](#documentation)
21
- - [License](#license)
15
+ ## ✨ Key Features
22
16
 
23
- ## Overview
17
+ - **🏗️ Layered/Hexagonal Architecture** - Clean separation with Application, Domain, Infrastructure, and Platform layers
18
+ - **💉 Dependency Injection** - Built-in DI container using `tsyringe`
19
+ - **✅ Type-Safe Validation** - Full Zod schema support for requests/responses
20
+ - **🛡️ Structured Error Handling** - 7 custom error types with correlation IDs
21
+ - **🗄️ Pluggable ORM Adapters** - Sequelize, Mongoose, or build your own
22
+ - **🌐 Multi-Language Support** - Pluggable i18n with filesystem/memory adapters
23
+ - **🔌 Adapter Pattern** - Easy integration with any database or service
24
+ - **🧪 Comprehensive Testing** - 161 tests, 79% coverage, Vitest
25
+ - **⚡ Runtime Detection** - Works with Node.js 22+ and Bun
26
+ - **📝 Production Ready** - Structured logging, monitoring, and error tracking
24
27
 
25
- Zacatl is a TypeScript-first microservice framework that enforces clean, layered (hexagonal) architecture with strict separation of concerns. It's designed for rapid development of robust APIs and distributed systems, with built-in support for dependency injection, validation, and seamless collaboration between human and AI contributors.
28
+ ## 📖 Documentation
26
29
 
27
- ## Key Features
30
+ - **[Full Documentation Index](./docs/INDEX.md)** - Complete guide and reference
31
+ - **[5-Minute Quick Start](./docs/getting-started/quickstart-5min.md)** - Get up and running fast
32
+ - **[Framework Overview](./docs/architecture/framework-overview.md)** - Architecture and concepts
33
+ - **[Installation Guide](./docs/getting-started/INSTALLATION.md)** - Setup instructions
34
+ - **[Testing Guide](./docs/testing/README.md)** - How to test your services
35
+ - **[Examples](./docs/examples/README.md)** - Practical patterns
36
+ - **[API Reference](./docs/api/README.md)** - Core APIs
28
37
 
29
- - **🏗️ Layered Architecture**: Clean separation with Application, Domain, Infrastructure, and Platform layers
30
- - **💉 Dependency Injection**: Built-in DI container using `tsyringe` for better modularity
31
- - **⚡ High Performance**: Built on Fastify for maximum speed and efficiency
32
- - **🔍 Type Safety**: Full TypeScript support with strict typing and generics
33
- - **✅ Validation**: Request/response validation using Zod schemas
34
- - **🧪 Testing**: Comprehensive testing with Vitest and clear test structure
35
- - **📊 MongoDB Support**: Built-in repository pattern with Mongoose integration
36
- - **🌐 Internationalization**: Multi-language support with i18n
37
- - **🚀 Production Ready**: Error handling, logging, and monitoring built-in
38
+ ## Ethical Use (Non-binding)
38
39
 
39
- ## Installation
40
+ Zacatl is MIT-licensed (permissive). Please don’t use it to harm people.
40
41
 
41
- Install Zacatl using npm:
42
+ ## 🚀 Quick Start
42
43
 
43
- ```bash
44
- npm install @sentzunhat/zacatl
45
- ```
46
-
47
- Or with yarn:
44
+ ### Install
48
45
 
49
46
  ```bash
50
- yarn add @sentzunhat/zacatl
47
+ npm install @sentzunhat/zacatl
51
48
  ```
52
49
 
53
- ## Quick Start
54
-
55
- Here's a minimal example to get you started:
50
+ ### Hello World HTTP Service
56
51
 
57
52
  ```typescript
58
53
  import Fastify from "fastify";
59
- import { MicroService } from "@sentzunhat/zacatl";
54
+ import { Service } from "@sentzunhat/zacatl";
60
55
 
61
- const fastifyApp = Fastify();
56
+ const fastify = Fastify();
62
57
 
63
- const microservice = new MicroService({
58
+ const service = new Service({
64
59
  architecture: {
65
60
  application: {
66
- entryPoints: {
67
- rest: {
68
- hookHandlers: [], // Add hook handler classes
69
- routeHandlers: [], // Add route handler classes
70
- },
71
- },
61
+ entryPoints: { rest: { hookHandlers: [], routeHandlers: [] } },
72
62
  },
73
- domain: { providers: [] }, // Add domain provider classes
74
- infrastructure: { repositories: [] }, // Add repository classes
75
- service: {
76
- name: "my-service",
77
- server: {
78
- type: "SERVER",
79
- vendor: "FASTIFY",
80
- instance: fastifyApp,
81
- },
82
- databases: [
83
- // Example for MongoDB:
84
- // {
85
- // vendor: "MONGOOSE",
86
- // instance: new Mongoose(),
87
- // connectionString: "mongodb://localhost/mydb",
88
- // }
89
- ],
63
+ domain: { providers: [] },
64
+ infrastructure: { repositories: [] },
65
+ server: {
66
+ name: "hello-service",
67
+ server: { type: "SERVER", vendor: "FASTIFY", instance: fastify },
90
68
  },
91
69
  },
92
70
  });
93
71
 
94
- await microservice.start({ port: 9000 });
72
+ await service.start({ port: 3000 });
95
73
  ```
96
74
 
97
- For a complete example with route handlers, see our [examples](./examples) directory.
75
+ ### CLI / Desktop Application
76
+
77
+ ```typescript
78
+ import { Service, resolveDependency } from "@sentzunhat/zacatl";
98
79
 
99
- ## Project Structure
80
+ class MyService {
81
+ doSomething = async () => console.log("Hello from CLI!");
82
+ }
100
83
 
84
+ const service = new Service({
85
+ architecture: {
86
+ domain: { providers: [MyService] },
87
+ },
88
+ });
89
+
90
+ await service.start();
91
+ const myService = resolveDependency<MyService>("MyService");
92
+ await myService.doSomething();
101
93
  ```
102
- src/
103
- ├── configuration.ts # App configuration and environment settings
104
- ├── logs.ts # Structured logging with Pino
105
- ├── optionals.ts # Optional utility types and helpers
106
- ├── error/ # Custom error classes (BadRequest, NotFound, etc.)
107
- ├── locales/ # Internationalization files (en.json, fr.json)
108
- ├── micro-service/
109
- └── architecture/
110
- │ ├── application/ # HTTP entry points, validation, route handlers
111
- ├── domain/ # Business logic, models, services (pure)
112
- │ ├── infrastructure/ # Database repositories, external adapters
113
- └── platform/ # Service orchestration, DI setup, startup
114
- └── utils/ # Utility functions (base64, hmac, etc.)
115
-
116
- test/
117
- └── unit/ # Unit tests mirroring src/ structure
94
+
95
+ ## 🏗️ Architecture Layers
96
+
97
+ Zacatl implements **layered (hexagonal) architecture**:
98
+
99
+ ```
100
+ ┌─────────────────────────────────────────┐
101
+ Application Layer │ HTTP handlers, validation, routes
102
+ ├─────────────────────────────────────────┤
103
+ Domain Layer │ Business logic, services, models
104
+ ├─────────────────────────────────────────┤
105
+ Infrastructure Layer │ Repositories, database adapters
106
+ ├─────────────────────────────────────────┤
107
+ │ Platform Layer │ DI container, service startup
108
+ └─────────────────────────────────────────┘
118
109
  ```
119
110
 
120
- ### Layer Responsibilities
111
+ Each layer has a single responsibility and strict dependencies flow inward.
121
112
 
122
- - **Application Layer**: Handles HTTP requests, validation, and delegates to domain logic
123
- - **Domain Layer**: Contains pure business logic, models, and services (no infrastructure dependencies)
124
- - **Infrastructure Layer**: Manages persistence (MongoDB repositories) and external integrations
125
- - **Platform Layer**: Bootstraps the application, configures DI container, and starts the server
113
+ ## 💾 Database Adapters
126
114
 
127
- ---
115
+ ### Sequelize
128
116
 
129
- ## 3. Core Architectural Concepts
117
+ ```typescript
118
+ import { Sequelize } from "sequelize";
119
+ import { SequelizeAdapter } from "@sentzunhat/zacatl/adapters";
130
120
 
131
- - **Layered (Hexagonal) Architecture:**
132
- - Platform → Application → Domain → Infrastructure
133
- - Strict separation of concerns; each layer has a single responsibility.
134
- - **Error Handling:** All errors extend `CustomError` (see `src/error/`).
135
- - **Validation:** Use `zod` schemas for all request/response validation.
136
- - **Service Registration:** Register handlers/services in the DI container.
121
+ const sequelize = new Sequelize("postgresql://user:pass@localhost/db");
137
122
 
138
- ---
123
+ const service = new Service({
124
+ architecture: {
125
+ server: {
126
+ databases: [
127
+ {
128
+ vendor: "SEQUELIZE",
129
+ instance: sequelize,
130
+ },
131
+ ],
132
+ },
133
+ },
134
+ });
135
+ ```
139
136
 
140
- ## 4. Coding Standards for Humans and AI
137
+ ### MongoDB (Mongoose)
141
138
 
142
- - **Naming:**
143
- - Files/folders: lowercase, hyphens (e.g., `user-repository.ts`)
144
- - Classes: PascalCase
145
- - Functions/variables: camelCase, descriptive
146
- - **Code Style:**
147
- - Clean, modular, and straightforward
148
- - Use strong typing and TypeScript generics
149
- - DRY principle: extract reusable logic
150
- - Minimal comments; use tests to document behavior
151
- - Validate all inputs and sanitize external data
152
- - **AI Patterns:**
153
- - Replicate DI, modularity, and test structure
154
- - Update YAML docs when generating new code
139
+ ```typescript
140
+ import mongoose from "mongoose";
155
141
 
156
- ---
142
+ const service = new Service({
143
+ architecture: {
144
+ server: {
145
+ databases: [
146
+ {
147
+ vendor: "MONGOOSE",
148
+ instance: mongoose,
149
+ connectionString: "mongodb://localhost/mydb",
150
+ },
151
+ ],
152
+ },
153
+ },
154
+ });
155
+ ```
157
156
 
158
- ## 5. Dependency Injection (DI) Details
157
+ ### Custom Repository Pattern
159
158
 
160
- - **DI Container:** All services, repositories, and handlers are registered using `tsyringe`.
161
- - **No direct instantiation:** Always resolve dependencies via DI.
162
- - **AI Registration:** When generating new components, ensure they are registered in the DI container.
159
+ Implement `IRepository<T>` for any database:
163
160
 
164
- ---
161
+ ```typescript
162
+ import { IRepository } from "@sentzunhat/zacatl";
163
+
164
+ class MyRepository<T> implements IRepository<T> {
165
+ findById = async (id: string): Promise<T | null> => {
166
+ /* ... */
167
+ };
168
+ findMany = async (filter: Record<string, unknown>): Promise<T[]> => {
169
+ /* ... */
170
+ };
171
+ create = async (data: T): Promise<T> => {
172
+ /* ... */
173
+ };
174
+ update = async (id: string, data: Partial<T>): Promise<void> => {
175
+ /* ... */
176
+ };
177
+ delete = async (id: string): Promise<void> => {
178
+ /* ... */
179
+ };
180
+ exists = async (id: string): Promise<boolean> => {
181
+ /* ... */
182
+ };
183
+ }
184
+ ```
165
185
 
166
- ## 6. Database Schema & Persistence
186
+ ## 🌐 Internationalization
167
187
 
168
- - **MongoDB schemas:** Define all schemas in `src/micro-service/architecture/infrastructure/repositories/`.
169
- - **Repository pattern:** Extend `BaseRepository` for new collections.
170
- - **Schema best practices:**
171
- - Favor embedding for related data
172
- - Keep schemas minimal and property names concise
173
- - Use references for large or independent data
174
- - See `mongodb.yaml` for full guidelines
188
+ ```typescript
189
+ import { createI18n, FilesystemAdapter } from "@sentzunhat/zacatl";
175
190
 
176
- ---
191
+ const i18n = createI18n();
192
+ const greeting = i18n.t("greeting"); // Loads from src/localization/locales/
177
193
 
178
- ## 7. Error Management and Validation
194
+ await i18n.setLanguage("es");
195
+ const saludo = i18n.t("greeting"); // Translations loaded automatically
196
+ ```
197
+
198
+ Place translation files in `src/localization/locales/`:
179
199
 
180
- - **Error Classes:** All errors extend `CustomError` (see `src/error/`).
181
- - **Throw, don’t return:** Always throw errors for exceptional cases.
182
- - **Validation:** Use `zod` for all request/response validation. Place schemas in the Application layer.
200
+ ```json
201
+ // en.json
202
+ { "greeting": "Hello {{name}}", "errors": { "notFound": "Not found" } }
203
+ ```
204
+
205
+ ```json
206
+ // es.json
207
+ { "greeting": "Hola {{name}}", "errors": { "notFound": "No encontrado" } }
208
+ ```
183
209
 
184
- ---
210
+ ## ✅ Validation with Zod
185
211
 
186
- ## 8. Testing Philosophy and Setup
212
+ ```typescript
213
+ import { z } from "zod";
214
+ import { loadConfig } from "@sentzunhat/zacatl";
215
+
216
+ const AppConfigSchema = z.object({
217
+ server: z.object({
218
+ port: z.number().min(1).max(65535),
219
+ host: z.string(),
220
+ }),
221
+ logLevel: z.enum(["debug", "info", "warn", "error"]).default("info"),
222
+ });
187
223
 
188
- - **Framework:** Use `vitest` for all tests.
189
- - **Structure:** Place tests in `test/unit/`, mirroring the `src/` structure.
190
- - **Mocking:** Mock all external dependencies (DB, services) in tests.
191
- - **AI Testing:** When generating new logic, always add or update tests.
224
+ const config = loadConfig("./config/app.yaml", "yaml", AppConfigSchema);
225
+ ```
192
226
 
193
- ---
227
+ ## 🛡️ Error Handling
194
228
 
195
- ## 9. Minimal Usage Example
229
+ Zacatl includes 7 custom error types with built-in correlation IDs:
196
230
 
197
231
  ```typescript
198
- import Fastify from "fastify";
199
- import { MicroService } from "@sentzunhat/zacatl";
232
+ import {
233
+ BadRequestError,
234
+ NotFoundError,
235
+ UnauthorizedError,
236
+ ForbiddenError,
237
+ ValidationError,
238
+ InternalServerError,
239
+ BadResourceError,
240
+ } from "@sentzunhat/zacatl";
241
+
242
+ throw new ValidationError("Email is required");
243
+ throw new NotFoundError("User not found", { userId: 123 });
244
+ ```
200
245
 
201
- const fastifyApp = Fastify();
246
+ ## 🧪 Testing
202
247
 
203
- const microservice = new MicroService({
204
- architecture: {
205
- application: {
206
- entryPoints: {
207
- rest: {
208
- hookHandlers: [], // Add hook handler classes
209
- routeHandlers: [], // Add route handler classes
210
- },
211
- },
212
- },
213
- domain: { providers: [] }, // Add domain provider classes
214
- infrastructure: { repositories: [] }, // Add repository classes
215
- service: {
216
- name: "my-service",
217
- server: {
218
- type: "SERVER",
219
- vendor: "FASTIFY",
220
- instance: fastifyApp,
221
- },
222
- databases: [
223
- // Example for MongoDB:
224
- // {
225
- // vendor: "MONGOOSE",
226
- // instance: new Mongoose(),
227
- // connectionString: "mongodb://localhost/mydb",
228
- // }
229
- ],
230
- },
231
- },
248
+ Zacatl comes with **161 passing tests** and **79% coverage**:
249
+
250
+ ```bash
251
+ npm test # Run all tests
252
+ npm run test:watch # Watch mode
253
+ npm run test:coverage # Coverage report
254
+ ```
255
+
256
+ Example test with mocking:
257
+
258
+ ```typescript
259
+ import { describe, it, expect, vi } from "vitest";
260
+
261
+ describe("UserService", () => {
262
+ it("should create a user", async () => {
263
+ const mockRepo = { create: vi.fn().mockResolvedValue({ id: "1" }) };
264
+ const service = new UserService(mockRepo as any);
265
+
266
+ const result = await service.createUser({ name: "John" });
267
+
268
+ expect(result.id).toBe("1");
269
+ expect(mockRepo.create).toHaveBeenCalledOnce();
270
+ });
232
271
  });
272
+ ```
273
+
274
+ ## 🔍 Runtime Detection
275
+
276
+ Check which runtime you're using:
233
277
 
234
- await microservice.start({ port: 9000 });
278
+ ```typescript
279
+ import {
280
+ detectRuntime,
281
+ isBun,
282
+ isNode,
283
+ getRuntimeType,
284
+ getRuntimeVersion,
285
+ } from "@sentzunhat/zacatl";
286
+
287
+ const runtime = detectRuntime();
288
+ console.log(runtime.type); // "node" | "bun" | "unknown"
289
+ console.log(runtime.version); // "22.11.0"
290
+
291
+ if (isNode()) {
292
+ // Node.js specific code
293
+ }
235
294
  ```
236
295
 
237
- ---
296
+ ## 📦 What's Included
238
297
 
239
- ## 10. Configuration and Environment Variables
298
+ ```
299
+ src/
300
+ ├── service/architecture/ # Core framework
301
+ │ ├── application/ # HTTP handlers, validation
302
+ │ ├── domain/ # Business logic
303
+ │ ├── infrastructure/ # Repositories, adapters
304
+ │ └── platform/ # DI setup, server startup
305
+ ├── configuration/ # Config loading & validation
306
+ ├── error/ # 7 custom error types
307
+ ├── localization/ # i18n with adapters
308
+ ├── logs/ # Pino logging
309
+ └── utils/ # Runtime detection, base64, HMAC
310
+ ```
240
311
 
241
- - **Localization:** Place locale JSON files in `src/locales/` (e.g., `en.json`)
242
- - **Environment Variables:**
243
- - `SERVICE_NAME` - Service name
244
- - `NODE_ENV` - Environment (development, production, test)
245
- - `CONNECTION_STRING` - Database connection string
312
+ ## 🛠️ Development
246
313
 
247
- ---
314
+ ### Building
248
315
 
249
- ## 11. Extending the Codebase (for Humans & AI)
316
+ ```bash
317
+ npm run build # Compile TypeScript to build/
318
+ npm run build:watch # Watch mode
319
+ ```
250
320
 
251
- - Add new features by creating new handlers, services, or repositories in the appropriate layer.
252
- - Register all new classes in the DI container.
253
- - Write tests for all new logic.
254
- - Update YAML docs (`context.yaml`, `guidelines.yaml`, `patterns.yaml`, `mongodb.yaml`) with new patterns or conventions.
321
+ ### Code Quality
255
322
 
256
- ---
323
+ ```bash
324
+ npm run lint # Run ESLint
325
+ npm run type:check # TypeScript checking
326
+ ```
257
327
 
258
- ## 12. Documentation References
328
+ ## 📋 Requirements
259
329
 
260
- - [`context.yaml`](./context.yaml): Architecture, components, and project context
261
- - [`guidelines.yaml`](./guidelines.yaml): Coding standards and best practices
262
- - [`patterns.yaml`](./patterns.yaml): Design and usage patterns
263
- - [`mongodb.yaml`](./mongodb.yaml): MongoDB schema guidelines
330
+ - **Node.js**: 24.0.0 or higher (LTS)
331
+ - **npm**: 10.0.0 or higher (bundled with Node 24)
332
+ - **TypeScript**: 5.9+ (we use 5.9.3)
264
333
 
265
- ---
334
+ Optional:
266
335
 
267
- ## 13. Contributing Workflow
336
+ - **Bun**: Latest for fast package management (development only)
268
337
 
269
- ### For Humans
338
+ ## 📄 License
270
339
 
271
- 1. Fork the repository
272
- 2. Create your feature branch: `git checkout -b feature/amazing-feature`
273
- 3. Commit your changes: `git commit -m 'Add some amazing feature'`
274
- 4. Push to the branch: `git push origin feature/amazing-feature`
275
- 5. Open a Pull Request
276
- 6. Ensure all tests pass and docs are updated
340
+ [MIT License](./LICENSE) © 2025 Sentzunhat
277
341
 
278
- ### For AI Agents
342
+ ## 🤝 Contributing
279
343
 
280
- - Parse YAML docs for context and conventions
281
- - Register new code in the DI container
282
- - Add or update tests in `test/unit/`
283
- - Update YAML docs with new features or patterns
344
+ 1. Fork the repository
345
+ 2. Create a feature branch: `git checkout -b feature/amazing-feature`
346
+ 3. Add tests for your changes
347
+ 4. Update documentation
348
+ 5. Commit: `git commit -m 'Add amazing feature'`
349
+ 6. Push: `git push origin feature/amazing-feature`
350
+ 7. Open a Pull Request
284
351
 
285
- ---
352
+ ## 📞 Support
286
353
 
287
- ## 14. License and Maintainers
354
+ - 📖 [Documentation](./docs/INDEX.md)
355
+ - 🐛 [Issue Tracker](https://github.com/sentzunhat/zacatl/issues)
356
+ - 💬 [Discussions](https://github.com/sentzunhat/zacatl/discussions)
288
357
 
289
- - **License:** MIT License © 2025 Sentzunhat
290
- - **Maintainer:** Diego Beltran ([LinkedIn](https://www.linkedin.com/in/diego-beltran))
291
- - **Project URL:** [GitHub](https://github.com/sentzunhat/zacatl)
358
+ ## 🙋 About
292
359
 
293
- ---
360
+ Zacatl is built for developers who value clean architecture, type safety, and test-driven development. It's equally useful for humans and AI agents building production services.
294
361
 
295
- _For all details, see the YAML documentation files above. Zacatl is designed for seamless collaboration between humans and AI agents._
362
+ **Created by**: [Diego Beltran](https://www.linkedin.com/in/diego-beltran)
363
+ **Repository**: https://github.com/sentzunhat/zacatl
364
+ **npm**: https://www.npmjs.com/package/@sentzunhat/zacatl
@@ -0,0 +1,2 @@
1
+ export * from "../service/architecture";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"./src/","sources":["architecture/index.ts"],"names":[],"mappings":"AAMA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "../service/architecture";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"./src/","sources":["architecture/index.ts"],"names":[],"mappings":"AAMA,cAAc,yBAAyB,CAAC","sourcesContent":["/**\n * Core Architecture Module\n *\n * This entry point exposes the hexagonal architecture components (Application, Domain, Infrastructure).\n * Provides a cleaner import path for service architecture.\n */\nexport * from \"../service/architecture\";\n"]}
@@ -0,0 +1,10 @@
1
+ type ConfigInput = {
2
+ SERVICE_NAME: string;
3
+ NODE_ENV: string;
4
+ APP_VERSION: string;
5
+ APP_ENV: string;
6
+ CONNECTION_STRING: string;
7
+ };
8
+ export declare const getConfigOrThrow: <T>(name: keyof ConfigInput) => T;
9
+ export {};
10
+ //# sourceMappingURL=app-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-config.d.ts","sourceRoot":"./src/","sources":["configuration/app-config.ts"],"names":[],"mappings":"AAOA,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAQF,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,MAAM,MAAM,WAAW,KAAG,CAE7D,CAAC"}
@@ -0,0 +1,5 @@
1
+ import config from "config";
2
+ export const getConfigOrThrow = (name) => {
3
+ return config.get(name);
4
+ };
5
+ //# sourceMappingURL=app-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-config.js","sourceRoot":"./src/","sources":["configuration/app-config.ts"],"names":[],"mappings":"AAKA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAgB5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAI,IAAuB,EAAK,EAAE;IAChE,OAAO,MAAM,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC","sourcesContent":["/**\n * Application-wide configuration via node-config\n * Loads from config/ directory with environment-specific overrides\n */\n\nimport config from \"config\";\n\ntype ConfigInput = {\n SERVICE_NAME: string;\n NODE_ENV: string;\n APP_VERSION: string;\n APP_ENV: string;\n CONNECTION_STRING: string;\n};\n\n/**\n * Get application configuration value from node-config\n * Reads from config/default.{json,yaml} + config/{NODE_ENV}.{json,yaml}\n * @param name - Configuration key\n * @returns Configuration value\n */\nexport const getConfigOrThrow = <T>(name: keyof ConfigInput): T => {\n return config.get<T>(name);\n};\n"]}
@@ -0,0 +1,7 @@
1
+ export type { ConfigFormat, ConfigLoader, LoadedConfig } from "./types";
2
+ export { JSONLoader, createJSONLoader } from "./loaders/json-loader";
3
+ export { YAMLLoader, createYAMLLoader } from "./loaders/yaml-loader";
4
+ export { getLoader, loadConfig, loadConfigFromPaths } from "./loader";
5
+ export { validateConfig, validateLoadedConfig, safeValidateConfig, } from "./validation";
6
+ export { getConfigOrThrow } from "./app-config";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"./src/","sources":["configuration/index.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { JSONLoader, createJSONLoader } from "./loaders/json-loader";
2
+ export { YAMLLoader, createYAMLLoader } from "./loaders/yaml-loader";
3
+ export { getLoader, loadConfig, loadConfigFromPaths } from "./loader";
4
+ export { validateConfig, validateLoadedConfig, safeValidateConfig, } from "./validation";
5
+ export { getConfigOrThrow } from "./app-config";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"./src/","sources":["configuration/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC","sourcesContent":["/**\n * Configuration module\n * Provides explicit YAML and JSON config loaders + legacy node-config wrapper\n */\n\nexport type { ConfigFormat, ConfigLoader, LoadedConfig } from \"./types\";\n\nexport { JSONLoader, createJSONLoader } from \"./loaders/json-loader\";\nexport { YAMLLoader, createYAMLLoader } from \"./loaders/yaml-loader\";\n\nexport { getLoader, loadConfig, loadConfigFromPaths } from \"./loader\";\n\nexport {\n validateConfig,\n validateLoadedConfig,\n safeValidateConfig,\n} from \"./validation\";\n\n// Application-wide configuration (via node-config)\nexport { getConfigOrThrow } from \"./app-config\";\n"]}
@@ -0,0 +1,10 @@
1
+ type ConfigInput = {
2
+ SERVICE_NAME: string;
3
+ NODE_ENV: string;
4
+ APP_VERSION: string;
5
+ APP_ENV: string;
6
+ CONNECTION_STRING: string;
7
+ };
8
+ export declare const getConfigOrThrow: <T>(name: keyof ConfigInput) => T;
9
+ export {};
10
+ //# sourceMappingURL=legacy.d.ts.map